分布式数据库
youling_lh
这个作者很懒,什么都没留下…
展开
-
LSM-Tree (BigTable 的理论模型)
Google的BigTable架构在分布式结构化存储方面大名鼎鼎,其中的MergeDump模型在读写之间找到了一个较好的平衡点,很好的解决了web scale数据的读写问题。 MergeDump的理论基础是LSM-Tree (Log-Structured Merge-Tree), 原文见:LSM Tree 下面先说一下LSM-Tree的基本思想,再记录下读文章的几点感受。 L转载 2013-08-22 23:44:06 · 688 阅读 · 0 评论 -
简单的Vector Clock
上一篇文章中说过Dynamo为了解决数据一致性问题使用了Vector Clock。基本思想就是对同一份数据的每一次修改都加上的标签。在搜索相关资料的时候发现了另一个有意思的项目,Riak。Riak可以说是一个类Dynamo的Erlang实现,更多相关介绍可以参考下边链接。本文来自Riak主页上的一篇blog,简单介绍Vector Clock以及在Riak中的使用。虽然名为“简单的Vector Cl转载 2013-08-29 22:50:35 · 984 阅读 · 0 评论 -
Google Spanner原理- 全球级的分布式数据库
Google Spanner简介 Spanner 是Google的全球级的分布式数据库 (Globally-Distributed Database) 。Spanner的扩展性达到了令人咋舌的全球级,可以扩展到数百万的机器,数已百计的数据中心,上万亿的行。更给力的是,除了夸张的扩展性之外,他还能同时通过同步复制和多版本来满足外部一致性,可用性也是很好的。冲破CAP的枷锁,在三者之间完美平衡。转载 2013-08-21 00:29:12 · 950 阅读 · 0 评论 -
一种可以避免数据迁移的分库分表scale-out扩容方式
一种可以避免数据迁移的分库分表scale-out扩容方式 目前绝大多数应用采取的两种分库分表规则 mod方式 dayofweek系列日期方式(所有星期1的数据在一个库/表,或所有?月份的数据在一个库表) 这两种方式有个本质的特点,就是离散性加周期性。 例如以一个表的主键对3取余数的方式分库或分表: 那么随着数据量的增大,每个表或库的数据量都是各自增长。当转载 2013-09-29 00:02:27 · 860 阅读 · 0 评论 -
开源数据库 Sharding 技术 (Share Nothing)
从 Shard 到 Sharding “Shard” 这个词英文的意思是”碎片”,而作为数据库相关的技术用语,似乎最早见于大型多人在线角色扮演游戏(MMORPG)中。”Sharding” 姑且称之为”分片”。 Sharding 不是一门新技术,而是一个相对简朴的软件理念。如您所知,MySQL 5 之后才有了数据表分区功能,那么在此之前,很多 MySQL 的潜在用户都对 MySQL 的扩转载 2013-09-26 23:28:42 · 913 阅读 · 0 评论 -
NoSQL数据库笔谈
颜开 , v0.2 , 2010.2 序思想篇 CAP最终一致性 变体 BASE其他 I/O的五分钟法则不要删除数据RAM是硬盘,硬盘是磁带Amdahl定律和Gustafson定律万兆以太网 手段篇 一致性哈希 亚马逊的现状算法的选择 Quorum NRWVector clockVirtual nodegossip Gossip (State转载 2013-09-28 10:12:48 · 2179 阅读 · 2 评论 -
Java应用运维
对于互联网产品或长期运行的产品而言,运维工作非常重要,尤其是在产品复杂了以后,在这篇blog中就来说下Java应用的运维工作(ps:虽然看起来各种语言做的系统的运维工作都差不多,但细节上还是会有很多不同,so本文还是只讲Java的)。 苦逼的码农按照需求开发好了一个全新的Java Web应用,该发布上线给用户用了,要把一个Java Web应用发布上线,首先需要搭建运行的环境,运行的环境需要有转载 2013-11-18 21:52:41 · 1325 阅读 · 0 评论