Может кто-нибудь сказать мне, если этот такое высокопроизводительный вычислительный кластер или кластер mySQL с высокой доступностью?
Eсть картина установки.
Это часть config.ini
они говорят о
[ndbd default]
NoOfReplicas=2 # Number of replicas
Правильно ли понял, что NoOfReplicas
определяет, есть ли у меня кластер HPC или HA?
Реплики предназначены для резервирования серверов, что, в свою очередь, может обеспечить более высокую доступность. Количество реплик напрямую коррелирует с количеством серверов в разделе, которые могут выйти из строя без отключения MySQL Cluster.
Разделы предназначены для разделения обработки между серверами, что, в свою очередь, может обеспечить более высокую производительность. Количество разделов напрямую коррелирует с количеством серверов, между которыми будут делиться запросы к MySQL Cluster.
Дай мне посмотреть, смогу ли я прояснить это. Если у вас есть два сервера с двумя репликами, производительность записи может снизиться из-за необходимости репликации данных. В обоих случаях, с одной репликой или двумя репликами, производительность чтения может быть увеличена, поскольку есть два раздела (два сервера), по которым выполняется разделение запроса.
MySQL Cluster не обеспечивает избыточности клиентской части MySQL Server, поэтому это не готовое решение для мгновенной высокой доступности. Вам понадобится либо логика приложения, чтобы найти доступный SQL-сервер, либо вам понадобится сервисный мониторинг / сетевая логика для переключения отказавшего SQL-сервера на тот, который функционирует. (Вы также можете попробовать установить интерфейс MySQL Server непосредственно на серверах приложений.)
Кроме того, снижение производительности или преимущества MySQL Cluster будут зависеть от того, как ваше приложение использует базу данных и какие существуют узкие места. Переключение с локальных сокетов на сетевые подключения увеличит задержку. Простые запросы кэшированных данных будут узким местом на сервере SQL. С другой стороны, некоторая обработка, которая связана либо с процессором, либо с моим дисковым вводом-выводом, сильно выиграет. Лучший способ узнать точное влияние на производительность или выгоду, которую кластер MySQL принесет вашему приложению, - это просто его протестировать.
С настройкой, подобной той, что изображена на этой странице, вы получаете HPC и некоторые элементы HA. Если один из серверов NDBD выходит из строя, серверы SQL подключаются к другому и обычно продолжают работу без вмешательства. Если один из серверов SQL выходит из строя, приложение должно знать, как подключиться к другому серверу SQL (или должен существовать уровень абстракции), чтобы поддерживать высокую доступность.
Прежде всего, большинство кластеров HPC будут содержать некоторые аспекты высокой доступности (однако обратное неверно). Это потому, что для того, чтобы работать быстрее, каждый узел должен работать без особой координации с другими узлами; поэтому обычно есть много частей, которые могут выйти из строя, не остановив другие.
Но, в конце концов, я бы сказал, что кластеризация MySQL в основном предназначена для HPC, а не для HA.