当前位置:首页 > NoSQL数据库学习教程
http://blog.sina.com.cn/mpl398235717
NoSQL数据库学习教程
本文档由http://hitaow.sinaapp.com整理发布。
? ?
序
思想篇
? CAP
? 最终一致性
? 变体
? BASE ? 其他
? I/O的五分钟法则 ? 不要删除数据
? RAM是硬盘,硬盘是磁带
? Amdahl定律和Gustafson定律 ? 万兆以太网
手段篇
? 一致性哈希
? 亚马逊的现状 ? 算法的选择
? Quorum NRW ? Vector clock ? Virtual node ? gossip
? Gossip (State Transfer Model)
? Gossip (Operation Transfer Model)
? Merkle tree ? Paxos
? 背景
? DHT
? Map Reduce Execution ? Handling Deletes ? 存储实现 ? 节点变化 ? 列存
? 描述 ? 特点
软件篇
? 亚数据库
? MemCached
? 特点 ? 内存分配 ? 缓存策略
? 缓存数据库查询
? 数据冗余与故障预防
? Memcached客户端(mc) ? 缓存式的Web应用程序架构 ? 性能测试
? dbcached
? Memcached 和 dbcached 在功能上一样吗?
?
?
http://blog.sina.com.cn/mpl398235717
http://blog.sina.com.cn/mpl398235717
?
? ?
?
?
列存系列
? Hadoop之Hbase
? 耶鲁大学之HadoopDB ? GreenPlum
? FaceBook之Cassandra
? Cassandra特点 ? Keyspace
? Column family(CF) ? Key ? Column
? Super column ? Sorting ? 存储 ? API
? Google之BigTable ? Yahoo之PNUTS
? 特点
? PNUTS实现
? Record-level mastering 记录级别主节点 ? PNUTS的结构
? Tablets寻址与切分 ? Write调用示意图
? PNUTS感悟
? 微软之SQL数据服务 非云服务竞争者 文档存储
? CouchDB
? 特性
? Riak
? MongoDB ? Terrastore ? ThruDB
Key Value / Tuple 存储
? Amazon之SimpleDB ? Chordless ? Redis ? Scalaris
? Tokyo cabinet / Tyrant ? CT.M ? Scalien ? Berkley DB ? MemcacheDB ? Mnesia ? LightCloud ? HamsterDB ? Flare
最终一致性Key Value存储
? Amazon之Dynamo
? 功能特色 ? 架构特色
? BeansDB
http://blog.sina.com.cn/mpl398235717
http://blog.sina.com.cn/mpl398235717
?
?
?
? ? ? 未分类
? Skynet ? Drizzle 比较
? 可扩展性
? 数据和查询模型 ? 持久化设计
? 简介 ? 更新 ? 特性 ? 性能 Nuclear
? 两个设计上的Tips Voldemort Dynomite Kai
?
应用篇
? eBay 架构经验 ? 淘宝架构经验 ? Flickr架构经验 ? Twitter运维经验
? 运维经验
? Metrics ? 配置管理 ? Darkmode ? 进程管理 ? 硬件
? 代码协同经验
? Review制度 ? 部署管理 ? 团队沟通
? Cache
? 云计算架构 ? 反模式
? 单点失败(Single Point of Failure) ? 同步调用
? 不具备回滚能力 ? 不记录日志 ? 无切分的数据库 ? 无切分的应用
? 将伸缩性依赖于第三方厂商
? OLAP
? OLAP报表产品最大的难点在哪里?
? NOSQL们背后的共有原则
? 假设失效是必然发生的 ? 对数据进行分区
? 保存同一数据的多个副本 ? 动态伸缩 ? 查询支持
? 使用 Map/Reduce 处理汇聚
http://blog.sina.com.cn/mpl398235717
http://blog.sina.com.cn/mpl398235717
? ?
?
附
? ? ?
感谢 版本志 引用
基于磁盘的和内存中的实现 仅仅是炒作?
序
日前国内没有一套比较完整的NoSQL数据库资料,有很多先驱整理发表了很多,但不是很系统。不材尝试着将各家的资料整合一下,并书写了一些自己的见解。
本书写了一些目前的NoSql的一些主要技术,算法和思想。同时列举了大量的现有的数据库实例。读完全篇,相信读者会对NoSQL数据库了解个大概。
另外我还准备开发一个开源内存数据库galaxydb.本书也是为这个数据库提供一些架构资料。
思想篇
CAP,BASE和最终一致性是NoSQL数据库存在的三大基石。而五分钟法则是内存数据存储了理论依据。这个是一切的源头。
CAP
? ? ?
C: Consistency 一致性
A: Availability 可用性(指的是快速获取数据)
P: Tolerance of network Partition 分区容忍性(分布式)
10年前,Eric Brewer教授指出了著名的CAP理论,后来Seth Gilbert 和 Nancy lynch两人证明了CAP理论的正确性。CAP理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。
熊掌与鱼不可兼得也。关注的是一致性,那么您就需要处理因为系统不可用而导致的写操作失败的情况,而如果您关注的是可用性,那么您应该知道系统的read操作可能不能精确的读取到write操作写入的最新值。因此系统的关注点不同,相应的采用的策略也是不一样的,只有真正的理解了系统的需求,才有可能利用好CAP理论。
http://blog.sina.com.cn/mpl398235717
共分享92篇相关文档