事实上并非如此,新技术的出现与发展,总是会带来新的机遇。正如面向对象编程技术的发展和成熟,催生了DB4O这样纯面向对象数据库。云计算服务与大数据处理的崛起,让传统关系型数据库在很多应用场景显得力不从心。于是在YC的支持下,创业公司Citus Data推出了分析数据库CitusDB。
CitusDB是一个可伸缩的分析数据库,它是基于开源的对象关系型数据库PostgreSQL开发而成。用户可以像使用常规数据库那样访问CitusDB的主节点,然后由主节点将数据与查询请求分配到数据库集群的工作节点中,底层架构与Hadoop类似。换句话说,CitusDB是一个将SQL的表现力、关系型数据库的性能,以及Hadoop的可扩展性与可用性有效地整合的数据库产品。
那么,它与传统数据库相比优势何在?为此,我们请教了就职于阿里系的非著名攻城狮@楚明玉 同学。他也是首次接触到这个新的数据库,在经过简单的了解后给出了自己的理解:
初步的理解是类似HBase+Pig 这么一套体系 ,都是见长于做大数据的实时存取工作。不同之处是CitusDB是基于对象关系型数据库PostgreSQL二次开发的,而HBase+Pig是建立在Hadoop和HDFS基础上。他们和传统数据库比较大的区别就是都采用了管理配置节点和存储节点分离的分布式架构搭建(类似Hadoop)。
这种建构最直接的缺点是管理配置节点是单点,只能通过主/备的方式去解决这个问题。优点很明显,就是具有分布式分析计算能力,这个是传统数据库无法办到的。有了分布式计算能力,做到可伸缩或者弹性计算就相对比较容易了,也离所谓的云计算比较近了,这些都是传统数据库所不具备的优势。
同时他还补充道:“传统DB一次查询过去之后是类似于一个线程完成的,而分布式存储机制会将任务拆分为类似M/R的方式,各个线程运算结束后再将结果合并起来返回给用户。”
当然,这是@楚明玉 在经过短暂时间了解后给出的个人看法,仅供各位在理解CitusDB时做参考。如果你对这个数据库确实感兴趣,可以自己搭建环境测试后再下结论。
目前可以直接在Citus Data网站直接下载到CitusDB安装包,8个节点及以下可以免费使用。暂时只对Ubuntu、Fedora系统提供支持,即将发布Amazon Machine Image版本。
【编辑推荐】