GaiaExGaiaEx
KDB+/Q: тик деректер қорының тілі
ӘзірлеушіПрограммалау11 min read

KDB+/Q: тик деректер қорының тілі

Уолл-стрит миллиардтаған нарық деректер нүктелерін қалай сақтайды және сұрайды

Жазбаларды бөлісу

KDB+ мен Q бір минутта

KDB+ — баған-бағытты уақыт қатары дерекқоры; Q — оның векторлық тілі. Сатушы жақ пен сатып алушы жақ мекемелер оны тик сақтау, біріктіру және бағандарды сканерлеу жол бойлы циклден тезірек болатын айналмалы аналитика үшін қабылдады.

Өнімділік бағандық орналасудан, жад картасын агрессивті пайдаланудан және «темірге» жақын жүзеге асырылған векторлық примитивтерден келеді. Бұл жалпы OLTP алмастырғышы емес; ол қосу-ауыр уақыт қатарларына бейімделген.

Бағандық орналасу (концептуалды) sym A A B time t₁ t₂ t₃ price p₁ p₂ p₃ Вектор операциялары тұтас массивтерге тиеди → кэшке ыңғайлы сканерлер Схема мен типтер маңызды: нашар sym тізімі орын жейді
Кестелер — баған векторлары; аналитика бағандар мен уақыт бойымен сүзеді және жинақтайды.

Q негіздері

Q ықшамды және оңнан солға оқылады. Векторлар негізгі тип; циклдер бар, бірақ ыстық жолдар оларды болдырмайды. Кестелер — бағандар сөздігі, бұл тик деректердің сақталу тәсіліне сәйкес келеді.

prices: 100.5 101.2 99.8
avg prices
deltas prices

Оқылымды Q кіші функциялар мен түсініктемелерден келеді — тығыздықтың жалғыз өзі бөлісілетін кодтық базада игілік емес.

Tickerplant, RDB, HDB

Кең тараған үлгі: tickerplant агындарды қабылдап, жазылушыларға таратады; нақты уақыт дерекқоры ағымдағы сессияны ұстайды; тарихи дерекқор дискіде бөлімделген тарихты сақтайды. Күн соңы процестері RT-ды HDB бөлімдеріне айналдырады.

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

Крипто ешқашан жабылмайды, сол себепті «сессия» шекаралары биржа қоңырауы емес, операциялық шешім.

Тик құбыры (классикалык үш бөлік) Агын өңдеушілер Символдарды қалыпқа келтіру Шекарада уақыт белгісін қою Tickerplant Журнал + pub/sub Ұзақ мерзімді сақтау жоқ RDB + HDB Күн ішіндегі vs тарих Күн бойынша бөлімдеу Алшақтықты қалпына келтіру журналдарды пайдаланады; агын алшақтыгы мен кеш түзетулерді тексеру Крипто агындары шарыктай алады: буферлер мен кері қысымды өлшеу
Нақты уақыт пен тарихты бөлу ыстық жолдарды кіші, ал сұраныстарды болжамды етеді.

Ол қайда пайдаланылады

Мекемелер KDB+ пайдаланады бақылау дэшбордтары, квота аналитикасы және зерттеу деректер жиынтығы үшін. Атаулар мен орналастырулар түрлі; үлгі — тик пен тапсырыс бойы жылдам кескіндеу.

Крипто платформалары үзіліссіз деректер генерациялайды — сақтауды, қайта ойнатуды және сәйкестік экспортын алдын ала жоспарлаңыз.

Лицензия құны және баламалар

Коммерциялық лицензиялау мен арнайы жалдау нақты шығын. Ашык баламалар (ClickHouse, Timescale, QuestDB, Parquet бойынша DuckDB) экожүйе сәйкестігін бағаға айырбастайды. Сатушының слайдтарынан емес, сұраныс қоспаңыздан бенчмарк жасаңыз.

Крипто тик стектері

Көп топ Kafka немесе Redpanda-ны бағандық сақтау мен SQL қозғалтқыштарымен жұптайды. KDB+-тан келген инвариант әлі де қолданылады: уақыт бойынша бөлімдеу, схемаларды қатаң ұстау және биржа уақыт белгісінен сұраныс нәтижесіне дейінгі толык кідірісті өлшеу.

GaiaEx API тұтынушылары, олар ашылса, сервер уақыт белгілерін және реттілік идентификаторларын журналдауы керек — корреляция болжаудан жақсы.