05 2013 档案
摘要:Bigtable研究摘要Bigtable是一个用于管理结构型数据的分布式存储系统,被设计为可扩展到很大规模:通过数以千台的机器存储PB级数据。很多Google的工程都将数据存储在Bigtable中,包括网页索引、Google Earth和Google金融。这些应用在数据量和延迟方面对Bigtable的需求很不相同。尽管这些不尽相同的需求,Bigtable能够成功的为这些Google的产品提供一个弹性的、高性能的解决方案。在这篇文章中,我们描述Bigtable提供的简单的数据模型,它能给客户端在数据布局和格式上提供动态控制,而且我们会描述Bigtable的设计和实现。一、 介绍经过过去两年半的时
阅读全文
摘要:Mongodb的分片+replicaset一、 mongodb的分片分片(shard)是集群中负责数据某一子集的一台或多台服务器。一个分片可由多台服务器组成。分片是指不同的服务器保存不同的数据,它们的数据总和就是整个数据集。为了在分片间均匀地分配数据,MongoDB会在不同分片间移动数据子集。它会根据片键(key)来决定移动哪些数据。1. 分片数据1.1 一分片一区间分片最简单的方式就是每个分片负责存储一个区间段的数据,如用户名由4个分片进行存储,由用户名作为分片的依据那么将是如下情况:图:对用户名数据的分片存储这种方式有一个问题,在数据迁移时,可能会造成级联效应,即如果要将第一分片中的数据均
阅读全文
摘要:MongoDB的分片一、 分片簇综述分片是mongoDB扩展的一种方式。分片分割一个collection并将不同的部分存储在不同的机器上。当一个数据库的collections相对于当前空间过大时,你需要增加一个新的机器。分片会自动的将collection数据分发到新的服务器上。分片自动的均衡数据并在机器间进行负载。分片通过将写操作分发到一定数量的mongod实例上来提供额外的写能力。分片允许用户在工作集中增加潜在数量的数据。 1. 分片分片发生在分片簇中。一个分片簇由一下组件组成:shards:一个分片是一个保存一个collection子集数据的容器。每个分片可以是一个单独的mongod,也.
阅读全文
摘要:MongoDB Replication一、副本集基本概念副本集(replica set)MongoDB的replica set是一个mongod进程实例簇,数据在这个簇中相互复制,并自动进行故障切换。MongoDB的数据库复制增加了冗余,确保了高可用性,简化了管理任务如备份,并且增加了读能力。大多数产品部署都使用了复制。MongoDB中primary处理写操作,其它进行复制的成员则是secondaries。一个副本集可以最多支持12个成员,但是只有7个成员可以参与投票。注:MongoDB同时提供了传统的master/slave复制,这种复制的操作方法与副本集相同,但是master/slave复
阅读全文