自从十四年前google相继发布论文:《the google file system》、《mapreduce: simplified data processing on large clusters》和《bigtable: a distributed storage system for structured data》后,开源界开始模仿论文设计开源版本的这三个系统,其中佼佼者就是hadoop生态,分别对应于hadoop,hdfs和hbase。
经过十几年业界大规模的使用和锤炼,目前hadoop生态已经成为一种事实上的业界规范,导致nosql的鼻祖google的bigtable都支持hbase wrapper,提供了bigtable hbase client。
作为同类型的nosql数据库,hbase的大部分功能也同样存在于表格存储中,甚至大部分场景下性能更优,但是表格存储还是不同于hbase,有部分高级功能,hbase并不拥有,这个后面单独文章介绍。
hbase client是hbase提供的便于用户访问hbase的客户端,支持读、写、扫描、批量、表管理等功能。
hadoop生态作为长久以来唯一的开源大数据解决方案,被广泛用于各个公司中。目前,大部分自建数据处理系统的公司使用了hbase等hadoop生态的系统。当这部分用户想将数据迁移到阿里云的nosql数据库表格存储时,之前都需要用户重写客户端代码才能使用表格存储,虽然这种方式性能更好,对后续的使用也更友好的,但是还是初期比较耗时间,为了解决这个问题,表格存储年前也推出了tablestore hbase client。
用户如果之前使用hbase client访问hbase,现在只需要在项目中将对hbase client的依赖 修改为对tablestore hbase client的依赖,同时修改hbase-site.xml中的hbase.client.connection.impl值为com.alicloud.tablestore.hbase.tablestoreconnection即可。其他代码都不需要任何改动。
maven的依赖配置如下:
hbase-site.xml中增加下列配置项:
通过创建一个tablestoreconnection对象链接表格存储服务。
通过指定表名创建一张表,maxversion和timetolive都是用默认值。
写入一行数据到表格存储。
读取指定行的数据。
范围读取数据。
使用admin api删除一张表。
按照上面的步骤就可以使用tablestore hbase client了,目前,已经有用户开始使用,后续,我们会根据用户的反馈持续优化tablestore hbase client,使其性能能追赶到原生的表格存储(tablestore)。
