kdb+ 是具有内存(IMDB)功能的列式关系型时间序列数据库(TSDB),由KX开发和推廣。[1] 这个数据库主要用于高速交易中存储、分析、处理和检索大型数据集。[2] kdb+具有处理数十亿条记录并分析数据库中数据的能力。[3] 該数据库在多个操作系统上提供32位元和64位元版本。[4] 金融机构使用kdb+来分析时间序列数据,例如股票商品交易数据。[5] 此外,该数据库还被應用于其他时间敏感的数据場景,包括商品市场(如能源交易)、电信、传感器数据、日誌数据、机器和计算机网络使用监控[6],以及在一级方程式赛车中的实时分析。[7]

kdb+
原作者Arthur Whitney
開發者KX
首次发布2003年,​21年前​(2003
编程语言q
操作系统Windows, macOS, Linux, Solaris
平台IA-32, x86-64, SPARC
语言英语
类型关系型时间序列数据库
许可协议专有
网站kx.com

概述 编辑

kdb+ 是一种高性能的列式数据库,專門用於处理和存储大量数据。常用数据被加載到随机存取存储器(RAM)中,其存取速度遠高於磁盘存储。該数据库专为金融机构设计,用作存储时间序列数据的中央存储库,支持对数十亿条记录进行实时分析。[8][1][9] kdb+ 能夠分析随时间变化的数据,并响应与结构化查询语言(SQL)类似的查询。[2]

相比基于行的数据库管理系统,列式数据库在回應某些查询時更加高效。[5] kdb+的字典、表和纳秒时间戳是本地数据类型,用于存储时间序列数据。[5][10]

kdb+ 的核心是内置的编程语言q,它是一种简洁、具有表达力的查询数组语言,也是APL語言方言[8] Q 能夠處理串流实时和历史数据。[2] kdb+ 使用 q進行數據聚合和分析,执行统计函数,连接数据集并支持 SQL 查询。[11] 向量语言 q 为速度和表达力而設計,消除了大多数循环结构的需要。[5] kdb+ 包含了CC++JavaC#Python中的接口。[4][5]

历史 编辑

1998年,KX发布了由Arthur Whitney编写、基于K语言构建的数据库kdb。2003年,64位版本的kdb+面世。2004年,kdb+ tick市场数据库框架与kdb+ taq一同亮相,后者是纽约证券交易所(NYSE)taq数据的加载器。kdb+是基于Arthur Whitney在数组语言领域的早期工作创建的。[5]

2007年4月,KX公司宣布将推出适用於Mac OS X的kdb+版本。当时,kdb+已支持LinuxWindowsSolaris操作系统。[12]

2012年9月,kdb+3.0版本发布,针对英特尔升级后的处理器进行了优化,支持WebSocket全局唯一标识符(GUID)和通用唯一识别码(UUID)。当时,英特尔高级矢量扩展(AVX)和流SIMD扩展4(SSE4)4.2在Sandy Bridge处理器上为kdb+系统提供了增强支持。[3]2013年6月,kdb+3.1版本发布,相较于旧版本,性能提高了8倍。[13]

2020年3月,kdb+4.0版本发布。[14] 新功能包括多线程原语(原語是q語言中作為內建函數的運算子)、英特尔Optane DC持久内存支持和非活躍數據的加密。

参考文献 编辑

  1. ^ 1.0 1.1 Gutierrez, Daniel. Kdb+ and the Internet of Things/Big Data. Inside Big Data. 2015年1月19日 [2016年6月8日]. (原始内容存档于2023年4月20日). 
  2. ^ 2.0 2.1 2.2 Kx Systems and High Frequency Trading. The Trading Mesh. 2011年6月10日 [2016年6月8日]. (原始内容存档于2018年12月19日). 
  3. ^ 3.0 3.1 Groenfeldt, Tom. At Kx Systems Big Data Is Old News. Forbes. 2012年9月24日 [2016年6月8日]. (原始内容存档于2023年4月19日). 
  4. ^ 4.0 4.1 Sbardella, Luca. A first look at kdb+. Quantmind. 2009年10月2日 [2016年6月8日]. (原始内容存档于2019年1月29日). 
  5. ^ 5.0 5.1 5.2 5.3 5.4 5.5 Eadline, Douglas. Working Down the Column: The Kdb+ Community. Cluster Monkey. 2014年9月9日 [2016年6月8日]. (原始内容存档于2023年4月19日). 
  6. ^ Stamper, Jason. Kx Systems readies faster database in push beyond financial services. 451 Research. September 4, 2014. 
  7. ^ Williams Racing Announce KX as an Official Supplier. Williams Racing. [2023-01-24]. (原始内容存档于2023-01-24) (英语). 
  8. ^ 8.0 8.1 Golovtchenko, Victor. First Derivatives Boosts its KDB+ Software Business with New Acquisition. Finance Magnates. 2016年1月1日 [2016年6月8日]. (原始内容存档于2023年4月19日). 
  9. ^ Kdb+. Itl Group. [2016年6月8日]. (原始内容存档于2019年11月14日). 
  10. ^ Crosman, Penny. Kx Offers Nanosecond Timestamps in Updated Database. Information Week. 2009年9月14日 [2016年6月8日]. (原始内容存档于2017年8月16日). 
  11. ^ Marlin, Steve. Wall Street Firms Extend 'Big Data; Capabilities. Markets Media. 2014年6月19日 [2016年6月8日]. (原始内容存档于2023年4月19日). 
  12. ^ Cohen, Peter. Kdb+ financial database comes to Mac OS X. Macworld. 2007年4月17日 [2016年6月8日]. (原始内容存档于2019年4月4日). 
  13. ^ Kx's kdb+ claims up to 8x faster than any previous STAC M3 benchmarks. Automated Trader. 2013年6月11日 [2016年6月8日]. (原始内容存档于2018年12月19日). 
  14. ^ Garland, Simon. Kdb+ version 4.0 – faster, more secure. 2020年3月23日 [2021年12月4日]. (原始内容存档于2023年4月20日). 

外部連結 编辑