Customized Kdb+ Training Courses
Our instructors can come on site and tailor a course specifically to meet the needs of your team. The diagram below shows most of the modules included in our other courses. You can choose a list or if you have something else entirely you want covered we have an extensive range of in-house expertise that covers many areas.
For printing a PDF detailing our customized kdb+ course is available .Discuss Customized On-Site Training
Starting kdb, data types and manipulating each of the core data types.
|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
|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
|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
|Importing Libraries||Creating C DLL's and calling that code from kdb+|
|C / Java Interfaces||Calling kdb+ from c/Java (Java API screencast available)|
|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|
|Memory Management||Kdb's memory model, garbage collection ( Memory tutorial available)|
|Disk Slaves||Segmented databases with multiple CPUs, what is happening below the covers,
Best practices for constructing map-reduce queries and edge cases to be careful of.
|Compression||How can data be compressed, when to use it and which data to use it on.|
By delivering the training on site we can:
- Tailor the course content to your needs
- Adjust the schedule to fit around your availability
- Attune our discussions to your company's use of kdb