Back to IPC Overview

Interprocess Communication (IPC) · IPC Overview · Practice Question

What is IPC Used for in a kdb+ System?

Sign in to track your progress

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.