怎样评价智臾公司及其DolphinDB(海豚大数据系统)( 二 )


Partition:KDB按照目录路径分区,如果分区数量很大,写程序和维护都非常繁琐且容易出错。DolphinDB定义分区schema之后,由系统自动维护简单太多了。DolphinDB可以把不同结构数据,用不同的partition,存在不同的数据库中,非常灵活。对于KDB来说,要想方便q编程,最好全放在一个数据库中,这样基本上只能以date来做partition了。
分布式:分布式暂时还没有开始用,理解的也不深入。但是“备份/恢复”和“支持事务”这两个特点就很有吸引力。
整体便利性权限管理:KDB只能支持到login这个级别。DolphinDB则事无巨细,全都支持,而且可以具体到某个表,或某个函数。从这个的角度,DolphinDB完胜KDB。
定时任务:DolphinDB原生函数支持,非常容易管理任务。q像一个很完备的底层语言,但是要想建立定时任务,得先下载,理解,然后修改别人写的代码,花时间,难维护
其他功能:比如实时监控用户行为,流数据,实时数据库,DolphinDB也是原生函数支持。q语言也支持,但是都要建立在下载,阅读并修改他人的代码的基础上。即使熟练掌握q语言,也很花时间去理解和消化。KDB仅提供可能性,但DolphinDB直接给答案,也便于代码维护。
总结如果还在挑选dolphinDB和KDB的阶段,DolphinDB是首选。除了上述技术原因外,另外一个原因是人的因素。q语言由于熟练掌握难,新手成长慢,市场上难以找到合适的人才。
除此之外,KDB的更新换代也非常缓慢。尽管KDB工作人员在回答技术问题上也很快,但是一般是基于现有语言函数提供解决方案,很少增加新的功能。DolphinDB还在快速进化之中,会根据用户需求,不断增加新的功能。

■网友
先说结论,在没有既有项目依赖的情况下,几乎可以完全替代Kdb+,且比Kdb+更快,最重要的是不用去适应Kdb+的反人类语法。
接触dolphindb源于自己工作中的一个试验性项目,主要是对类似日志类的数据实时汇总储存,计算处理后生成实时报表数据动态展示,开发过程中还不时要做一些数据分析、函数拟合的工作,所以最初使用的是pandas+pytables,虽然pytables的IO性能很不错,但pytables毕竟不是数据库,缺少数据库应有的功能,用起来很别扭,就产生了更换数据库的想法,当时比较了InfluxDB、Kdb+、GridDB,本来想试试Kdb+,后来无意中发现了dolphindb看了它的介绍就果断入了坑。
dolphindb简直就是时序数据库中的oracle,很喜欢dolphindb这种全栈式方案,不用像Hadoop/Spark那么复杂琐碎、自带分析功能高效强大许多分析计算工作直接可以在数据库中完成而且天然支持并发和分布式计算。
这里有一个InfluxDB、Kdb+和dolphindb的功能对比,大家可以了解一下:
怎样评价智臾公司及其DolphinDB(海豚大数据系统)

【怎样评价智臾公司及其DolphinDB(海豚大数据系统)】


推荐阅读