Je dois trouver des solutions pour fournir une base de données MySQL capable de traiter des volumes de données de l'ordre du téraoctet et être hautement disponible (cinq neuf). Chaque ligne de base de données est susceptible d'avoir un horodatage et jusqu'à 30 valeurs flottantes. La charge de travail attendue est de 2500 insertions/sec. Les requêtes sont susceptibles d'être moins fréquentes mais peuvent être volumineuses (impliquant peut-être 100 Go de données), mais n'impliquant probablement que des tables uniques.MySQL Cluster gère une base de données de téraoctets
J'ai regardé MySQL Cluster étant donné que c'est leur offre HA. En raison du volume de données, je devrais utiliser le stockage sur disque. De manière réaliste, je pense que seuls les horodatages pourraient être conservés en mémoire et toutes les autres données devraient être stockées sur le disque.
Quelqu'un at-il l'expérience de l'utilisation de MySQL Cluster sur une base de données de cette taille? Est-ce même viable? Comment le stockage sur disque affecte-t-il les performances?
Je suis également ouvert à d'autres suggestions sur la façon d'obtenir la disponibilité souhaitée pour ce volume de données. Par exemple, serait-il préférable d'utiliser une bibliothèque tierce comme Sequoia pour gérer le clustering des instances MySQL standard? Ou une solution plus directe basée sur la réplication MySQL?
La seule condition est que ce soit une solution basée sur MySQL. Je ne pense pas que MySQL soit la meilleure solution pour les données que nous traitons, mais c'est une exigence difficile.
Si vous recherchez des technologies, vous pouvez envisager certains projets basés sur Google BigTable. HBase de Hadoop, et Hypertable sont des projets intéressants à regarder. http://hadoop.apache.org/hbase/ et http://www.hypertable.org/ – Kekoa
Cette question peut être mieux posée sur serverfault.com. – lothar