Frage

Ich bin jetzt seit ein paar Jahren in einer MSSQL/MySQL -Welt festgefahren und habe mich entschlossen, meine Flügel ein wenig weiter zu verbreiten. Im Moment recherchiere ich, welche DBMs bei den Archivieren von Daten gut in den Dingen sind, die benötigt werden. Z.B. Viele Schreibvorgänge und niedrige Lesungen.

Ich habe den NoSQL -Kreuzzug gesehen, aber ich habe eine sehr RDBMS -Denkweise, also bin ich ein bisschen skeptisch.

Hat jemand Vorschläge? Oder sogar irgendwelche Hinweise dorthin, wo es einige Benchmarks usw. für solche Sachen gibt.

Danke :) Thomas


bearbeiten

Da es eine Frage gab, werde ich versuchen, ein bisschen mehr Informationen darüber zu geben, was ich denke

Ich werde einen Dienst auf mehreren Servern ausführen, die alle ihre lokale Datenbank haben. Diese Datenbanken haben eine große Anzahl von Treffern (1/1 Lesen/Schreiben), daher versuche ich, sie so leer wie möglich zu halten, um die Abfragezeit niedrig zu halten. Meine erste Schätzung ist, dass keine Zeile in dieser Datenbank länger als 30 Minuten sitzt. Ein Archiv -DB für jeden dieser Dienste zu betreiben, scheint eine Verschwendung von Ressourcen zu sein, sodass eine zentrale Archivarchitektur besser aussieht.

Ich werde versuchen, eine schnelle Netzwerkarchitektur aufzunehmen

     ___________    ___________    ___________
    | service 1 |  | service 2 |  | service 3 |
     -----------    -----------    -----------
          |____________|_______________|
                   ____|____
                  | Archive |
                   ---------

Wie Sie vielleicht wissen, skaliert MSSQL und MySQL nur senkrecht, wenn Sie sich mit dem Schreiben befassen (nicht sicher, ob es sich um eine RDBMS -Sache handelt). Ich möchte also die größte Leistung aus diesem Archiv -DBMS herausholen.

War es hilfreich?

Lösung

Wenn die Struktur der von Ihnen archivierenden Daten relativ einfach ist, können Sie in Betracht ziehen, direkt in flache Dateien zu archivieren. Gut zum Schreiben, nicht so gut zum Lesen. Es gibt einige Diskussionen zu diesem Thema in dieser Frage: Sind Flat -Datei -Datenbanken gut?

Andernfalls würde ich mich bei MySQL halten und sicherstellen, dass es richtig eingestellt ist, wenn es um eine hohe Schreib-/Liegewiedergabe verwendet wird.

Andere Tipps

Also versuche ich, sie so leer wie möglich zu halten, um die Abfragezeit niedrig zu halten

Erstens ist die Abfragegeschwindigkeit nicht direkt proportional zur Datenbankgröße, es sei denn, Sie machen nur vollständige Tabellen -Scans. Eine eindeutige Index -Lookup ist proportional zur Tiefe des Index. Von dem Zeitpunkt, an dem ein Index -Wurzelblock bis zum nächsten Teil von Millionen zusätzliche Zeilen bestehen kann. Tatsächlich wird das Löschen von Zeilen, um die Datenbank "so leer wie möglich" zu halten, die Datenbank möglicherweise nicht kleiner. Bis Sie den Index wieder aufbauen, können Sie sehr spärliche Zweig- und Blattblöcke haben, indem Sie die Index -Scans länger dauern.

Ich bin mir nicht sicher, wie MSSQL oder MySQL teilweise leere Seiten füllen, aber Sie sehen möglicherweise überhaupt keine Platzeinsparungen von Delets.

In Oracle würde ich vorschlagen, dass ich die Partitionierung aufteilt und über Deletten fallen, damit eine Datenbank tatsächlich eine bestimmte Größe aufbewahrt.

Aber ich sagte all das, um Sie zu ermutigen, Ihre Flügel in eine in einer in Speicherdatenbank für Ihre Serververwendung verwendete Flügel zu verbreiten, anstatt sich auf Ihre Archivnutzung zu konzentrieren. In diesem Fall haben Sie nichts gesagt, was mich denken lässt, dass ein RDBMS nicht die beste Lösung für die Archivierung ist.

Oracle oder Postgressql sind auch sehr leistungsstarke DBMs. Aber wenn Sie MySQL bereits kennen und benutzt haben, warum dann ändern? MySQL ist kostenlos, leistungsfähig, gut dokumentiert ...

Wenn Sie jedoch meistens Schreibvorgänge und nicht viele Lesevorgänge haben und nicht mehr von den häufig verwendeten DBMs wollen, können Sie ein dokumentbasiertes DBMs in Betracht ziehen

Ich würde Ihnen empfehlen, sich einen Blick darauf zu werfen existieren db und Mongo DB

Hoffe das hilft!

In dieser Datenbank -Benchmark -Software (GNU GPL)Das ist geeignet, einige Antworten zu finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top