Kdb+ is a column-based relational time series database (TSDB) with in-memory (IMDB) abilities, developed by Kx Systems. The goal of Kdb+ database is to serve as a central repository to store time series data and support real-time analysis for large amount of data.[04]
- Source Code
- https://github.com/KxSystems/kdb[02]
- Tech Docs
- https://code.kx.com/home/[03]
- Developer
- Country of Origin
- US
- Start Year
- 1998 [04]
- Former Name
- kdb
- Acquired By
- Project Type
- Commercial
- License
- Proprietary
- Wikipedia
- https://en.wikipedia.org/wiki/Kdb+[04]
Kdb+ is a column-based relational time series database (TSDB) with in-memory (IMDB) abilities, developed by Kx Systems. The goal of Kdb+ database is to serve as a central repository to store time series data and support real-time analysis for large amount of data.[04]
History[04]
Kx Systems originaly released kdb in 1998. It was a database built on the K programming language developed by Arthur Whitney. In 2003, Kx Systems released kdb+ as a 64-bit version of kdb.
Compression[05]
Kdb+ supports compression in following ways:
-
A built-in WebSocket server which supports WebSocket compression standard.
-
In-flight compression between hosts.
-
On-disk compression, which supports 4 algorithms:
-
kdb+ algorithm
-
gzip
-
Google Snappy
-
lzh4c
Logging[05]
Kdb+ uses physical logging. When new data comes from sources, in-memory event-engine will log to on-disk log file to ensure durability.
Storage Architecture[05]
Kdb+ has both in-memory and on-disk storage. New data is held in memory and is flushed to disk at daily basis under control of the event-engine.
System Architecture[05]
Kdb+ uses Lambda architecture has the following properties:
- Data currently using stores in memory, while historical data is stored on disk.
-
New data come in from streaming sources.
-
Event-engine distribute data to downstream subscribers, including real-time database engine and streaming query engine.
-
Real-time database projects its content down to on-disk historical database for analytic use at daily basis, controlled by event-engine.
Citations
8 sources- https://kx.com/products.php kx.com
- GitHub - KxSystems/kdb: Companion files to kdb+ and q · GitHub github.com
- Documentation for KX products - Product documentation kx.com
- kdb+ - Wikipedia wikipedia.org
- Fintan Quill Engineer, Kx Systems: Time Series Analytics for Streaming Big Fast Data panopto.com
- Kdb System Properties db-engines.com
- Interfaces | kdb+ and q documentation - kdb+ and q documentation kx.com
- Q for Mortals kx.com