Hyperbase
Hyperbase简介
概念
- Transwarp Hyperbase实时数据库是建立在Apache HBase和Elasticsearch基础之上,融合了多种索引技术、分布式事务处理、全文实时搜索、图形数据库在内的实时NewSQL数据库。Hyperbase可以高效地支持企业的在线OLTP应用、高并发OLAP应用、批处理应用、全文搜索或高并发图形数据库检索应用,结合Inceptor高速SQL引擎,是企业创建可扩展在线运营数据库(Operational Database)或者实时分析型数据库(ODS - Operational Data Store)的最佳选择。
- Hyperbase的概念,首先Hyperbase是一个具有高可靠,高性能,可伸缩,实时读写,并且面向列的一个分布式NewSQL数据库。所谓NewSQL数据库,就是说Hyperbase即具有NoSQL数据库的海量数据存储管理能力,同时又继承了关系型数据库的SQL特性。
- 关于列式存储,首先顾明思议的,就是按照列进行存储。Hyperbase中是按照列族为标准进行存储,这样做的好处是对Schema的限制很少,并且可以自由的添加列,对存储半结构化数据非常有利。
- 同时Hyperbase又是一个Key-Value数据库。Hyperbase按Key的字典顺序进行存储,并且主要通过Key实现数据的增删改查,以及扫库的操作。
- 最后,Hyperbase采用了HDFS作为文件存储系统,来完成对海量、多种类数据的存储管理。
Hyperbase具有以下特点:
- Hyperbase利用HDFS作为其文件存储系统,本身具有相当强大的海量数据存储能力,并且基于NoSQL数据库的特性,对于存储半结构化、非结构化的稀疏数据,也完美支持。
2.(分布式结构)致使 Hyperbase的线性扩展能力,随着集群节点的增加,Hyperbase的容量以及处理能力线性增长。 - Hyperbase具有很强的并发性,特别是在高并发要求的处理场景下,更能体现其优点。
- 高可靠,基于HDFS文件系统以及自身具备的恢复机制,Hyperbase具有很高的数据可靠性。(主从架构设计)
- Hyperbase支持数据的实时随机读写,并且具有很强的数据一致性。
适用场景
- Hyperbase的主要适用场景是高并发查询,以及半结构化和非结构化数据的存储。
- 关于高并发查询,Hyperbase对于海量数据、简单条件查询的高并发性有着完美的支持。
- 关于半结构化和非结构化的数据存储,Hyperbase同样有着非常好的支持,比如对图片数据或者视频数据这样的10K~10M的半结构化或者非结构化数据的存储。(最后由Hyperbase整合落盘到hdfs中存储)
注:对于海量的非结构化数据而言,如果是大文件的话,建议直接存储在hdfs中。
Hyperbase原理
数据模型
存储
注:由图可见Hyperbase存储数据十分稀疏,在数据存储的时候,如果某一个单元格没有数据时,最终落在底层数据存储时也不会占据多余的存储空间。
同一单元格里的数据是按照时间倒叙排列,方便快速查找到最新的数据。rowkey有序的按照生序的方式排列。
Namespace(命名空间):
- 命名空间是对表的逻辑分组,类似于关系型数据库中的datab