背景最近在重读“Dynamo: Amazon’s Highly Available Key-value Store”(经典好文,推荐!),文章4.4 中聊到了Data Version为了提高可用性,Dynamo允许“更新”操作异步的传播到其他副本,当出现多个写事件并发执行时,可能会导致系统中出现多个版本的对象。由于我们无法保证分布式系统中的多个结点的物理时钟是完美同步的,所以通过物理时钟来确定事件...
分类:
其他好文 时间:
2014-10-10 21:35:54
阅读次数:
213
随着大数据的不断发展,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。现今的计算机体系结构在数据存储方面要有庞大的水平扩展性,而NoSQL也正是致力于改变这一现状。目前Google的 BigTable和Amazon 的Dynamo使用的就是NoSQL型数据库,本文介绍了...
分类:
数据库 时间:
2014-08-28 09:36:49
阅读次数:
308
Cassandra 的数据存储结构 Cassandra 的数据模型是基于列族(Column Family)的四维或五维模型。它借鉴了 Amazon 的 Dynamo 和 Google‘s BigTable 的数据结构和功能特点,采用 Memtable 和 SSTable 的方式进行存储...
分类:
其他好文 时间:
2014-08-17 01:14:11
阅读次数:
363
2012年1月18日,Amazon发布了AmazonDynamoDB,一个完全托管的,高性能,高可靠,经济高效的NoSQL数据库。DynamoDB非常适合互联网规模的应用。
DynamoDB数据库融入了亚马逊在大规模非关系型数据库和云计算领域积累的多年丰富经验。早在2007年,亚马逊就曾经发布了一篇论文,深入讨论了Amazon Dynamo使用的设计理念和实现技术,以及如何解决大规模扩展和同时提供高可靠保护的问题。最初的Dynamo设计基于一系列在分布式系统中搭建高可靠、高扩展系统的核心的原则。现在的Ama...
分类:
数据库 时间:
2014-07-29 17:45:22
阅读次数:
304
Riak是以 Erlang
编写的一个高度可扩展的分布式数据存储,Riak的实现是基于Amazon的Dynamo论文,Riak的设计目标之一就是高可用。Riak支持多节点构建的系统,每次读写请求不需要集群内所有节点参与也能胜任。像这样的系统,我们需要版本机制来确定哪个值是最新的。所以就引入了向量时钟...
分类:
其他好文 时间:
2014-06-06 09:16:36
阅读次数:
416
Key-Value存储作为NoSQL存储的一种常见方式,提供了比SQL数据库更好的可扩展性和读写性能。比如当前开源最热门的Memcached和Redis;淘宝的Tair、腾讯的Cmem、Amazon的Dynamo等等,无论是做缓存还是持久存储,均使用内存作为主要存储介质,故内存管理策略就显得尤为重要了,是影响性能的重要因素。
这里从源代码层面对Memcached、Redis和UDC(腾讯以前用的一套KV持久化存储系统)的内存管理策略进行分析,3者的内存管理策略各不相同,其他KV系统也和这3种方法大同小异了。...
分类:
其他好文 时间:
2014-05-11 04:48:13
阅读次数:
387