Wir haben einen sehr einfachen Anwendungsfall, aber es fällt uns schwer, die beste DB-Lösung zu wählen, die unseren Anforderungen entspricht.ROLAP spaltenartige Datenbank
Die Anforderung:
Ein OLAP-DB, die uns Millionen von Datensätzen von verschiedenen Eigenschaften (in Tausend) abfragen kann, und kann einen Primärschlüssel halten. Außerdem muss es beim Hochladen der Daten teilweise schnell sein.
Die Use-Case:
Wir haben eine Benutzer-Datenbank und jeder Benutzer gehört unterschiedliche Eigenschaften. Es gibt bis zu 10k Eigenschaften, jedoch haben die meisten Benutzer weniger als 30 Eigenschaften.
Beispieltabelle:
Benutzer/properties
benutzer1/1,5,10
benutzer2/7,5,9,24,42,1090
user3/9
user4/98,1049,2000
. .
Das ideale Szenario besteht aus einer Speicherdatenbank mit Spalten, in der jede Eigenschaft eine Spalte ist und die Datenbank mehr als 10k Eigenschaften zulässt.
MonetDB passt uns genau richtig, aber es gibt zwei sehr kritische Nachteile:
- Massenlast sehr gering ist, in unseren Tests es uns 5ms hochgeladen pro Datensatz gab. Um 1M Datensätze hochzuladen, würde es mehr als eine Stunde dauern, was sehr langsam ist.
- Bulk-Laden schlägt auf doppelten Primärschlüssel fehl (wir möchten die Eigenschaftswerte auf dem "doppelten Schlüssel" aktualisieren, aber dies ist mit dieser Datenbank nicht möglich).
Wir dachten auch über Druide nach, aber es ist mehr "Ereignis" getrieben. Sie benötigen einen Zeitstempel für den Zeitpunkt, zu dem jede Eigenschaft hinzugefügt wurde. Es ist nicht ausgeschlossen worden, aber es ist nicht die perfekte Passform für das, was wir brauchen.
Ich kann mehr erklären, wenn nötig, jede Anleitung wird wirklich geschätzt werden!
Dank
Danke mkersten. Nein, das beantwortet meine Frage nicht. Ich brauche 10k Spalten wegen der Leistung. Dies ist eine OLAP db zu schnellen Abfrageeigenschaften, normale Benutzer: Eigenschaft Tabelle Setup hilft mir nicht mit dem, was ich brauche. Danke trotzdem – fdnieves