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
.
Available Modules
Core
Starting kdb, data types and manipulating each of the core data types.
| The Basics | Origins of kdb, installation, configuring a development environment
( |
|---|---|
| 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.
( |
| 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
( |
| 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
( |
| 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