Lösung für ein Datawarehouse von ca. 7 GB

Wir haben kürzlich einen neuen „Data Lake“ auf der Azure-Plattform bereitgestellt. Der Entscheidungsprozess war chaotisch und ich werde das Gefühl nicht los, dass wir eine teure, unhandliche Datenbank gekauft haben, während wir viel bessere und billigere Optionen hatten.

Unsere Anforderungen sind ziemlich einfach: Wir haben etwa 7 GB Daten, die meisten davon stammen aus einem täglichen Datenbank-Dump (CSV).
Die Daten werden für die Berichterstellung (derzeit werden Abfrageergebnisse nach Excel exportiert, in Zukunft wird so etwas wie PowerBi verwendet) und Analysen verwendet. Bei der Datenmenge, die wir derzeit haben, ist eine vollständige Big-Data-Lösung wie Cloudera oder MapR unnötig, denke ich (aber vielleicht irre ich mich).

In unserer aktuellen Lösung werden der ETL-Prozess, der den CSV-Dump einliest, und die Datenbank von einem Drittanbieter verwaltet. Mit MSSQL Management Studio oder SquirrelSQL können wir Abfragen ausführen und die Ergebnisse exportieren. Wir haben Schreibzugriff auf einen Teil der Datenbank und ich muss in der Lage sein, ETL-Prozesse zu entwerfen, um die bereits vorhandenen Daten zu ergänzen.

Dies ist der erste Fehler: Ich war nicht in der Lage, eine flache Datei automatisch/programmgesteuert in die DB einzulesen. Außerdem ist die DB nicht besonders schnell und wir haben Probleme bei der Implementierung von Logging/Audit Trail.

Meiner Erfahrung nach ist Postgres auf CentOS schnell und protokolliert den DB-Zugriff ziemlich sofort. Auch der automatisierte Import von Flatfiles ist kein Problem.

Was sind bessere Lösungen als unser aktuelles Azure-Setup?

Bitte beachten Sie, dass diese Seite keine Anfragen für Produktvergleiche enthält: Bei SR geht es darum, spezifische Software für spezifische, von Ihnen definierte Bedürfnisse vorzuschlagen. Einzelheiten finden Sie unter: Ist Tool x versus Tool ya eine faire Frage? . Ich habe Ihre Frage angepasst, um sie zum Thema zu machen. Vielleicht ist es auch eine gute Idee, ein Budget anzugeben.

Antworten (1)

Wenn Ihre flache Datei CSV ist, hat mysql ein eingebautes Import-Tool, da ich sicher bin, dass andere Produkte eine ähnliche Funktion haben.

Die Protokollierung kann natürlich eingerichtet werden.

Mit diesem kleinen Datensatz haben Sie jetzt viele Optionen, wenn Sie auf lokale Hardware setzen.

  1. SSD hat 500-550mb/s
  2. M.2 SSD haben 2000-3000mb/s
  3. Fügen Sie dem Computer RAM hinzu und richten Sie ein RAM-Laufwerk ein.

Da Sie die Cloud verwenden, könnten Sie durch die Geschwindigkeit Ihres Internets einen Engpass bekommen.

Auch eine richtig gestaltete Datenbank wirkt sich auf die Geschwindigkeit aus. Wissen, wann und wie Indizes erstellt werden, um den Datenzugriff zu beschleunigen. Viele Dinge können getan werden, um Abfragen von jemandem zu optimieren, der in SQL geschult ist.

Der Teufel steckt im Detail: Der Massenimport scheint in Azure mssql viel schwieriger zu sein, als ich mich von Postgres erinnere. Ich habe noch keine Möglichkeit gefunden, dies zu tun. Der ETL-Prozess sorgt dafür, dass Azure-Speicher bereitgestellt wird, aber ich habe diese Option nicht, da ich mich nicht im selben Netzwerk befinde. Die Massenimportfunktion ist also nicht etwas, das alle DBs wirklich gemeinsam haben.