kdb+의 과거 그리고 미래

1.
참 재미있는 기술이 kdb+입니다. kdb+를 개발, 판매를 하고 있는 KX외에 kdb와 관련한 서비스를 제공하는 또다른 회사가 있습니다. TimeStored입니다. kdb+와 관련한 프로젝트를 할 때 도움을 엄청 많이 받은 회사입니다. 유료로 서비스를 제공하지만 인터넷으로 자료를 찾아서 배우는 수준의 도움입니다.

여기서 kdb+와 관련한 재미있는 기사 두개를 올려놓았습니다. 첫째는 역사.

10+ Years of kdb+

위에 올라온 변화를 정리하면 아래와 같습니다. parallel, ipc, websocket이 눈에 들어옵니다. 이유는 충분히 짐작이 갑니다.

2012.05.29 – 3.0 – Huge move to 64-bit
2013.06.09 – 3.1 – Improved performance / parallel
2014.08.22 – 3.2 – Added JSON / Websocket
2015.06.01 – 3.3 – Improved performance / parallel
2016.05.31 – 3.4 – SSL/TLS Security. Improved performance / IPC.
2017.03.15 – 3.5 – Improved performance / parallel. Socket sharding. Debugger.
2018.05.16 – 3.6 – AnyMap
2020.03.17 – 4.0 – Improved performance / Limits. Multithreaded primitives. Data encryption.
2024.02.13 – 4.1 – Improved performance / parallel. New dictionary syntax.

이 글보다 더 흥미로운 글이 The Future of kdb+?입니다. 먼저 현재 어떤 영역에서 사용하는지를 소개합니다. 재미있는 부분은 현재 과거데이타서비스를 사용하는 회사를 명시한 점입니다. UBS와 Citi입니다.

A. Historical market data storage and analysis. – e.g. MS Horizon, Citi CloudKDB, UBS Krypton (3 I worked on).
B. Local quant analysis – e.g. Liquidity analysis, PnL analysis, profitability per client.
C. Real-time Streaming Calcuation Engines – e.g. Streaming VWAP, Streaming TCA…
D. Distributed Computing – e.g. Margin calculations for stock portfolios or risk analysis. Spread data out, perform costly calcs, recombine.

중요한 내용은 위와 같은 영역에서 경쟁하는 오픈소스프로젝트를 소개한 점입니다.

 

Historical Market Data – kdb+ Alternatives

A large number of users want to query big data to get minute bars, perform asof joins or more advanced time-series analysis.

  • New Database Technologies – Clickhouse, QuestDB.
  • Cloud Vendors – Bigquery / redshift
  • Market Data as a Service

Let me tell you three secrets, 1. Most users don’t need the “speed” of kdb+. 2. Most internal bank platforms don’t fully unleash the speed of kdb+. 3. The competitors are now fast enough. I mean clickbench are totally transparent on benchmarking..

Likely Outcome: – Kdb+ can hold their existing clients but haven’t and won’t get the 2nd tier firms as they either want cloud native or something else. The previous major customers for this had to invest heavily to build their own platform. As far as I’m hearing the kdb cloud platform still needs work.

Real-time Streaming / Distributed Computing

These were always the less popular cases for kdb+ and never the ones that “won” the contract. The ironic thing is, combining streaming with historical data in one model is kdbs largest strength. However the few times I’ve seen it done, it’s either taken someone very experienced and skillful or it has become a mess. These messes have been so bad it’s put other parts of the firm off adopting kdb+ for other use cases.

Likely Outcome: Unsure which will win but not kdb+. Kafka has won mindshare and is deployed at scale but flink/risingwave etc. are upcoming stars.

오픈소스 경쟁자들이 세력을 넓히는 조건에서 kdb+의 미래는 어떨까요? 15년전에는 최고였던 kdb+가 지금은 여러가지 선택지중의 하나라고 이야기합니다. 오픈소스 프로젝트는 kdb+로부터 여러가지 아이디어를 채용했고 발전시켰기 때문입니다.

Kdb+ is an absolutely amazing technology but it’s about the same amazing today as it was 15 years ago when I started. In that time the world has moved on. The best open source companies have stolen the best kdb+ ideas:

  • Parquet/Iceberg is basically kdb+ on disk format for optimized column storage.
  • Apache Arrow – in-memory format is kdb+ in memory column format.
  • Even Kafka log/replay/ksql concept could be viewed as similar to a tplog viewed from a certain angle.
  • QuestDB / DuckDB / Clickhouse all have asof joins

2.
Timestored 블로그를 보면 재미있는 글이 참 많습니다. 시세데이타를 이용하여 할 수 있는 여러가지 기술적인 아이디어를 제공합니다. Time Series Data and Tick Databases입니다. 혹 오픈소스 DB를 찾으시면 Modern Databases for Finance Series – 2023를 확인해보시길 바랍니다. timestored 개발자들이 이런저런 예제를 소개합니다.

소프트웨어 기술로써 kdb+와 관련한 글중 두가지를 소개합니다. 첫째는 학습곡선입니다. Java와 비교한 그림을 보면 q언어의 장점이 도드라집니다.

둘째는 구인현황입니다. 경력 대비 연봉을 보면 낮지않습니다.미국의 유명한 IB들은 아직 많이 사용하네요.

kdb Jobs 2024

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.