Leistung für einen konkreten Zweck

Crafted Database Engine

Ihre Daten. Ihre Regeln. Ihre Datenbank.

Wenn die Optimierung bestehender Datenbanken nicht mehr genügt, entwerfen wir eine spezialisierte Engine für Ihren Workload und Ihre Hardware. Was gemessen wird, vereinbaren wir vor der Entwicklung. Unsere öffentliche Orderbook-Engine zeigt unseren Ansatz.

Warum eine eigene Engine?

Eine Antwort, wenn Optimierung ihre Grenzen erreicht hat. Nicht die Standardantwort.

Latenz im Mikrosekundenbereich

Eine universelle Engine trägt Aufwand mit sich, den Sie nicht benötigen: Schichten für andere Workloads und Funktionen, die Sie nie aufrufen. Ohne diese Schichten lässt sich die Antwortzeit in Mikrosekunden messen, weil auf dem Anfrageweg kaum noch etwas übrig bleibt.

Weniger Server für dieselben Daten

Datenstrukturen für ein konkretes Zugriffsmuster benötigen weniger Rechenleistung, Speicher und Netzwerkverkehr für dasselbe Ergebnis. Die Ersparnis zeigt sich in Hardware, die Sie nicht mehr betreiben müssen. Sie steht im Benchmark, bevor Sie sich festlegen.

Um Ihre Daten herum entwickelt, nicht umgekehrt

Schema, Indexstrategie und Netzwerkprotokoll folgen Ihrem Datenmodell und der Maschine, auf der es läuft. Nichts ist nur deshalb Teil der Engine, weil ein anderer Kunde es gebraucht hat.

Wir haben bereits eine entwickelt. Öffentlich.

Eine Datenbank-Engine für Level-2-Orderbuchdaten, in C++20 für einen Workload auf konkreter Hardware entwickelt. Auf GitHub können Sie sie klonen, den Aufbau der Speicherschicht lesen, die Testsuite ausführen und auf Ihrer eigenen Maschine messen. So sieht eine fertige maßgeschneiderte Engine aus. Ihr Projekt würde demselben Prozess folgen.

Was die Engine heute kann

  • Write-ahead Log mit Prüfsumme für jeden Datensatz und komprimierte spaltenorientierte Segmente auf dem Datenträger.
  • Abfragen über Zeiträume, das vollständige Orderbuch zu einem vergangenen Zeitpunkt sowie direkt in der Engine berechnete Kursbalken für Mittelkurs und Spread.
  • Live-Orderbuch und Push-Abonnements über die Netzwerkverbindung, mit C++- und Python-Clients sowie einer C-API.
  • Replikation mit automatischem Failover über etcd, Multi-Master-Netzen und Sharding nach Symbol.
  • TLS 1.3 und Challenge-Response-Authentifizierung für Client-, Replikations- und Mesh-Verbindungen.
  • Backup und Wiederherstellung, Prometheus-Metriken mit Grafana-Dashboard sowie Linux-Pakete.
  • C++20 Native L2-Orderbook-Engine
  • Offen Quellcode unter Apache-2.0
  • Gemessen Öffentliche Benchmark-Methoden

Ergebnisse hängen von Hardware und Workload ab. Der öffentliche Vergleich dokumentiert Methode und Grenzen; er ist keine Leistungsgarantie für Ihre Anwendung.

Quellcode der Engine ansehen (öffnet sich in einem neuen Tab)

Gemessener Aufwand beim Einlesen: Vergleich mit ClickHouse und TimescaleDB

Der Name unserer Engine macht eine Aussage über Kosten. Deshalb messen wir sie: die Server-CPU-Zeit, die jedes System zum Laden derselben 2.000.000 Orderbuch-Ebenen benötigt.

DatenbankEingelesene Orderbuch-Ebenen pro Server-CPU-Sekunde
Orderbook DB Engine4,88 bis 5,00 Millionen
ClickHouse 26.91,64 bis 2,25 Millionen
TimescaleDB 2.300,63 Millionen

Das 2,1-Fache des ClickHouse-Werts und das 7,7-Fache des TimescaleDB-Werts: unser langsamster Lauf im Vergleich zum jeweils schnellsten. Weniger CPU-Sekunden für dieselben Daten bedeuten weniger Server und weniger Energie.

Amazon EC2 m8a.xlarge (4 vCPU, AMD EPYC 9R45), 7. Oktober 2026, fünf Läufe, ClickHouse und TimescaleDB auf PostgreSQL 16 nativ installiert. ClickHouse beendet das Laden zuerst und nutzt dabei 2,4 bis 3,0 Kerne gegenüber 0,1 bei unserer Engine. Verglichen wird hier der Ressourcenaufwand des Ladens.

Aufwand für die Speicherung: Bytes auf dem Datenträger im Vergleich

Zwei Aufzeichnungen von Binance-Orderbüchern: ein Änderungsstrom und Top-20-Snapshots. Zehn Handelspaare über dieselben zehn Minuten, in jedes System geladen und nach dessen eigener Komprimierung auf dem Datenträger gemessen.

DatenbankDiffs, B/ZeileTop 20, B/Zeile
Orderbook DB Engine3,780,53
ClickHouse 26.9, Standard7,041,17
ClickHouse 26.9, bestes von fünf Codec-Sets4,310,87
TimescaleDB 2.30, komprimiert17,2912,45

Was in der ClickHouse-Standardinstallation ein Terabyte belegt, benötigt in unserer Engine 0,46 bis 0,54 Terabyte. Mit dem besten von uns je Aufzeichnung gefundenen Codec-Set sind es 0,61 bis 0,88 des ClickHouse-Bedarfs. Eine neue Cluster-Replik und ein Backup kopieren die Segmente so, wie sie auf dem Datenträger liegen; sie übertragen also ebenfalls diese Bytes.

Amazon EC2 m8a.xlarge, 7. Oktober 2026: Jede Aufzeichnung wurde geladen und auf den Datenträger geschrieben; vor der Messung warteten wir 90 Sekunden. Das beste Codec-Set ist das kleinste der fünf je Aufzeichnung getesteten Sets.

Wann sich eine eigene Engine lohnt

Sechs Situationen, in denen Optimierung nicht mehr hilft. Wenn Smart Data Engine feststellt, dass keine Standard-Engine passt, ist es einer dieser Fälle.

Die Latenz wird zum Engpass

Ihre Abfragen sind zu langsam. Indizes sind optimiert, Caches ergänzt und die Hardware erweitert. Trotzdem stoßen Sie an Grenzen, die universelle Datenbanken nicht überwinden.

Die Kosten geraten außer Kontrolle

Ihre Infrastrukturkosten steigen weiter. Sie bezahlen für ungenutzte Funktionen und Aufwand, der Ihrem Workload nicht hilft.

Die Skalierung sprengt das System

Was mit einer Million Datensätzen funktionierte, funktioniert nicht mit einer Milliarde. Ihre Datenbank wurde nicht für die inzwischen erreichte Größenordnung entwickelt.

Keine Lösung passt richtig

Sie haben PostgreSQL, MongoDB, Redis und ClickHouse ausprobiert. Jede Lösung löst einen Teil des Problems, doch keine bildet Ihr konkretes Datenmodell passend ab.

Spezielle Hardware

Sie nutzen spezialisierte Infrastruktur: eigene SSDs, FPGAs oder bestimmte CPU-Architekturen, deren Potenzial Standarddatenbanken nicht vollständig ausschöpfen.

Ein Wettbewerbsvorteil

Ihre Dateninfrastruktur unterscheidet Sie vom Wettbewerb. Schnellere Abfragen, geringere Kosten und höhere Leistung verschaffen Ihnen einen Vorsprung.

So entwickeln wir Ihre Engine

Vier Phasen. Am Ende der zweiten erhalten Sie eine Kennzahl, an der Sie uns messen können.

Analyse

Wir untersuchen mit Ihnen Datenstruktur, Volumen, Zugriffsmuster, Latenzziele und die vorgesehene Hardware. Ist eine maßgeschneiderte Engine nicht die richtige Antwort, erfahren Sie es in dieser Phase.

Entwurf und Benchmark

Datenstrukturen, Indexstrategie und Netzwerkprotokoll, alles auf Ihre Zugriffsmuster abgestimmt. Am Ende steht ein schriftlicher Benchmark: Was besser bedeutet, in Zahlen, anhand Ihrer Daten.

Entwicklung

Die Implementierung wird kontinuierlich an diesem Benchmark gemessen, nicht erst am Ende. Nichts erreicht Ihre Produktion, bevor die vereinbarten Kennzahlen erfüllt sind.

Übergabe oder betreuter Betrieb

Engine, Benchmarks, Testsuite und Dokumentation. Ihr Team übernimmt, oder wir betreiben die Lösung als Dienstleistung. Sie prüfen uns weiterhin am vereinbarten Benchmark.

Beginnen wir bei der Grenze, die Sie erreicht haben

Beschreiben Sie, was Sie versucht haben, welche Kosten entstanden sind und wo es nicht weiterging. Ist eine eigene Engine nicht die Antwort, wird das Gespräch kürzer und für Sie günstiger.

Projekt besprechen