2006年Google公布了自己的BigTable论文,作为Google继GFS和MapReduce两项创新之后的又一项创新,其在设计用来针对海量数据处理情形下的管理结构型数据方面具有着巨大的技术优势。而Hypertable是最知名的基于BigTable为蓝本设计的数据库之一,Hypertable基于C++实现。在过去5年,Hypertable社区一直在致力于努力完善产品。旨在将Hypertable构建成为大数据领域高性能、高扩展性数据库解决方案。
Hypertable构架图:
Hypertable高可用改进架构示意图
Hypertable系统主要包括Hyperspace、Master和Range Server三大组件。
Hyperspace - 是一个锁服务,地位相当于Google的Chubby,主要用于同步、检测节点是否发生故障和存放顶层位置信息。
Master - 主要用于完成任务分配,未来会有负载均衡以及灾后重建(Range Server失效后自动恢复服务)等其他作用。
Range Server- 是Hypertable的实际工作者,主要负责对一个Range中的数据提供服务,此外它还肩负起灾后重建的责任,即重放本地日志恢复自身故障前状态。
另外,还有访问Hypertable的客户端Client等组件。