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日). 

外部連結