fuel 2014-09-15
从去年开始,公司就开始搞云平台,这个也是各个大公司的趋势,都在搞。
基于hadoop那一套肯定需要:
1.基于hdfs做分布式存储
2.基于hbase做分布式nosql数据库
3.基于Hive(批量分析)和sparkstreaming做实时统计分析平台
4.基于开源ETL工具的数据导入导出工具
基于上面这些实现的基本云平台功能都没有问题,还有一个更要的功能就是分布式关系数据库。分布式关系数据库主要解决现有系统的oracle数据库能无缝的把数据迁移到云平台的分布式数据库上面来,并且极少的改动现有oracle系统的代码。现在的oracle查询已经很慢了,数据达到了5T左右,数据量很大,性能和扩展性都需要解决。
当前流行的mongodb、Hbase都是NoSQL的,无法满足系统的需要。
经过筛选,淘宝的oceanbase进入眼帘。
网站上介绍:OceanBase是阿里巴巴集团自主研发的可扩展的关系型数据库,实现了跨行跨表的事务,支持数千亿条记录、数百TB数据上的SQL操作。在阿里巴巴集团下,OceanBase数据库支持了多个重要业务的数据存储,包括收藏夹、直通车报表、天猫评价等。
经过简单的使用和测试后,OceanBase确实满足了系统的需要,可以通过ETL工具将现有系统的oracle数据库平滑的迁移到OceanBase中,而且支持标准的SQL92语法,看起来很完美,实际上噩梦才开始。
我们从14年4月份开始使用OceanBase,当时版本是0.4.2版本,经过2个月左右的数据迁移,所有数据都迁移过来了,问题也就开始慢慢出现了。
首先,OceanBase的count等统计性能太差,1000万条的count性能要几十秒,这个是无法容忍的。
最要命的是,OceanBase竟然不支持字段索引功能,这就说明它只能是在有主键的查询下性能才可以保障,如果这样根本就和Hbase等没有啥区别啊,mygod。。。开始看了OceanBase的文档,它是基于mysql实现的分布式数据库,就没有过多的去考虑,
以为所有mysql的特性都支持,现在来看真是幼稚啊。。。
没办法,既然已经定了OceanBase,就积极的和淘宝的开源部门联系,哎,真是煎熬的,得到的回复都是问题正在解决,请等待。
6月份的时候,通过一个淘宝的朋友联系了一下OceanBase的项目组,找到了一个人,加了他的阿里旺旺号,得到的回复是OceanBase0.5已经在内测阶段,最迟7月份就会开源。
慢慢等待,心想着7月份也快了,抓紧进行数据迁移和现有系统代码的改造(很多调用oracle函数的地方需要修改成标准的SQL)。
7月份终于来了,从第一周开始就赶紧问:何时发到开源呢?得到的回复是:公司现在正在进行专利化,所有开源的都要先申请专利,才能开源,一个月左右吧。。。我去。。。。。。。。。
8月份来了,一直在期盼中的我又去问了,得到的回复是:专利还在申请中。。。。。。。。。。
一直问着,日子一直过着,不知不觉到了九月份,还在问,专利还在申请中。。。。。。。
9月15日了,又一次去问,这次得到的回复是:公司正在进行上市中,所有开源项目暂停。。。。。。。
我去你妈的,太坑爹了啊。。。。。。。。。血泪的教训啊。。。国产的你咋这么不给力呢,还是个大公司的产品呢。。。。
你做不好你不要开源啊。。。。。。。你别丢人行吗。。。。。。。。。。
其实在使用的过程中,发现问题的时候也找了其它的方案,如Hbase+Phoenix,虽然支持了SQL,但是经过测试,在1亿条的数据下,查询已经很慢了,更别说了我们系统中的几十亿条了。
已经不在等待了,国产的开源项目何时才能给力呢,开始想其它办法吧。。。