朋友们,我们目前使用最多的数据库,主要是关系型数据库。可您是否知道,NoSQL已经很流行了,如果您再不及早了解一些NoSQL数据库,您可能就要被Out了。

数据库与数据库引擎(数据库大师成长日记)(1)

NoSQL是对不同于传统的关系数据库的数据库管理系统的统称。主要分为键值型、文档型、图形、列存储四大类别,具体请参看下图:

数据库与数据库引擎(数据库大师成长日记)(2)

我们平时经常碰到的MongoDB、Redis就属于NoSQL类型的数据库,如果您看看最新的数据库(主要是关系型和NoSQL)排名,您就能明白NoSQL现在的流行程度了。

当前是NoSQL数据库大爆发的时代

下图是最新的世界范围数据库应用排名榜单的前十名排名,其中第五名的MongoDB和第七名的Redis就是眼下最流行的NoSQL数据库。

数据库与数据库引擎(数据库大师成长日记)(3)

我们再来看看前三十名的榜单,其中的NoSQL数据库也非常多,包括Cassandra、HBase、DynamoDB、Neo4j、Couchbase、Memcached、Azure Cosmos DB等,都是眼下用的比较广泛的NoSQL数据库。

数据库与数据库引擎(数据库大师成长日记)(4)

如果再把榜单扩到前一百、前两百,您更能找到很多没听过名字的NoSQL数据库,她们的排名一直在蹿升中,这真是一个NoSQL爆发的时代。

大部分朋友当前掌握的知识主要是关系型数据库方面的,想要转向NoSQL还是有不少困难的,这里把二者做一个对比,希望可以起到抛砖引玉的作用。

NoSQL和关系型数据库的总体对比

NoSQL重点关注数据扩展性和运行性能,关系型数据库发展了很多年,关注更多的是对结构化SQL的支持以及事务处理等,总体对比请参看下图:

数据库与数据库引擎(数据库大师成长日记)(5)

下面我们以MongoDB为例,进一步对比NoSQL和关系型数据库。

MongoDB比较特殊,她介于NoSQL和关系型之间,本质上属于NoSQL却有很多关系型的优点,比如对查询的支持就比其它NoSQL好的多。

MongoDB与关系型的存储类型对比

MongoDB拥有三大特性,请参看下图:

数据库与数据库引擎(数据库大师成长日记)(6)

除了灵活动态的文档模型、高可用、水平扩展三大特性之外,MongoDB还支持二级索引、动态查询、全文搜索 、聚合框架、MapReduce、GridFS、地理位置索引、内存引擎 、地理分布等一系列的强大功能。

MongoDB是面对文档的NoSQL数据库,其存储格式主要是JSON和BSON格式,BSON比JSON多支持了Date和BinData两种类型,JSON主要用来存储记录、BSON主要存储二进制的document。下图是关系型数据库的存储方式和MongoDB的存储方式的对比:

数据库与数据库引擎(数据库大师成长日记)(7)

下图是关系型和MongoDB数据库存储形式的对应关系:

数据库与数据库引擎(数据库大师成长日记)(8)

下图是关系型数据库和MongoDB的数据结构的进一步对比:

数据库与数据库引擎(数据库大师成长日记)(9)

通过上述对比,相信您对关系型数据库和NoSQL数据的区别和联系有了进一步的了解。这是个NoSQL大爆发的时代,如果您对NoSQL有兴趣,就尽快开启您的NoSQL征途吧!

,