2011-01-04 8 views
1

Wir verwenden MongoDB, um tägliche Protokolle von Statistiken über zehntausende von Elementen in unserer Datenbank zu speichern - die Sammlung nähert sich derzeit 100 Millionen Datensätzen. Diese Daten sind für Data Mining nützlich, werden jedoch nur selten abgerufen. Wir haben es kürzlich von unserer MySQL-Hauptdatenbank in eine Mongo-Datenbank verschoben. Dies erwies sich als nicht ideal - Mongo ist für schnelle Lesevorgänge optimiert, wobei alle Indizes im Speicher bleiben und der Index für diese Tabelle sehr groß ist.Datenbanklösung für große selten zugegriffene Datensätze

Was ist eine gute Möglichkeit, große Datenmengen für tägliche große Schreibvorgänge, aber selten Lesevorgänge zu speichern? Wir denken über eine separate MySQL-Installation auf einem separaten System nach. Eine andere Möglichkeit könnte eine NoSQL-Lösung sein, für die kein Index im Speicher benötigt wird.

+0

Haben Sie die Archivspeicher-Engine bereits in mysql verwendet? Es ist direkt für selten referenzierte Daten gedacht. http://dev.mysql.com/tech-resources/articles/storage-engine.html – DeaconDesperado

+0

"Was ist eine gute Möglichkeit, große Datenmengen für tägliche große Schreibvorgänge zu speichern," - ein Datenbankserver, mit guter Hardware und richtig einrichten –

+0

Ziehen Sie in Erwägung, die alten Daten in ein OLAP-Warehouse zu verschieben (auch wenn es nur ein anderes MySQL ist), vielleicht mit einigen ETL-Werkzeugen. Dies kann auch Auswirkungen auf Datenretting oder Shaping haben (oder von diesen beeinflusst werden), die auftreten sollten, usw. –

Antwort

0

Sie haben Recht, ein Nosql ist gut für schnelles Lesen von einfachen Daten. Da ich diese Daten abfragen und möglicherweise relationale Operationen ausführen muss, würde ich eine separate mysql-Installation dafür empfehlen.

Sie möchten die SQL-Indizes für schnelle Schreibvorgänge minimieren.

+0

Hängt davon ab, über welche "Nosql" -Implementierung gesprochen wird. –

Verwandte Themen