ScyllaDB和clickhouse哪个更适合金融时序数据处理?为什么

个人印象:ScyllaDB和clickhouse在金融时序数据的处理上不如kdb 和dolphindb。kdb 是一款性能极佳的时间序列数据库。它是美国华尔街各大金融机构20多年来处理大规模数据的首选系统。它通常用于高频交易,非常适用于高速存储、分析、处理和检索大型数据集。在存取和实时分析海量股票、外汇等高频数据这个领域内,唯kdb 独尊。

kdb 还提供了专门的编程语言q语言,它天生具有处理大规模数据的能力。DolphinDB作为新一代的高性能时间序列数据库,与kdb 在编程语言和技术架构上有非常大的区别:DolphinDB的编程语言与Python和SQL非常相似,非常简单易学,而很多使用过kdb 的人都表示它的q语言极其晦涩难懂,学习曲线陡峭,难以掌握。

2. 在技术架构上,DolphinDB采用了分布式文件系统和分布式计算,可以通过增加集群的物理服务器来扩展分布式计算的速度。知乎上有篇《揭秘高性能DolphinDB》(https://zhuanlan.zhihu.com/p/40049521)详细讲解了DolphinDB架构。kdb 是为高性能计算机设计的,对服务器的要求较高。

它没有集群的概念,也就是说它无法在多个物理服务器组成的分布式文件系统上运行。kdb 号称是速度最快的时序数据库,很多客户和合作伙伴一直好奇DolphinDB与kdb 的性能对比。根据kdb 的license合规性要求,我们不提供官方的性能评测报告。最近有数据库领域的知乎网友使用纽约证券交易所的公开数据对DolphinDB和kdb 进行了性能测试对比。

感兴趣的朋友可以查看知乎文章《Kdb 有可能不再是最快的时序数据库?》(https://zhuanlan.zhihu.com/p/41799930)。根据网友的测试结果显示,在加载数据和保存数据,“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个数量级”。


文章TAG:时序  数据  存储  序列  计算  
下一篇