GaiaEx AcademyGaiaEx Academy
KDB+/Q: ٹِک ڈیٹا بیسز کی زبان
ڈویلپرپروگرامنگ11 min read

KDB+/Q: ٹِک ڈیٹا بیسز کی زبان

وال اسٹریٹ اربوں مارکیٹ ڈیٹا پوائنٹس کیسے ذخیرہ اور کیوری کرتا ہے

پوسٹس شیئر کریں

ایک منٹ میں KDB+ اور Q

KDB+ ایک کالم-مبنی time-series ڈیٹا بیس ہے؛ Q اس کی vector زبان ہے۔ sell-side اور buy-side فرموں نے اسے tick اسٹوریج، joins، اور rolling analytics کے لیے اپنایا جہاں کالموں کو اسکین کرنا row-by-row لوپس سے بہتر ہے۔

کارکردگی columnar لے آؤٹ، memory mapping کے جارحانہ استعمال، اور metal کے قریب implement کیے گئے vector primitives سے آتی ہے۔ یہ ایک عمومی OLTP متبادل نہیں ہے؛ یہ append-heavy time series کے لیے tuned ہے۔

Columnar layout (conceptual) sym A A B time t₁ t₂ t₃ price p₁ p₂ p₃ Vector ops touch contiguous arrays → cache-friendly scans Schema and types still matter: bad sym lists cost space
ٹیبلز کالم vectors ہیں؛ analytics کالموں اور وقت کے ساتھ فلٹر اور جمع کرتے ہیں۔

Q کی بنیادی باتیں

Q مختصر اور right-to-left ہے۔ Vectors native ہیں؛ لوپس موجود ہیں مگر hot paths انہیں ٹالتے ہیں۔ ٹیبلز کالموں کی dictionaries ہیں، جو اس بات سے میل کھاتا ہے کہ tick ڈیٹا کیسے ذخیرہ کیا جاتا ہے۔

prices: 100.5 101.2 99.8
avg prices
deltas prices

قابل مطالعہ Q چھوٹے فنکشنز اور کمنٹس سے آتا ہے—صرف کثافت شریک کوڈ بیسز میں ایک خوبی نہیں ہے۔

Tickerplant، RDB، HDB

ایک عام پیٹرن: ایک tickerplant فیڈز ingest کرتا ہے اور subscribers کو fan out کرتا ہے؛ ایک real-time ڈیٹا بیس موجودہ سیشن رکھتا ہے؛ ایک historical ڈیٹا بیس ڈسک پر partitioned تاریخ رکھتا ہے۔ End-of-day عمل RT کو HDB partitions میں roll کرتے ہیں۔

select last price by sym from trades where time > .z.t - 00:05

کرپٹو کبھی بند نہیں ہوتا، لہٰذا “سیشن” کی حدیں آپریشنل انتخاب ہیں، ایکسچینج کی گھنٹیاں نہیں۔

Tick pipeline (classic three-piece) Feed handlers Normalize symbols Timestamp at boundary Tickerplant Log + pub/sub No long-term store RDB + HDB Intraday vs history Partition by date Gap recovery uses logs; verify feed gaps and late corrections Crypto feeds can burst: size buffers and back-pressure
Real-time اور historical کی علیحدگی hot paths کو چھوٹا اور queries کو قابل پیشگوئی رکھتی ہے۔

یہ کہاں نظر آتا ہے

فرمیں KDB+ کو نگرانی ڈیش بورڈز، quote analytics، اور ریسرچ ڈیٹا سیٹس کے لیے استعمال کرتی ہیں۔ نام اور deployments مختلف ہوتے ہیں؛ پیٹرن ticks اور آرڈرز پر تیز slice-and-dice ہے۔

کرپٹو وینیوز مستقل ڈیٹا پیدا کرتے ہیں—retention، replay، اور compliance export پہلے سے پلان کریں۔

لائسنس لاگت اور متبادل

کمرشل لائسنسنگ اور مخصوص بھرتی حقیقی لاگتیں ہیں۔ کھلے متبادل (ClickHouse، Timescale، QuestDB، Parquet پر DuckDB) قیمت کے عوض ecosystem fit کا تبادلہ کرتے ہیں۔ اپنے query mix پر benchmark کریں، vendor slides پر نہیں۔

کرپٹو tick اسٹیکس

بہت سی ٹیمیں Kafka یا Redpanda کو columnar اسٹوریج اور SQL انجنز کے ساتھ جوڑتی ہیں۔ KDB+ کا اٹل اصول اب بھی لاگو ہوتا ہے: وقت کے ساتھ partition کریں، schemas سخت رکھیں، اور ایکسچینج ٹائم اسٹیمپ سے query نتیجے تک end-to-end lag ماپیں۔

GaiaEx API صارفین کو، اگر ظاہر ہو تو، سرور ٹائم اسٹیمپس اور sequence شناخت کنندگان لاگ کرنا چاہیے—correlation اندازہ لگانے سے بہتر ہے۔