GaiaExGaiaEx
KDB+/Q: Tick Veritabanlarının Dili
GeliştiriciProgramlama11 min read

KDB+/Q: Tick Veritabanlarının Dili

Wall Street milyarlarca piyasa veri noktasını nasıl saklar ve sorgular

Paylaş

Bir dakikada KDB+ ve Q

KDB+, sütun odaklı bir zaman serisi veritabanıdır; Q onun vektör dilidir. Satış tarafı ve alım tarafı firmaları, sütunları taramanın satır-satır döngülerden daha iyi olduğu tick depolama, birleştirme ve kayan analitik için bunu benimsedi.

Performans, sütunsal düzenden, bellek eşlemenin (memory mapping) yoğun kullanımından ve donanıma yakın uygulanmış vektör ilkellerinden gelir. Genel bir OLTP yerine geçmez; ekleme ağırlıklı zaman serileri için ayarlanmıştır.

Sütunsal düzen (kavramsal) sym A A B time t₁ t₂ t₃ price p₁ p₂ p₃ Vektör işlemleri bitişik dizilere dokunur → cache uyumlu taramalar Şema ve tipler hâlâ önemlidir: kötü sym listeleri yer kaybettirir
Tablolar sütun vektörleridir; analitik, sütunlar ve zaman boyunca filtreler ve toplar.

Q temelleri

Q kısa ve sağdan sola işler. Vektörler yerleşiktir; döngüler mevcuttur ama sık kullanılan yollar bunlardan kaçınır. Tablolar, sütunların sözlükleridir — bu da tick verisinin nasıl saklandığıyla eşleşir.

prices: 100.5 101.2 99.8
avg prices
deltas prices

Okunaklı Q, küçük fonksiyonlardan ve yorumlardan gelir — paylaşılan kod tabanlarında sadece yoğunluk bir meziyet değildir.

Tickerplant, RDB, HDB

Yaygın bir örüntü: bir tickerplant akışları alır ve abonelere dağıtır; bir gerçek zamanlı veritabanı (RDB) mevcut oturumu tutar; bir tarihsel veritabanı (HDB) disk üzerinde bölümlenmiş geçmişi saklar. Gün sonu süreçleri, RT'yi HDB bölümlerine aktarır.

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

Kripto asla kapanmaz, dolayısıyla „oturum" sınırları borsa zilleri değil, operasyonel seçimlerdir.

Tick hattı (klasik üç parça) Akış işleyicileri Sembolleri normalize et Sınırda zaman damgası Tickerplant Günlük + pub/sub Uzun vadeli depolama yok RDB + HDB Gün içi vs geçmiş Tarihe göre bölümlendir Boşluk kurtarma günlükleri kullanır; akış boşluklarını ve geç düzeltmeleri doğrula Kripto akışları patlayabilir: tamponları ve geri basıncı buna göre boyutlandır
Gerçek zamanlı ve tarihseli ayırmak, sık kullanılan yolları küçük ve sorguları öngörülebilir tutar.

Nerede karşına çıkar

Firmalar KDB+'ı gözetim panoları, kotasyon analitiği ve araştırma veri kümeleri için kullanır. Adlar ve dağıtımlar değişir; örüntü, tick'ler ve emirler üzerinde hızlı dilimleme ve ayrıştırmadır.

Kripto platformları sürekli veri üretir — saklama, tekrar oynatma ve uyum (compliance) dışa aktarımını önceden planla.

Lisans maliyeti ve alternatifler

Ticari lisanslama ve uzmanlaşmış işe alım gerçek maliyetlerdir. Açık alternatifler (ClickHouse, Timescale, QuestDB, Parquet üzerinde DuckDB), ekosistem uyumunu fiyatla takas eder. Satıcı sunumlarına göre değil, kendi sorgu karışımına göre kıyasla.

Kripto tick yığınları

Birçok ekip, Kafka veya Redpanda'yı sütunsal depolama ve SQL motorlarıyla eşleştirir. KDB+'tan gelen değişmez ilke hâlâ geçerlidir: zamana göre bölümlendir, şemaları sıkı tut ve borsa zaman damgasından sorgu sonucuna kadar uçtan uca gecikmeyi ölç.

GaiaEx API tüketicileri, açığa çıkarılıyorsa sunucu zaman damgalarını ve sıra tanımlayıcılarını günlüğe kaydetmelidir — korelasyon, tahmin yürütmekten daha iyidir.