数据库技术格局概览-SQL,NoSQL,NewSQL及如何选择数据库

时间:2021-11-13 01:54:51

数据库的选择简单而复杂,简单指的是对于大部分互联网公司MySQL加上缓存就够用了。

复杂指的是快速增长而心存高远的互联网公司对大数据的预期,导致技术人员在数据库技术上的选择颇为犹豫和为难。

而技术变革期所带来的群雄逐鹿,竞相融合的境况,也加大了选择的难度。


即使不是为了应对大数据的问题,作为一个技术管理者,也需要了解数据技术的变迁。


1、首先我们需要知道市场上存在哪些数据库可供选择,这些数据库的分类和基本特征。

451 Research在2012年有一个数据库技术格局图,从中可见数据库产品生态环境之繁杂多变:

数据库技术格局概览-SQL,NoSQL,NewSQL及如何选择数据库

图中数据库分类维度有Operational,Analytic,Relational,Non-relational,NoSQL,NewSQL,Graph,Document,Key-Value等

其中Operational是生产型数据库,Analytic是分析型数据库,详细区别可参阅:

http://ebiz-wiki.com/index.php/Data_Warehouse_vs_Operational_Database


图中MySQL/PostgreSQL是传统关系型数据库的代表。

HBase是Big Tables技术的代表(行索引,列存储)。

Neo4j(http://www.neo4j.org/)是图数据库代表,用来存储复杂、多维度的图结构数据。

Redis是基于Key-Value的NoSQL代表,有Redis-to-go提供存储服务。

MongoDB/CouchDB是基于Document的NoSQL代表,Couchbase是Document/Key-Value技术的融合。

VoltDB是NewSQL的代表,具备数据一致性和良好的扩展性,性能宣称是MySQL的数十倍以上,参阅如下测试数据:

https://forum.voltdb.com/showthread.php?8-VoltDB-tpc-c-like-Benchmark-Comparison-Benchmark-Description


当然MySQL/PostgreSQL的新版本也在内置提供对于Key-Value存储的支持。


2、在作出存储技术选择前,了解一下业务需求,系统架构

3、设定一些技术问题作为评估维度,参考下面的技术演讲和问答:

http://www.infoq.com/presentations/Choosing-NoSQL-NewSQL;jsessionid=05F9C1BE83D9DD1D1326298BC22A297C

http://nosql-database.org/select-the-right-database.html



Compiled by iefreer