Skip to content

Get started with q and kdb+


kdb+ is a database. You can use it through interfaces such as ODBC, or from Python, but its power and performance are best accessed through its own language, q.

Q is a general-purpose programming language. You can write programs for anything in q.

You do not need prior programming experience to learn it. If you have some experience with mathematics, functional programming or SQL, you will find in q much that is familiar.

In this section we offer different routes into the language. Find one that suits your experience and learning style.

Other sections:

section content
Language formal definition of language elements
Database persisting tables in the filesystem
Architecture topics in building systems using kdb+ processes
White papers extended treatments of topics in q programming and in building kdb+ systems


kdb+ Tutorial in Japanese

q言語-ゼロから作るTick ArchitectureならびにC言語による拡張

Q and kdb+ from installation to building the tick architecture and using the C API
by Mattew Kwon


kdb+ Tutorial in Chinese


kdb+ Tutorial in Chinese
by Kdbcn Workshop

q for Mortals Version 3

Fun Q

A Functional Introduction to Machine Learning in Q
by Nick Psaris

Whether you are a data scientist looking to learn q, or a kdb+ developer looking to learn machine learning, there is something for everyone.

Review in Vector

Machine Learning and Big Data with kdb+/q

Machine Learning and Big Data with kdb+/q

by Jan Novotny, Paul A. Bilokon, Aris Galiotos, and Frederic Deleze

Offers quants, programmers and algorithmic traders a practical entry into the powerful but non-intuitive kdb+ database and q programming language.


q for Mortals Version 3

Q for Mortals

Version 3
by Jeffry A. Borror

Covers up to kdb+ V3.3.

If you are a new kdb+ user, this is the book for you!

HTML edition online

Q Tips

Q Tips

Fast, scalable and maintainable kdb+ by Nick Psaris

There is information that if you were learning by yourself, would take years to work out.


See the Archive for older documents.