一、传统数据管理方法存在的问题
-
不擅长大量数据的写入操作
解决方案:
1)读写分离
问题:更新的数据在两条服务器上会出现数据一致性问题
2)读写分离,且操作匹配,不同的表操作分配给不同的数据库服务器
3)不同的表分配给同的数据库服务器
问题:跨服务器实现join非常困难。 -
不擅长为数据更新时,更新索引、表结构
更新时,需要加锁,数据访问受限制,高并发时性能受影响较大 -
不擅长表结构不固定的应用
更新表结构困难
二、NoSQL定义及特点
-
NoSQL:符合非关系型、分布式、开源和具有水平可扩展能力的下一代数据库,全称:Not Only Sql
-
数据类型包括
1)key-value
2)Graph
3)列族数据
4)文档型数据 -
不提供join操作
-
无模式
-
具有横向可扩展性
-
运行于shared-nothing的计算器集群上
三、NoSQL数据库中的数据一致性
CAP理论
CAP理论: Eric Brewer在2000年提出,是NoSQL数据库的基础■CAP是分布式环境中设计和部署系统要考虑的三个重要的系统需求。
- Consistency (强一致性) :更新操作执行成功后所有的用户都应该读到最新的值
- Availability (可用性) :每一个操作总能在一定的时间返回结果,不会发生错误和超时
- Partition Tolerance (分区容忍性):当网络发生故障时,系统仍能保持响客户的请求
根据CAP理论,数据共享系统只能满足三个特性中的两个,例如RDBMS满足CA,分布式数据库满足CP。