三、数据加载和查询性能
对不大的数据量而言,比如TPC-H scale为1的大约1G字节数据,gbloader用时大约1分20秒,和Oracle sqlldr差不多,目前的性能表现已经可以接受了。
为了提供一个更有普遍价值的测试结果供用户在做数据库选型的参考,下面采用业界常用的数据仓库环境TPC-H测试,需要指出的是这并不是GBase官方的测试结果,只是我用TPC-H 2.8的数据结构和22个SQL查询表的结果。同时给出传统行存储方式的Oracle11.2的测试结果用于对比,SQL按照不同数据库的语法作了修改。脚本和数据生成器来自http://www.pilhokim.com/index.php?title=Project/EFIM/TPC-H。
表1 TPC-H 2.8 scale=1的测试对比,单位:秒
如上表所示,GBase在22个测试项目中有6项超过了Oracle,但有2个测试项目未执行成功。有3个项目执行时间远远长于Oracle,估计是GBase查询优化器的对某些复杂查询生成的执行计划不佳。当然,TPC-H给出的查询语句写法也未必是优化的,比如上述第20条在Oracle花费近7分钟,而做适当地等价改写后,执行时间就只有6.94秒,在此只是说明,要利用好GBase,数据库开发人员必须了解GBase的SQL执行特点,书写合适的语句。
四、结束语
看到这里,相信读者对已经有了初步的印象,在试用过程中,GBase 8a的表现稳定,没有出现服务器崩溃的现象,企业管理器对数据进行查询、更改也很直观方便,存储过程和函数的编辑器带有模板,对开发者增强了易用性。但是我们也看到这个数据库还有一些不成熟的地方。
第一、数据库功能缺失,比如由于它不支持主键,基于它的应用必须在数据库以外实现数据的唯一性。
第二、出错提示信息不够详细,中文化的程度不高。
第三、文档资料缺乏。(可能正式用户会有详细的资料)
第四、集成管理工具缺少备份功能和调试功能。有些模板例子不适用于GBase 8a。
国内企业在基础软件如操作系统和数据库管理系统方面与发达国家相比还有不少的差距,利用现有的自由/开源软件作为基础,在此之上开发是一个捷径,但是如果要真正在市场上占有一席之地,必须做好推广工作。以南大数据库为例,我们在其官方主页上找不到试用版软件下载,除了一篇不太详细的白皮书也找不到太多的技术资料,用户论坛注册页面也是空白的。在互联网上搜索,绝大多数结果都是千篇一律的新闻通稿,也找不到太多用户或开发者的技术文章,硕士论文倒有几篇,也需要账号才能访问。我的这个试用过程一波三折,前后耗费近1月,试想有多少最终用户有兴趣这么做呢。要是对某个产品一点都不了解,怎么会在采购时考虑呢。让更多的人了解和试用,是提高产品认可程度的必由之路,参考了其他软件不是什么严重的问题,连微软都无法避免学习其他公司的产品,如果有一日,我们能像Oracle和MySQL一样很容易获得软件和资料,以及众多开发者的技术分享,那就是国产数据库的成功之日,期待这日早点到来。