DolphinDB VS kdb+的个人测评

kdb+是一款性能的时间序列数据库。它是美国华尔街各大金融机构20多年来处理大规模数据的系统。它通常用于高频交易,非常适用于高速存储、分析、处理和检索大型数据集。在存取和实时分析海量股票、外汇等高频数据这个领域内,唯kdb+独尊。kdb+还提供了专门的编程语言q语言,它天生具有处理大规模数据的能力。


DolphinDB作为新一代的高性能时间序列数据库,与kdb+在编程语言和技术架构上有非常大的区别:

  1. DolphinDB的编程语言与Python和SQL非常相似,非常简单易学,而很多使用过kdb+的人都表示它的q语言极其晦涩难懂,学习曲线陡峭,难以掌握。

2. 在技术架构上,DolphinDB database 采用了分布式文件系统和分布式计算,可以通过增加集群的物理服务器来扩展分布式计算的速度。之前发表的文章《揭秘高性能DolphinDB》详细讲解了 DolphinDB database 架构。kdb+是为高性能计算机设计的,对服务器的要求较高。它没有集群的概念,也就是说它无法在多个物理服务器组成的分布式文件系统上运行。


kdb+号称是速度快的时序数据库,很多客户和合作伙伴一直好奇DolphinDB与kdb+的性能对比。根据kdb+的license合规性要求,我们不提供官方的性能评测报告。近有数据库领域的知乎网友使用纽约证券交易所的公开数据对DolphinDB和kdb+进行了性能测试对比。感兴趣的朋友可以通过链接查看原文:Kdb+有可能不再是快的时序数据库?


根据网友的测试结果显示,

  1. 在加载数据和保存数据,“DolphinDB比kdb+要略胜一筹”。


2. 在网友测试的16种数据查询和38种计算任务中,“在数据没有分区的情况下,DolphinDB查询的速度是kdb+的2.5倍;在数据分区的情况下,DolphinDB查询的速度是kdb+的2倍”,“在其中的35种测试中,DolphinDB比kdb+表现得更出色。DolphinDB计算性能指标的中位数是kdb+的2.7倍。在包含NULL值的整数排序,移动大值和移动平均值这些测试项目上,DolphinDB的的速度是kdb+的10倍以上 ”。


3.“左连接的时候,DolphindB稍微慢于kdb+,但在进行等值连接、asof join和窗口连接的情况下,DolphinDB比kdb+的速度明显要快得多。对于左连接,kdb+的速度大约比DolphinDB快10%~30%,对于等值连接,DolphinDB的速度大约是kdb+的2~4倍,对于asof join,DolphinDB的速度大约是kdb+的4~8倍,对于在窗口连接中使用常用的聚合函数(min、max、first、last、avg、wavg),DolphinDB比kdb+快1个数量级”。


后测评的结论是,“DolphinDB表现着实耀眼,大部分场景下都比kdb+要快,小部分场景与kdb+相差不大。”


声明:测评结果为网友个人观点,仅供读者参考。浙江智臾科技有限公司不对测评内容和测评结果的准确性、可靠性和完善性提供任何明示或暗示的保证。如果有需要,读者可以自行验证。浙江智臾科技有限公司将不承担任何责任。


以上声明内容的终解释权归浙江智臾科技有限公司所有。

来源 https://zhuanlan.zhihu.com/p/42196235

相关文章