星环hyperbase和开源hbase的那些事
hyperbase官⽅简介:
Transwarp Hyperbase实时数据库是建⽴在Apache HBase和Elasticsearch基础之上,融合了多种索引技术、分布式事务处理、全⽂实时搜索、图形数据库在内的实时NoSQL数据库。
个⼈总结:
hyperbase是基于开源hbase+hive的体系结构,融合了全局索引、全⽂索引,加⼊了⾃⼰的序列化反序列化编码格式,集成在星环的⼀站式⼤数据平台TDH上,对sql的⽀持度更加友好,底层依然是依托于开源的hbase,⽬前最新的星环⼤数据平台版本中使⽤的是开源的
hbase1.3.1版本
hyperbase⽀持两种表结构:
hyperbase表(对应开源,建表语法和开源类似)
基于开源Hive HBaseStorageHandler研发,本⾝设计⽐较简单,Hyperbase底层不存储表的schema信息,
数据的序列化反序列化依赖于上层Hive。这造成了很多功能和性能上的问题,例如:null值与空字符串的区分,SQL执⾏计划的优化等。因此在与Inceptor配合使⽤的情况下不推荐使⽤Hyperbase表。只有⼀种场景⽐较适合:在Hyperbase中已存在⼀张表,需要通过Inceptor的外表功能进⾏对接。这样保证了Inceptor对原⽣Hyperbase表的访问功能。
创建内表
create table hbase_inner_table(
key1 string,
bi bigint,
dc decimal(10,2),
ch varchar(10),
ts timestamp,
en string
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler';
创建外表
CREATE EXTERNAL TABLE hbase_external_table(
key1 string,
ex1 double,
ex3 date,
ex5 string
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("lumns.mapping"=":key,f:q1,f:q4,f:q5")
TBLPROPERTIES ("hbase.table.name"="test.hbase_inner_table");
hyperdrive表(星环⾃研)
为了解决Hyperbase表的⼀些设计缺陷,星环科技⾃主研发了Hyperdrive表,去除了开源Hive HBaseStorageHandler的设计,并增加了新的功能,使其能更⾼效地通过Inceptor访问存储在Hyperbase中的数据。
在底层Hyperbase中加⼊表的schema信息,数据存储压缩率更⾼,序列化/反序列化更⾼效。数据类型⽀持BOOLEAN、TINYINT、SMALLINT、INTEGER、BIGINT、DATE、TIMESTAMP、DECIMAL、FLOAT、DOUBLE、STRING、VARCHAR、STRUCT、BINARY等多种类型。
对接Inceptor通⽤的存储访问层Stargate,可以⽀持完整的Filter转换下推、Global Lookup Join等特性,显著提升SQL性能。
{elasticsearch}语法对接,不需要再使⽤以前的那套contains语句了,直接使⽤现有的条件即可。=、<、>、in、like、between and、not in、!=等对应的语句即可。
可以通过指定使⽤索引的⽅式使⽤对应的索引(i.e. hint)
⽀持 NULL值占位符,可正确表达NULL值
只⽀持建内表
hbase的特性有哪些
CREATE TABLE bank_info(
acc_num STRING,
name STRING,
password STRING,
email STRING,
cellphone STRING,
balance DOUBLE
)STORED AS HYPERDRIVE;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论