Google-MegaStore的解读

八月 14th, 2013 by klose | 2 Comments | Filed in 互联网应用, 海量数据存储与处理

MegaStore是Google在BigTable之上实现了一个跨机房高可用的数据库。 它提供了类似DB的数据分布、索引的功能,实现了在EntityGroup内部以及EntityGroup之间的事务性,并且通过Paxos协议实现在DC之间多备份的一致性。 MegaStore的目标:在跨机房PB级的数据规模上,支持交互式在线服务。我们知道在Google内部的访问情况是,每天几百亿次的访问请求的应用,读写比例大概在7:1。在这样的规模上,需要达到的特性: 1)高扩展性,无论在机器扩展性还是数据规模上 2)快速的开发迭代速度, 3)低延迟 4)数据一致性 5)高可用 MegaStore的实现原理: 1)从数据库的扩展性的角度上,把大数据切分成更小粒度的数据集(EG),每个数据库保持一个独立的log,保存在BigTable当中。//这也就意味着在每个DC上有一个独立的BigTable数据库。 2)从可用性角度上讲,在跨机

Tags: , , ,

深入分析HBase RPC(Protobuf)实现机制

八月 2nd, 2013 by klose | No Comments | Filed in 互联网应用, 海量数据存储与处理

背景 在HMaster、RegionServer内部,创建了RpcServer实例,并与Client三者之间实现了Rpc调用,HBase0.95内部引入了Google-Protobuf作为中间数据组织方式,并在Protobuf提供的Rpc接口之上,实现了基于服务的Rpc实现,本文详细阐述了HBase-Rpc实现细节。 HBase的RPC Protocol  在HMaster、RegionServer内部,实现了rpc 多个protocol来完成管理和应用逻辑,具体如下protocol如下: HMaster支持的Rpc协议: MasterMonitorProtocol,Client与Master之间的通信,Master是RpcServer端,主要实现HBase集群监控的目的。 MasterAdminProtocol,Client与Master之间的通信,Master是RpcServer端,主要实现HBase表格的管理。例如TableSchema的更改,Table-Region的迁移、合并、下线(Offline)、上线(Online)以及负载平衡,以及Table的删除、快照等相关功能。 Reg

Tags: