国产列式数据库GBASE 8a 集群版评测(1)

这段时间在研究大数据,对列式数据库也有一些了解,老大发了邮件说了一个国产的列式数据库GBASE,号称比oracle快10-20倍。说实话,操作系统,数据库,这样的核心技术我不认为国内有这样的实力能完全国产化自主研发,有也是基于开源技术的重新包装,有了源代码就真能掌握其中原理?而开源技术的闭源实现生命力不会持久,例如国产的linux,国产的ophone,国产office,哪个最后也没有推广开,这方面不崇洋不行。虽说有疑虑,搞技术还是要数据说话,空谈无用。

前两周GBASE销售到公司对GBASE做了交流,先对技术特点作了介绍,并讲解了一些和oracle,Greenplum,Teradata,Sybase IQ的对比测试案例,因为主题大致也和我的目前工作相关,所以老大指定我来负责公司内部的GBASE学习。GBASE看起来听起来都不错。但是做技术的都知道,没有one thing for all的解决方案,所有的解决方案都是只有在特定场景,特定规模下才是最优的。有点很好,更要知道其局限性,才能在后续项目选型中使用。

 

先简单按交流上的内容介绍下GBASE 8a

真正的列存储RDBMS体系架构。 数据加载高效:装载数据速度大于1TB/小时。

可扩展性:单个集群可达到128个节点,PB级的数据库。

压缩优势:轻量级数据压缩,数据不膨胀,启动高级压缩可以达到1:10以上的综合压缩比,压缩状态下查询性能不下降。

并发优势:读写没有互斥,MVCC的支持,边入库边查询,并发用户大于2000。 支持海量数据存储、查询。 数据分布的灵活性:基于策略的数据加载模式。

集群架构优势:偏平架构,无SPOF,无master瓶颈,高扩展性。

集群调度优势:网络带宽需求小。

并行优势:充分利用现代多核CPU资源。

易用性:不用特殊索引,调优,物化视图等。

可靠性:支持全量,增量备份/恢复。

易于维护:支持集群在线扩展。

高可用:支持数据冗余,自动故障探测和管理,自动fail over,自动同步。

高效率:智能索引对统计分析的高效率。

安全,监控能力:支持用户权限管理,提供图形化管理诊断工具。

  1. GBASE是一个列式数据库,列式数据库的优缺点我就不在说了

列式数据库的压缩会比较好做,尤其是一些唯一值比较少的,可以通过系统内部生成的代码表进行对照替换,尽管原来列中可能是一些较长的字符,通过自动代码对照,可以变成类似0,1这样的简单存储.

但是列式数据库有个普遍的问题是,只有在读取,或者更新的列数和总列数占比较低的时候才有性能优势,如果操作的列数接近于总列数,性能很可能会低于行式数据库,在后面的提问时间我也有问道这个问题,gbase这个性能的拐点大约在总列数的70%左右。就会下降到大约与oracle一致。而目前的ETL工具基本根据主键全字段更新,这个就严重影响性能。这个我下篇会做个具体的评测。

2.另外一个比较有特色的地方就是所谓的智能索引

这个图有点不太好理解,实质就是存储的时候数据每64k形成一个data cell(dc) ,这个有点像oracle的data block,然后对这个dc的常见的一些统计信息例如(max,min,count,sum,avg,null)等在加载的时候就计算好,存储下来。有了这个重要的数据,在一些简单的max,min,count,sum,avg,null操作的时候就只需要读取实现计算好的索引数据,同时还有一个很重要的作用是在读取数据的时候根据每个dc的max和min值筛选dc,可以大大减少全表扫描的IO

 

这个只能索引的ideal不错,但是后来我查资料的时候看到mysql infobright的这几张图,仔细看着是不是很眼熟??只不过这边是data pack。Gbase其实是基于mysql的,这个下篇也会具体提到。

3.集群版设计

GBASE有所谓的safegroup ,每个safegroup内至少有2台机,不能多于3台,这样就实现的所谓数据多副本存储,听着有点像那个hadoop里面的3副本存储策略。细看了这个以后其实和hadoop的多副本存储策略完全不是一回事,首先safegroup内是主备关系,只有一个节点能对外服务,浪费了机器资源,而hadoop的3个数据副本都可以直接对外提供服务。hadoop在遇到故障的时候,会自动新增副本,以将副本数保持在3份。safegroup在遇到故障的就只能靠那最多3个节点的命运了,自求多福了。

文中提到的在线扩容倒是问题不大,在线缩容这个我有点疑问,文档中说safegroup在删除的时候上面的数据全部被删除,如果是复制表问题还不大,分布式的表就有点悲催了吧,原来存在上面的数据怎么办?这个在后续的具体评测中会测试这一点。

文中的网络用的是infiniband,当时有些疑问,infiniband相对高端,而我们一般测试环境,或者生产环境也就是千兆以太网,后来问下infiniband也不是必须的,我个人觉得ppt上使用infiniband宣传的意义更大于实用。

第一部分到此结束,第二部分将介绍安装配置及使用部分,第三部分则是具体性能评测。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据