Kdb+ is a column-based relational time series database, developed by Kx Systems. Kdb+ database is designed to be used in financial area and store time series data.
Kx Systems originally released kdb in 1998. It was built on the K language. K language was developed by Arthur Whitney. Kx Systems then released kdb+ as the 64-bit version in 2003. Then Kdb+ was developed on top of q language.
Kdb+ supports following interfaces:
Kdb+ uses physical logging. When new data comes from sources, in-memory event-engine will log to on-disk log file to ensure durability.
Decomposition Storage Model (Columnar)
Kdb+ uses DSM both for in-memory and on-disk storage.
Kdb+ only supports SERIALIZABLE isolation level.
q is vector processing languages.
Kdb+ supports UDF.
Kdb+ supports secondary indexes.
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.
Kdb+ uses relational model.
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.
q is interpreted language.
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+ doesn't rely on any hardware acceleration.
First Derivatives plc