hypertable 以google的bigtable论文为基础指导,使用c++语言实现的为解决大并发,大数据量的数据库。目前 只支持最基本的查询功能,对于事务,关联查询等都不支持。好处是,可以处理大量并发请求,和管理大量数据。可扩缩性好,扩容只需要增加集群中的机器就行了。任何节点失效,既不会造成系统瘫痪也不会丢失数据。在集群节点足够的情况下,并发量和数据量对性能基本没有影响。
注意:Hypertable不是关系数据库。而且它对稀疏数据是只存储其有效部分的。举个例子来说,假设一个表有10列。表中的一条记录,只有第三列有 值。那么实际上只有第三列被存储了,无值的列没有保留空位。这些特点使得 Hypertable 在使用的时候与关系数据库不同。
Hypertable系统主要包括Hyperspace、Master和Range Server三大组件。Hyperspace是一个锁服务,地位相当于Google的Chubby,主要用于同步、检测节点是否发生
iis7站长之家和存放顶层位置信息;Master主要用于完成任务分配,未来会有负载均衡以及灾后重建(Range Server失效后自动恢复服务)等其他作用;Range Server是Hypertable的实际工作者,主要负责对一个Range中的数据提供服务,此外它还肩负起灾后重建的责任,即重放本地日志恢复自身故障前状态;另外,还有访问Hypertable的客户端Client等组件。
HyperTable基本构架图如下图所示: