A Very Quick Look at Kdb

Dick Bowman

Contents

Having previously looked at the programming side of Kx Systems products, the K-Lite programming language, it seems a good idea to also look at the applications side, in the form of Kdb.

Kdb is both a database application in its own right, and a viewer which can be applied to other relational databases.  Once again, there's a distinction between the paid-for fully-functional product and the freely-downloadable evaluation product.  Cheap to the end, I'm looking at the free version, which comes with similar limitations to K-Lite in terms of operating in the local computer contest rather than as a full-blown client-server (Web) application.

Download and Installation

Again, a quite small download, and simple installation, but a little more invasive than K-Lite in that Kdb deposits itself onto your C drive; I couldn't find any way to circumvent this - but I didn't try very hard.

Once installed, the Kdb folder is quite small (less than 100kB), and comprises mostly sample files.

There is a .pdf user manual (about 1 megabyte); as with the K-Lite manual, clearly written and with a no-nonsense style.

One thing which didn't work was an example in which "localhost" should open files for viewing in a Web browser; this may be either the freebie limiter, or just an oddity of setup on my machine.

Return to Contents

Functionality

When launched the Kdb viewer reveals itself as a simple database viewer, the surprise is that it is immediately able to handle any (ODBC-supported) database format; selecting a Microsoft Access97 database from the Open menu item we get a view of a table:

Again, we see that K offers a functional window style of its own (you won't think you're looking at a part of Office); but sufficient for its purpose.

Make the relevant entries in the boxes, press the buttons, and off you go (pausing only to read the manual).

Return to Contents

Conclusions

The rabid APL/J programmer may not find much to intrigue them here, but they aren't the audience for Kdb.

What we have here is a nifty and flexible viewer for relational databases.  Anyone who has fiddled around with SQL knows that it's both verbose, illogical and tiresome.  Kdb encapsulates the most significant parts and offers them in a convenient form for the semi-technical database user.

If all you were working with was (for example) Microsoft Access it would probably be at least as easy to knock out what you want using the native package functionality.

But is you have more than one database format, Kdb offers a unifying interface.  Again, but unverified by me, Kx Systems is in the scaleability business and claims to have a lot to offer in terms of high performance from high volumes (and one thing that I can verify is that some mainframe database applications built by "database professionals" offer embarassingly poor performance when set beside some equivalent APL applications built by the usual suspects).

Most of us ought to have been able to build something like this in APL or J; the difference is that we didn't, while Kx Systems did.

Download it and have a look - if you have relational data on a PC you will probably be able to find Kdb useful.

Return to Contents

Return to the J\APL Contents page

Copyright Dick Bowman, 1999-2013; latest update 8 March 2013 (repaired links)