Interprocess Communication (IPC) · IPC Overview · Practice Question
What is IPC Used for in a kdb+ System?
Question
What is interprocess communication (IPC) used for in a kdb+ system?
Solution
- Passing data between processes — for example, from a tickerplant to a real-time database (RDB).
- Querying data on an RDB, HDB, or through a gateway process.
- Signalling to the HDB that it's time to reload its database, after the end-of-day save-down completes.
- Signalling to processes like the RDB that it's time to run the end-of-day save-down.
Explanation
A typical kdb+ tick setup splits work across several processes — a feed handler, a tickerplant, one or more RDBs, an HDB, and often a gateway — none of which are useful alone. IPC is what connects them.
That communication is either data movement (the tickerplant publishing ticks to RDBs, a gateway fanning a query out and combining results) or control signalling (the RDB telling the HDB to reload after end-of-day, or a scheduler telling the RDB to run its save-down). kdb+ architecture is, fundamentally, a graph of processes connected by IPC handles.