一、传统数据库的缺点:
-
大数据场景下 I/O 较高
-
存储的是行记录,无法存储数据结构
-
表结构 Schema 扩展不方便
-
全文搜索功能较弱
-
存储和处理复杂关系型数据功能较弱
二、NoSQL针对关系型数据库解决方案:
1、列式数据库
hbase:apache
BigTable:google
2、K-V 数据库
redis
cassandra
levelDB
3、文档数据库
MongoDB
CouchDB
4、全文搜索引擎
Elasticsearch
Solr
Lucene
5、图形数据库
Neo4j
ArangoDB
Titan
三、常见软件系统数据库选型参考如下:
-
内部使用的管理型系统,如运营系统,数据量少,并发量小,首选考虑关系型。
-
大流量系统,如电商单品页,后台考虑选关系型,前台考虑选内存型。
-
日志型系统,原始数据考虑选列式,日志搜索考虑选倒排索引。
-
搜索型系统,例如站内搜索,非通用搜索,如商品搜索,后台考虑选关系型,前台考虑选倒排索引。
-
事务型系统,如库存,交易,记账,考虑选关系型+缓存+一致性型协议。
-
离线计算,如大量数据分析,考虑选列式或者关系型也可以。
-
实时计算,如实时监控,可以考虑选内存型或者列式数据库。
https://mp.weixin.qq.com/s/nPag5F9O6ALtonXYFoe9mw