Survey on Nosql database笔记
新型应用对数据库的新要求
-高并发性的读写请求下的低延时
-有效的大数据存储和存取需求(pb级别)
-高扩展性和高可用性
-更小的管理和操作花费
传统关系型数据库的限制
-由于关系型数据库的逻辑复杂性,使得随着数据大小增大,有很多的死锁或者并发问题出现,使得读写速度下降
-容量限制,传统数据库无法处理大数据
-多表关联的机制使得数据库扩展十分困难
nosql数据库的特征
-读写迅速
-支持大容量存储
-易于扩展
-低花费
不支持工业标准的sql
缺少事务机制
nosql数据库的数据模型
-key-value:值与键绑定
-面向列的数据:1.数据按照列进行存储。2.数据的每一列都是数据库的索引。etc
-文档数据库:文档数据库的值都是有语义的,并且以json活着xml格式存储。
cap理论
分布式数据库不能同时满足这三个原则,只能满足其中的两个
-满足cp的数据库:mongodb,redis,hbase,bigtable等。
-满足ap的数据库:simpledb,kai等
-满足ca的数据:一般就是传统的关系型数据库,vetica(column-oriented)数据。
主流nosql数据库
-key-value:redis,内存数据库,数据库实例运行时,数据被完全读入到内存中,所以速度非常快。Tokyo Cabinet- Tokyo Tyrant ,多线程的高性能读写,同时保证可靠性。
-面向列存储的数据库:尽管没有推翻传统数据库以行存储的特点,但是列数据库也是高性能的。Cassandra:facebook的开源分布式数据库。Hypertable。
-文档数据库:不关心高性能的读写操作,但是满足大量的数据存储和好的查询性能。mongodb:最像传统关系型数据库的nosql数据库。couchdb:使用rest接口,只提供rest接口。
-图数据库:neo4j。