Question

Je veux mettre en œuvre NDB Cluster MySQL Cluster 6. Je veux le faire pour la structure de données très grande avec un minimum de 2 millions d'enregistrements.

Je veux savoir est s'il y a des limites de la mise en œuvre NDB. Par exemple, la taille de la RAM, le nombre de bases de données, ou la taille de la base de données pour le cluster NDB.

Était-ce utile?

La solution

2 millions de bases de données? Je vous asssume voulais dire "lignes".

Quoi qu'il en soit, en ce qui concerne les limites: l'une des choses les plus importantes à garder à l'esprit est que NDB / MySQL n'est pas une base de données à usage général. Plus particulièrement, les opérations de jointure, mais aussi sous-requêtes et opertions gamme (requêtes comme: commandes créées entre maintenant et il y a une semaine), peut être beaucoup plus lent que ce que vous pourriez attendre. Ceci est en partie dû au fait que les données sont réparties entre plusieurs noeuds. Bien que certaines améliorations ont été apportées, la performance JOIN peut encore être très décevant.

Par contre, si vous avez besoin pour faire face à de nombreux (de préférence petites) transactions simultanées (généralement simple des mises à jour de rangée / inserts / supprimer lookups par clé primaire) et vous Mangage de garder toutes vos données en mémoire, il peut être une solution évolutive et très performante.

Vous devez vous demander pourquoi voulez-vous cluster. Si vous voulez simplement votre base de données ordinaire que vous avez maintenant, sauf ajouté 99,999% de disponibilité, alors vous risquez d'être déçu. Certes, MySQL Cluster peut vous fournir une grande disponibilité et la disponibilité, mais la charge de travail de votre application peut ne pas être très bien adapté pour le cluster thtings est bon pour. De plus, vous pourrez peut-être utiliser une autre solution de haute disponibilité pour augmenter la disponibilité de votre base de données autrement traditionnelle.

BTW - Voici une liste des limitations par la doc:

Autres conseils

NDB est livré avec deux types d'options de stockage.

1.In de stockage mémoire. stockage de 2.Disk.

NDB introduit comme dans le stockage de données de mémoire et dans la version 7.4 (MYSQL 5.6) à compter commencé à soutenir le stockage sur disque.

version 7.5 (MySQL 5.7) prend en charge le stockage sur disque et dans ce cas il n'y aura pas de contraintes de taille en tant que données va résider dans le disque et la limite dépendent de l'espace de stockage disponible sur le disque avec vous.
Configurations de disques de stockage -
https: // dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data-symlinks.html

Dans le stockage de la mémoire dans le cluster NDB est également tout à fait mature et vous pouvez définir l'utilisation de la mémoire dans le noeud de gestion de fichiers config.ini. exemple - DataMemory = 3072M IndexMemory = 384M

dans une table moyenne (en fonction des données stockées dans les colonnes) Taille totale db doit être inférieure à 1 Go qui peut facilement être configuré.

Note - dans ma propre application i fait face à un défi de la performance que la performance de NDB se dégrade avec le nombre de lignes dans le tableau. Sous lecture de charge élevée se concurrency se dégrader avec le nombre de rangs de plus en plus. Assurez-vous que vous n'allez pas pour la numérisation complète de la table et de fournir suffisamment où prédicat clause. Pour définir la bonne exécution index secondaire correctement selon votre modèle de requête. Définir l'index secondaire augmentera à nouveau afin de planifier la consommation de mémoire de vos ressources de modèle de requête et de la mémoire en conséquence.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top