5月的大数据圈子,波澜不兴之余,华为主导的开源项目Apache CarbonData发布2.0 RC2版本。这是CarbonData这个项目的一次巨大升级。
2.0版本的CarbonData带来了很多很新的特性,相当的丰富。CarbonData 2.0支持元数据和数据的管理,增强了各种索引和Materialized View的支持,对ACID的也增强了功能。
按照公开的信息来看,CarbonData 2.0支持很多的索引类型,可以实现对复杂查询的秒级相应。加之其引入了分布式内存所以缓存,并且支持索引的内存预加载。其对复杂OLAP查询的加速可谓非常牛逼。
其同时也增强了,对Parquet和ORC等数据进行统一的元数据管理,并且完成了对异构计算融合等等。总而言之,无论从什么角度去看,这个2.0版本很牛逼。
CarbonData作为一个Apache的开源项目,最初对标的对象是Parquet和ORC等列式存储格式。自2016年面世以来,一直都有点雷声大雨点小的感觉。在实际的世界里,基本上不是ORC唱戏,就是Parquet在表演。
虽然说CarbonData有这样那样的优越性,其作为一个后来者没有起到攻城略地的效果。而这个2.0版本对标的显然不是这些老对手,而是新的开源项目Delta这样的数据湖解决方案。
不可否认,这个2.0看起来还是挺吸引人的。但是做很多事情都讲究天时地利人和。CarbonData作为一个后起之秀,从一开始打出了响亮口号以后,接下来很长一段时间里,开源社区就没看到什么大的动静了。
没动静没发展的开源项目,又是后起之秀,在开源社区自然是做不到主导地位的。开源要怎么玩,其实还是DataBricks厉害。一方面它们把持了Spark的开源项目,另外一方面开源出来的东西和商业版,始终保持了巨大差距。每当其他开源社区的人想要加新特性的时候,Databricks又会及时的把商业特性开源。
这种把持的方式,让Databricks的商业版始终保持了极强的竞争力,其他人还不能说其开源版差。
Delta Lake并不是新东西,Databricks商业版早就在做了。只不过它们选择了在合适的时候开源出来,并且迅速的占据了市场。所以先入为主以后,后进来的,肯定是要吃亏的。
CarbonData1.0的时候,就不是一个有先发优势的产品。但是华为主导的开源社区,无论如何一方面开源完毕以后,后续的投入和建设不足,另外一方面,保留了相当一部分的非开源竞争优势。
这就是学到了Databricks后面半段,但是并没有把前面半段学好。CarbonData在成为占统治地位的开源存储格式之前,忙着保留竞争特性,不去努力培育社区,这就有点急功近利了。
现在开源出来的2.0版,我想如果没有Databricks开源Delta Lake,我们估计应该是见不到的。但是换个角度看,也是因为有了Delta Lake,现在开源不开源,都没什么卵用了。
毕竟很多东西,都是先入为主的。大家先上了Delta的贼船了,为什么非要用你的CarbonData呢?你要是一直努力的耕耘CarbonData这个项目,比Delta Lake更早的把数据湖需要的东西都做出来,那可能也就没Delta Lake什么事情了。