Customised onsite - Kdb+ and q 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 TrainingAvailable Modules
Core
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. |
Foundation
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. |
Intermediate
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 |
Advanced
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. |
Personalized Training
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