Introduction to Kdb+ - Training Course
This practical introduction to Kdb+ from KX is for those that have no prior experience
and want to become competent at selecting data, writing scripts and creating
functions. From the philosophy behind kdb, through the core building-blocks
and up to writing advanced analytics that use parallel processing, we will help you master kdb.
On completion, a comprehensive set of notes, examples, exercises and example scripts are provided to take away.
Register
This course is either available:
- As a public training course in New York and London
- Or we now have a fully online kdb+ Training Course.
Course Content
For printing a PDF outline of the intro kdb+ course is available .
Day 1
The Basics | Origins of kdb, installation, configuring a development environment
(Dev Environment tutorial available) , running q scripts/commands. |
---|---|
Data Types | The philosophy behind kdb, the data types it provides, particularly its support for time. |
Dictionaries / Lists | CRUD - Create, Read, Update and Delete from these core data structures. |
Primitive Operations | built-in functions, using these functions on atoms / lists and dictionaries. |
Enumeration | Storing character data: strings and symbols, when to use which and why. |
Functions | Defining functions, control statements, accessing global variables.
Protected evaluation and catching exceptions |
Day 2
Tables | Defining, updating, deleting, adding columns, sorting.
Creating relationships between tables using enumeration and Foreign Keys |
---|---|
Importing Data | Importing from csv and other file formats. |
Inter-Process Communication | Communication between servers, sending data (a)synchronously, buffering
Security / Stream processing - by overriding event handlers Load Balancing - distributing real time and historical queries over multiple machines |
qSQL | Standard SQL queries: "select col from table where ..", what's unique to qSQL |
Joins | Covers the standard SQL joins left-join, inner-join, union-join.
Specialized kdb joins: plus-join, equi-join, asof-join Optimizing joins and queries using attributes |
Day 3
Multithreading | built-in threading, Parallel processing. (Parallel screencast available) |
---|---|
Disk Storage | Text Output and Standard serialization - for saving small files
Splaying / Partitioning - For storing large amounts of historical data Segments - For storing extremely large data sets and processing them efficiently in parallel |
Advanced Analytics | Building on our knowledge of qSQL and disk storage
Efficiently constructing analytics e.g. VWAP / TWAP |
Logging / Check pointing | Crash recovery, Transactions and rolling back |
Prerequisites
This class is a good fit for you if you have a little or no prior kdb experience. By the end of the 3 days you will have a broad understanding of most areas giving you the ability to confidently use kdb+ to solve most problems.
If you already have significant kdb experience our Kdb+ Data Manipulation or Kdb+ Architecture and Administration courses would be a better fit. If you have any questions or you are unsure which is more suitable please contact us.
Ask about Training