我的数据库知识图
1. CAP
1.1 一致性
参见: 一致性哈希分布
1.1.1 ACID
1.2 可用性
1.3 分布式
参见: 一致性哈希分布
1.3.1 反模式
1.3.2 多IDC的数据分布设计
1.4 原理
2. 存储方式
2.1 列存
从内存中读取效率很高,但是从磁盘中读取(假设行式数据库的索引在内存中)比行式数据库要慢(开始在Twitter上说比行式快是程序写错了)
2.1.1 wiki
2.1.2 info
含代码
2.1.3 Oracle Exadata
3. 系统监控
3.1 Ganglia
3.2 Twitter系统运维经验
4. Cache
4.1 关于 I/O 的五分钟法则
4.2 Amdahl定律
5. BASE思想
5.1 key-value存储
可根据CAP三原则灵活选择不同倾向的数据库产品
5.1.1 Cassandra
很有研究价值
5.1.2 Memcached
使用预申请和分组的方式管理内存空间,而并不是每次需要写入数据的时候去malloc
5.1.2.1 memcached全面剖析
能了解很多细节
5.1.2.2 利用memcached
5.1.3 CouchDB
CouchDB一种半结构化面向文档的分布式,高容错的数据库系统,其提供RESTFul HTTP/JSON接口。其拥有MVCC特性,用户可以通过自定义Map/Reduce函数生成对应的View。
5.1.4 Amaze Dynamo
5.1.5 beansdb
一个简化版的Dynamo
5.1.6 Tokyo Cabinet
5.1.7 Nuclear
5.1.7.1 功能应用篇
5.1.7.2 原理展望
5.1.8 memcachedb
5.1.8.1 memcachedb的性能测试
5.1.9 dbcached
5.1.10 对比数据
5.1.11 PNUTS
5.1.12 Voldemort
5.2 NoSQL方案
5.2.1 优点
5.2.2 评价
5.2.3 重要资料
5.3 大表
参见: 云计算
5.3.1 BigTale
5.3.2 Hbase
5.3.3 SimpleDB
5.3.4 HadoopDB
5.3.5 GreenPlum
附1. 一致性哈希分布
附2. 云计算
参见: 大表