Ich muss nach Lösungen für die Bereitstellung einer MySQL-Datenbank suchen, die Datenmengen im Terabyte-Bereich verarbeiten kann und hochverfügbar ist (fünf Neunen). Jede Datenbankzeile wird wahrscheinlich einen Zeitstempel und bis zu 30 Float-Werte enthalten. Die erwartete Arbeitslast beträgt bis zu 2500 Inserts/Sek. Die Abfragen werden wahrscheinlich weniger häufig erfolgen, könnten aber umfangreich sein (vielleicht 100 GB Daten), obwohl wahrscheinlich nur einzelne Tabellen betroffen sind.
Ich habe mir MySQL Cluster angesehen, da dies ihr HA-Angebot ist. Aufgrund des Datenvolumens müßte ich die plattenbasierte Speicherung nutzen. Realistischerweise denke ich, dass nur die Zeitstempel im Speicher gehalten werden könnten und alle anderen Daten auf der Festplatte gespeichert werden müssten.
Hat jemand Erfahrung mit der Verwendung von MySQL Cluster für eine Datenbank dieser Größenordnung? Ist das überhaupt praktikabel? Wie wirkt sich die plattenbasierte Speicherung auf die Leistung aus?
Ich bin auch offen für andere Vorschläge, wie man die gewünschte Verfügbarkeit für diese Datenmenge erreichen kann. Wäre es zum Beispiel besser, eine Bibliothek eines Drittanbieters zu verwenden wie Sequoia um das Clustering von Standard-MySQL-Instanzen zu handhaben? Oder eine einfachere Lösung, die auf MySQL-Replikation basiert?
Die einzige Bedingung ist, dass es sich um eine MySQL-basierte Lösung handeln muss. Ich glaube nicht, dass MySQL für die Daten, mit denen wir zu tun haben, der beste Weg ist, aber es ist eine harte Anforderung.
2 Stimmen
Wenn Sie sich nach Technologien umsehen, können Sie einige Projekte in Betracht ziehen, die auf BigTable von Google basieren. HBase von Hadoop und Hypertable sind interessante Projekte, die Sie sich ansehen sollten. hadoop.apache.org/hbase et hypertable.org
0 Stimmen
Diese Frage sollte vielleicht besser auf serverfault.com gestellt werden.