Mehrere Billionen Einträge mit mariaDB

Berliner

Benutzer
Beiträge
5
Hallo Liebe Leute,

ich habe Daten von mehreren Billionen (10 hoch 12), wie kann man am besten mit mariaDB sie verwalten. Der Import bildet keine schwere Aufgabe aber select bzw. wie soll man die Daten verteilen damit das Selektieren eine optimale Wartezeit (schnell) das Ergebnis zurückliefert ? die Benutzer sind nicht viele paar User nur?

Momentan habe nur einen schellen Server.

Danke für euer Feedback

Grüße,

Berliner
 
Werbung:
indem man mariaDB gegen eine bessere Datenbank austauscht.

Davon abgesehen kann man Dir kaum helfen, dazu müßte man mehr wissen über die Daten und über geplante Abfragen, um dann z.B. über passende Indexierung und/oder Partitioning zu reden.
 
Danke dir akretschmer,

welche Datenbank deine Meinung nach soll man wählen ? Indexierung ist OK werde tun, aber mit Partionierung, gibt es Arten davon bzw. ich benötige mehr info. bitte ? also die Daten in Tabellen zerlegen z.b je 1 Billion eine Tabelle ? danke dir
 
Schau dir Partitionierung an. Man wählt sinnvolle Partitionierung anhand der Verteilung in geeigneten Spalten.
Z. B. 10 Billionen Datensätze, aber immer nur relevant das letzte Quartal. Dann sind es vlt nur noch 10 Mio relevante DS bei Partitionierung nach Datum.

Dazu musst du deine Daten kennen/auswerten wie@akretschmer schrieb und, was die User abfragen wollen.
 
meinst du ich soll Portgre benutzen und nicht den mariaDB Server ?
Ich danke euch für die nette Hilfe falls ihr noch mehr Info. habt ,bitte mir hier schreinben. Seht nett danke
 
OK akretschmer ich danke dir ich benutze BTree Index.
ja, das ist der Default und soweit langweilig. Je nach Anwendung können aber andere Indextypen sinnvoll sein. Zum Beispiel sind BRIN-Indexe unglaublich klein, weil sie jeweils nur eine Block-Range indexieren (daher der Name). Wenn der Use-Case paßt, ist das irre effektiv. Für Geometrien oder Überlappungen etc. gibt es GiST-Indexe, für bestimmte Datenstrukturen GIN-Indexe. Du kannst das Ergebniss einer Funktion indexieren, und du kannst partielle Indexe erstellen. Indexe können weitere Spalten includen. PostgreSQL kann Indexe miteinander kombinieren, z.B. in Form von Bitmap-Index-Scans.
Dazu kommt übrigens, daß PostgreSQL Abfragen auf mehrere Cores parallel ausführen kann.
 
meinst du ich soll Portgre benutzen und nicht den mariaDB Server ?
Ich habe ehrlich gesagt keine Ahnung von den Partitionierungsfeatures von MariaDB. Ich nutze MariaDB nicht. Ich bin mir aber ziemlich sicher, dass Partitionierung auch mit MariaDB geht.
Wo ich mir noch sicherer bin:
Postgres hat eine große Reihe an Möglichkeiten zu indizieren und zu partitionieren. Beides kann für Dich bei diesen Datenmengen und je nach Anwendungsfall sehr hilfreich sein.
Nur ein Beispiel:
Wenn Deine User aus den vielen Billionen Datensätzen nur bestimmte Klassen oder Typen von Datensätzen benötigen, kannst Du darauf basierend einen function based Index bauen. Wenn in den Billionen von DS nur ein paar Millionen diesem ständig gesuchten Kriterium entsprechen, dann ist das im Endeffekt der Anwendung so, als hättest Du nur diese paar Millionen Datensätze im Zugriff. Der Index sieht und kennt nur die passenden Datensätze. Er ist also selbst klein und schnell. Sehr hilfreich!
Ja, nimm Postgres.
 
Mann muß halt schauen, was exakt die Anforderung ist. Globale Indexe kennt PG leider (noch) nicht. Bis jetzt sind die Anforderungen viel zu schwammig.
 
Werbung:
Zurück
Oben