This is a quick-start guide to kdb+, aimed primarily at those learning independently. It covers system installation, the kdb+ environment, IPC, tables and typical databases, and where to find more material. After completing this you should be able to follow the Borror textbook Q for Mortals, and the wiki Reference and consult the Knowledge base.
One caution: you can learn kdb+ reasonably well by independent study, but for serious deployment of the product you need the help of a consultant. This is because kdb+ is typically used for very demanding applications that require experience to set up properly. Contact Kx for help with such evaluations.
The kdb+ system is both a database and a programming language:
kdb+ the database (k database plus).
q the programming language for working with kdb+
The best resource for learning q. It includes:
- Jeff Borror’s textbook Q for Mortals
- a Knowledge Base of common tasks
- a Reference for the built-in functions
- interfaces with other languages and processes
- The main discussion forum is the k4 Topicbox. This is available only to licensed customers – please use a work email address to apply for access.
- The Kdb+ Personal Developers forum is an open Google discussion group for users of the free system.
Install free system
If you do not already have access to a licensed copy, go to Get started to download and install q.
Two sets of scripts are referenced in this guide:
The free system is distributed with the following example scripts in the main directory:
- sp.q – the Suppliers and Parts sample database
- trade.q – a stock trades sample database
If you do not have these scripts, get them from KxSystems/kdb and save them in your
Other example files are in the KxSystems/cookbook/start directory.
startdirectory under your
q/start. For example, there should be a file:
c:\q\start\buildhdb.q / Windows ~/q/start/buildhdb.q / Linux and macOS
Text editor for Windows
Since q source is in plain text files, it is worth installing a good text editor such as Notepad++ or Notepad2.
Some text editors have extensions to provide e.g. syntax highlighting for q. See the list of editor integrations
Graphical user interface
When q is run, it displays a console where you can enter commands and see the results. This is all you need to follow the tutorial, and if you just want to learn a little about q, then it is easiest to work in the console.
As you become more familiar with q, you may try one of the GUIs.
- Most popular is Charlie Skelton’s Studio for kdb+, a cross-platform execution environment – worth having available even if you use another interface
- qStudio, a cross-platform IDE with charting and autocompletion by TimeStored
- First Derivatives offer their clients the qIDE development system
- Q and K Development Tools has an Eclipse plugin
- Q Insight Pad is an IDE for Windows
- Qconsole is an IDE using GTK
- JupyterQ lets you run q inside a Jupyter notebook