Description
Introduction
This training provides a comprehensive foundation in querying data using the q language within the kdb+ environment. Designed for professionals working with time-series and high-performance analytical systems, this course focuses on mastering q’s core syntax, functional paradigm, and powerful data manipulation capabilities.
Participants will learn how to efficiently query in-memory and on-disk datasets, manipulate tables, perform aggregations, and apply conditional logic using q’s expressive and concise syntax. By the end of the program, learners will be able to write optimized queries for real-time analytics and large-scale data processing.
This course blends conceptual clarity with hands-on exercises to build strong practical skills in q query development.
Prerequisites
- Basic understanding of databases and data structures (tables, rows, columns)
- Familiarity with SQL concepts (SELECT, WHERE, GROUP BY) – helpful but not mandatory
- Basic programming knowledge (any language)
- Exposure to Linux/Unix command line (recommended)
- Prior completion of Introduction to kdb+ & q (optional but beneficial)
Table of Contents
Module 1: Foundations of q
- Overview of q and kdb+ architecture
- q console and environment setup
- Data types and atoms
- Lists and typed lists
- Dictionaries and keyed tables
- Variables and assignment
Module 2: Core Query Syntax
- q as a functional language
- Basic select queries
- Column selection and aliasing
- Filtering with
where - Sorting and ordering data
- Limiting and slicing results
Module 3: Working with Tables
- Creating in-memory tables
- Keyed vs unkeyed tables
- Insert, update, and delete operations
- Renaming and modifying columns
- Table joins (ij, lj, aj, uj)
- Handling nulls and missing data
Module 4: Aggregations & Grouping
- Aggregate functions (sum, avg, count, min, max)
- Grouped queries using
by - Multi-column grouping
- Conditional aggregation
- Distinct and unique operations
Module 5: Functional Queries & Advanced Operations
- Functional form of select
- Lambda expressions
- Applying functions to tables
- Vector operations and performance considerations
- Each, over, and scan
- Using adverbs effectively
Module 6: Query Optimization & Best Practices
- In-memory vs on-disk querying
- Partitioned tables overview
- Efficient filtering techniques
- Avoiding common performance pitfalls
- Writing clean and maintainable q code
Module 7: Hands-On Labs
- Real-time trade data analysis use case
- Time-series query exercises
- Building reusable query functions
- Performance benchmarking practice







Reviews
There are no reviews yet.