Mongodb介绍(非原创)

文章大纲

1、什么是nosql
2、mongodb与mysql比较
3、参考文章html

 

1、什么是nosql

1. 简介

这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来讲的优点在于简单、易部署。可是若是DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了mysql

2. NoSQL数据库的四大分类

键值存储数据库
这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来讲的优点在于简单、易部署。可是若是DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。举例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.sql

列存储数据库
这部分数据库一般是用来应对分布式存储的海量数据。键仍然存在,可是它们的特色是指向了多个列。这些列是由列家族来安排的。如:Cassandra, HBase, Riak.mongodb

文档型数据库
文档型数据库的灵感是来自于Lotus Notes办公软件的,并且它同第一种键值存储相相似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,好比JSON。文档型数据库可 以看做是键值数据库的升级版,容许之间嵌套键值。并且文档型数据库比键值数据库的查询效率更高。如:CouchDB, MongoDb. 国内也有文档型数据库SequoiaDB,已经开源。数据库

图形(Graph)数据库
图形结构的数据库同其余行列以及刚性结构的SQL数据库不一样,它是使用灵活的图形模型,而且可以扩展到多个服务器上。NoSQL数据库没有标准的查询语言(SQL),所以进行数据库查询须要制定数据模型。许多NoSQL数据库都有REST式的数据接口或者查询API。如:Neo4J, InfoGrid, Infinite Graph.
所以,咱们总结NoSQL数据库在如下的这几种状况下比较适用:一、数据模型比较简单;二、须要灵活性更强的IT系统;三、对数据库性能要求较高;四、不须要高度的数据一致性;五、对于给定key,比较容易映射复杂值的环境。json

3. 适用场景

(1)数据模型比较简单;
(2)须要灵活性更强的IT系统;
(3)对数据库性能要求较高;
(4)不须要高度的数据一致性;
(5)对于给定key,比较容易映射复杂值的环境服务器

4. NoSQL具体产品种类

(1)Redis
(2)Mongodb
(3)HBase等数据结构

2、mongodb与mysql比较

1. MySQL

关系型数据库。
在不一样的引擎上有不一样 的存储方式。
查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。
开源数据库的份额在不断增长,mysql的份额页在持续增加。
缺点就是在海量数据处理的时候效率会显著变慢。架构

2. Mongodb

非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,便可以存放xml、json、bson类型系那个的数据。这些数据具有自述性(self-describing),呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。
存储方式:虚拟内存+持久化。
查询语句:是独特的Mongodb的查询方式。
适合场景:事件的记录,内容管理或者博客平台等等。
架构特色:能够经过副本集,以及分片来实现高可用。
数据处理:数据是存储在硬盘上的,只不过须要常常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。
成熟度与普遍度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增加。
优点:
快速!在适量级的内存的Mongodb的性能是很是迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快,
高扩展!
自身的Failover机制!
json的存储格式!
缺点:主要是无事物机制!nosql

3、参考文章

    1. https://baike.baidu.com/item/NoSQL/8828247?fr=aladdin
    2. https://blog.csdn.net/qq_38314823/article/details/80903405
    3. https://www.cnblogs.com/printN/p/7199928.html
相关文章
相关标签/搜索