RDBMS关系型数据库的瓶颈:
- 无法应对每秒上万次的读写请求,无法处理大量集中的高并发操作。RDBMS是IO密集型的应用,硬盘IO也变为性能瓶颈。
- 表中存储记录数量有限,横向扩展能力有限,一张表最大有二百多列,纵向数据承受能力也是有限的。 一张表的数据到达百万级,读写的效率就会逐渐的下降。面对海量的数据,必须使用主从复制,分库分表。这样的系 统 架构是难以维护的。大数据查询SQL效率极低,数据量到达一定程度,查询时间会呈指数级别增长。
- 无法简单的通过增加硬件、服务节点提高系统性能。数据整个存储在一个数据库中的。多个服务器没有很好的解决办法,来复制这些数据。
NoSQL的优势:
- 大数据,高性能
- 灵活的数据模型(不需要建表,列,任意加数据)
- 高可用
- 低成本
NoSQL的劣势:
- 无关系,数据之间的联系
- 不支持标准的SQL,没有工人的NoSQL标准
- 没有关系型数据库的约束,大多数也没有索引的概念
- 没有事务,不能依靠事务实现ACID
- 没有丰富的数据类型(数值,日期,字符,二进制,大文本等)