Insights into kdb+ 3.6

5 Jun 2018 | , ,
Share on:

By Simon Garland

At Kx25, the international kdb+ user group conference held on May 18th, we released kdb+ version 3.6. With this release, we are opening up new possibilities for kdb+ application developers.

It provides a lot of new capabilities and streamlines previously complex processes so that programmers will be able to take a simpler approach to writing systems compared to what they did in the past.

The deferred response feature makes it much easier to talk to legacy, or simple systems, which are written using the synchronous response paradigm. These are the systems where a client makes a request and then waits for a reply from kdb+. In the past, if they had fired off a very expensive or time consuming query, the gateway process they had been talking to would have been blocked for all other users until the result was ready to be passed back. With deferred response, the gateway process is now able to spin the query off asynchronously and get on with serving the next requests immediately.

Another feature in kdb+ 3.6 is the change to 64-bit enumerations. One immediate benefit of this change is that linked columns can be used on columns of any length. These are particularly valuable for things like navigating hierarchies dynamically.

The other new feature we’d like to mention is ‘anymap’ or ‘mapped lists’ which allow storing lists of mixed types including lists, dictionaries and tables. The new version has made retrieval enormously faster and more efficient.

Because 3.6 opens up so many new possibilities we would be interested to hear of novel uses of the new capabilities. If you would like to hear more about this release, you can see my presentation at Kx25 on kdb+ 3.6 at the Kx Youtube channel. If you have something you’d like to share, please email me at

For more details about these and other new features in kdb+ 3.6 please visit our Developer’s site,


Decision Trees in kdb+

5 Jul 2018 | , , , ,

The open source notebook outlined in this blog, describes the use of a common machine learning technique called decision trees. We focus here on a decision tree which provides an ability to classify if a cancerous tumor is malignant or benign. The notebook shows the use of both q and Python to leverage the areas where they respectively provide advantages in data manipulation and visualization.

ML feature engineering with kdb+

Feature Engineering in kdb+

28 Jun 2018 | , , , , , ,

By Fionnuala Carr As part of Kx25, the international kdb+ user conference held May 18th in New York City, a series of seven JuypterQ notebooks were released and are now available on Each notebook demonstrates how to implement a different machine learning technique in kdb+, primarily using embedPy, to solve all kinds of machine […]