Was ist die beste & schnellste Option / Anwendung +100 Mio von Datensätzen (ca. 1TB groß) als DB zu verarbeiten?
...und diese z.b (regelmäßig) nach bestimmten Werten zu durchsuchen?
Und wie lange würde eine entsprechende Suche minimum dauern?
a) auf einer gewöhnlichen Windowsmaschine
b) auf dem Webspace meines lokalen Webhosters
Nehme mal an eine gewöhnliche MySQL Datenbank ist für solche Großoperationen eher nicht geeignet...?
3 Antworten
Der Webspace des lokalen Wbhosters ist da sicher nicht der richtige Platz für.
Eigene Server oder Cloud.
Aber am allerwichtigsten wäre, gute Planung und Datenstruktur, richtige Indizes etc. Das gilt unabhängig vom Datenbank System
Es ist auch wichtig zu planen, was genau für suchen stattfinden sollen. Ein like über ein grosses Textfeld ist "teurer" als eine exakte int suche etc.
Am Anfang eigentlich erst mal nur eine einfache Durchsuchung von ausgewählten Strings / Tabellenspalten nach bestimmten einzelnen oder mehreren Wörtern, Werten oder Zeichenketten. Ich vermute mal es ist hierbei ein hoher Zeitgewinn bereits getätigte Suchen in einer separaten Tabelle zu speichern?
Moin,
ich rate zu Python. Das ist denke ich die Leistungsstärkste Sprache für diese Aufgabe. Du kannst damit auch multi threading betreiben und zum Beispiel 4 Threads an 4 unterschiedlichen Stellen in der Liste anfangen lassen (zb einen bei 0, einen bei 25 Mio, einen bei 50 Mio und einen bei Datensatz 75 Mio).
Dann brauchen sie für 100 Mio Datensätze nur so viel Zeit wie ein thread für 25 millionen
Wie lange das dauern würde, kann ich allerdings nicht sagen. Vergleiche auf jeden Fall die CPU deines Rechners mit der deines Webservers.
Wie soll man diese Frage beantworten. In dem Wörtchen "verarbeiten" kann ja alles mögliche drin stecken. Wenn du eine Sprache gut kennst und diese effizient einsetzt, ist diese sicher besser als eine technisch effizientere die du aber mangels genauer Kenntnis nicht so effizient nutzen kannst.
Also ist es vermutlich eine schlechte Option zu versuchen so ein Projekt (als nicht studierter IT'ler) selbst umzusetzen?
...ähm...
Python ist als Interpretersprache wohl eine der lahmsten Optionen.
Mutithreading verteilt die Aufgaben lediglich auf mehrere lahme Threads.😅