Вопросы о кластере MySQL

Я прочитал большую часть документов MySQL Cluster и некоторых учебных руководств все же, у меня все еще есть некоторые вещи, не ясные, и майор их прямо сейчас:

  1. То, когда узел данных перезапускает (откажите, и повышается снова), будет он быть данными все еще быть доступным? Обновления/Дополнения будут работать, как обычно? Это будет "синхронизировать"?
  2. Кластер работает быстрее, чем автономный? В частности, я много раз обновляю строки, но по одному, подразумевая, что сетевая задержка могла бы оказать влияние на производительность. Есть ли какой-либо шаблон, за которым я могу следовать для создания вещей быстрее, таких как добавление большего количества узлов SQL или добавление узлов данных режима?

Относительно вопроса № 2 обновление строки находится в следующем синтаксисе:

UPDATE db_accounts.tbl_items SET items=items+%lld WHERE id_account=%u

"id_account" является (уникальным) индексом.

5
задан Amro 2 July 2012 в 07:26
поделиться

1 ответ

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

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

Очевидно, что, учитывая распределенность узлов, медленная или перегруженная сеть будет сильно влиять на производительность.

8
ответ дан 18 December 2019 в 14:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: