Каковы ограничения реализации MySQL NDB Cluster?

Я хочу реализовать кластер NDB для MySQL Cluster 6. Я хочу сделать это для очень огромной структуры данных с минимальными 2 миллионами записей.

Я хочу знать, есть ли какие-либо ограничения реализации кластера NDB. Например, размер ОЗУ, количество баз данных или размер базы данных для кластера NDB.

2 ответов


2 миллиона баз данных? Полагаю, вы имели в виду"ссоры".

в любом случае, что касается ограничений: одна из самых важных вещей, которую нужно иметь в виду, заключается в том, что кластер NDB/MySQL не является базой данных общего назначения. В частности, операции соединения, а также подзапросы и операции диапазона (такие как: заказы, созданные между настоящим моментом и неделей назад), могут быть значительно медленнее, чем вы могли бы ожидать. Отчасти это связано с тем, что данные распределены по нескольким узлам. Несмотря на то некоторые улучшения были сделаны, присоединиться к производительности по-прежнему может быть очень разочаровывающим.

с другой стороны, если вам нужно иметь дело со многими (предпочтительно небольшими) параллельными транзакциями (как правило, однорядные обновления/вставки/удаление поисков по первичному ключу), и вы закладываете, чтобы сохранить все ваши данные в памяти, то это может быть очень масштабируемое и эффективное решение.

вы должны спросить себя, почему вы хотите кластера. Если вам просто нужна ваша обычная база данных, которая у вас есть сейчас, за исключением добавленной доступности 99,999%, вы можете быть разочарованы. Конечно, MySQL cluster может предоставить вам большую доступность и время работы, но рабочая нагрузка вашего приложения может быть не очень хорошо подходит для кластера thtings. Кроме того, вы можете использовать другое решение высокой доступности для увеличения времени работы вашей традиционной базы данных.

BTW-вот список ограничений в соответствии с документом: http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations.html

но что бы вы ни делали, попробуйте кластер, посмотрите, хорошо ли это для вас. MySQL cluster не является "MySQL + 5 девятки". Ты узнаешь, когда попытаешься.


кластер NDB поставляется с двумя типами опций хранения.

1.В Памяти Хранения. 2.Дисковый накопитель.

NDB введен как в хранилище данных памяти и в версии 7.4 (MYSQL 5.6) и далее начал поддерживать дисковое хранилище.

текущая версия 7.5 (MySQL 5.7) поддерживает дисковое хранилище, и в этом случае не будет ограничений по размеру, поскольку данные будут находиться на диске, и ограничение зависит от дискового пространства, доступного с вами.
Конфигурации дискового хранилища - https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data-symlinks.html

в хранилище памяти в кластере NDB также довольно зрелый, и вы можете определить использование памяти в конфигурации узла управления.ini-файл. образец - DataMemory=3072M IndexMemory=384M

в средней таблице (зависит от данных, хранящихся в Столбцах) общий размер БД должен быть меньше 1 ГБ, который можно легко настроить.

Примечание - В моей реализации я столкнулся с одной производительности проблема, поскольку производительность NDB ухудшается с увеличением количества строк в таблице. При высокой нагрузке параллелизм чтения будет ухудшаться с увеличением числа строк. Убедитесь, что вы не идете на полное сканирование таблицы и не предоставляете достаточный предикат предложения where. Для правильной производительности определите вторичный индекс правильно в соответствии с шаблоном запроса. Определение вторичного индекса снова увеличит потребление памяти, поэтому соответствующим образом спланируйте шаблон запроса и ресурсы памяти.