MySQL Cluster обзор
Обзор кластера
Кластер - это набор компонентов для обеспечения масштабируемости и доступности при низких затратах. MySQL Cluster - это технология, которая позволяет кластеризовать базы данных в памяти в системе без совместного использования ресурсов. Текущая версия GA - MySQL Cluster 7.3. MySQL 5.6 интегрирован и связан с MySQL Cluster.
MySQL Cluster предназначен для работы на обычном оборудовании. Используя специализированное оборудование, такое как сетевые межсоединения Infiniband, можно достичь еще более высоких уровней производительности, особенно на больших кластерах с множеством узлов.
Особенности MySQL Cluster:
- MySQL Cluster - это масштабируемая в реальном времени ACID-совместимая транзакционная база данных,
- Сочетание доступности выше 99,999% с низкой совокупной стоимостью владения открытым исходным кодом.
- Разработан на основе распределенной многоуровневой архитектуры без единой точки отказа.
- MySQL Cluster масштабируется горизонтально на стандартном оборудовании для обслуживания интенсивных рабочих нагрузок чтения и записи.
- Доступ через интерфейсы SQL и NoSQL.
- Конструкция MySQL Cluster в реальном времени обеспечивает предсказуемое время отклика в миллисекундах с возможностью обслуживать миллионы операций в секунду.
- Поддержка данных в памяти и на диске, автоматическое разделение данных (sharding) с балансировкой нагрузки
- Возможность добавления узлов в работающий кластер с нулевым временем простоя позволяет линейно масштабировать базу данных для обработки самых непредсказуемых веб-нагрузок.
Системные требования для MySQL Cluster
Операционные системы | Смотри отсюда |
ЦПУ | Intel / AMD x86, UltraSPARC |
объем памяти | Минимум 1 ГБ ОЗУ |
жесткий диск | 3GB |
сеть | 1+ узлов (Gigabit Ethernet - TCP / IP) |
MySQL Cluster: когда использовать
- Для защиты вашей базы данных от растущих объемов операций записи (UPDATE, INSERT, DELETE)
- Для обеспечения согласованности результатов операций SELECT независимо от того, с какого узла они возвращаются
- Может ли сбой базы данных привести к простою приложения?
- Будет ли потеря данных (даже если всего несколько секунд стоит) при сбое.
- Для репликации базы данных по географическим регионам, где каждый регион выполняет операции чтения и записи.
- Приложение в основном состоит из «коротких» транзакций (т.е. 10 с операций на транзакцию против 1000 с), выполняемых параллельно.
- Приложение в основном состоит из: доступа к базе данных первичного ключа с некоторыми операциями JOIN по сравнению с регулярным выполнением полного сканирования таблиц и JOIN, возвращающих десятки тысяч строк
MySQL Cluster: где использовать
Приложения включают в себя:
- OLTP большого объема (онлайн обработка транзакций)
- Аналитика в реальном времени
- Электронная коммерция и финансовая торговля с обнаружением мошенничества
- Мобильные и микроплатежи
- Управление сессиями и кеширование
- Потоковая передача, анализ и рекомендации
- Управление контентом и доставка
- Многопользовательские онлайн игры
- Услуги связи и присутствия
- Абонент / управление профилем пользователя и права
MySQL Cluster: показатели производительности
- Доступность
- 99,999% (<5 минут простоя / год)
- Спектакль
- Время отклика: менее 5 миллисекунд. Более быстрое время отклика может быть достигнуто с помощью одного из методов доступа NoSQL.
- Пропускная способность 600 000+ реплицированных операций UPDATE / сек на сервере Intel с двумя сокетами, оснащенном 64 ГБ ОЗУ. 1 миллиард операций ОБНОВЛЕНИЯ в минуту в кластере из 30 серверов Intel.
- Отказоустойчивость
- Отказ за секунду позволяет вам предоставлять услуги без перерыва
- Масштабируемость
- Масштабируйте, масштабируйте и масштабируйте динамически
- Для экономически эффективного масштабирования:
- Добавить больше приложений и узлов данных на кластер, или
- Добавьте больше потоков ЦП (16, 32, 64 и т. Д.) Или
- Добавьте больше памяти (32 ГБ, 64 ГБ и т. Д.) Для каждого узла данных
MySQL Cluster: количество физических серверов для создания минимальной конфигурации кластера
В целях оценки и разработки вы можете запустить все узлы на одном хосте. Для полной избыточности и отказоустойчивости вам потребуется как минимум 6 физических хостов:
- 2 х узлов данных
- 2 x узла приложений SQL / NoSQL
- 2 х узлов управления
MySQL Cluster: бездисковая опция
Для опции «Без диска» применяются следующие ограничения:
- Нет данных на диске
- Потеря данных в случае сбоя кластера
- Нет резервной копии
MySQL Cluster Manager
MySQL Cluster Manager - это программное обеспечение, которое упрощает создание и управление базой данных MySQL Cluster за счет автоматизации общих задач управления. MySQL Cluster Manager не является программным обеспечением с открытым исходным кодом. Он доступен только как часть коммерческой базы данных MySQL Cluster Carrier Grade Edition (CGE). Используя MySQL Cluster Manager, администраторы баз данных (DBA) и системный администратор более продуктивны, что позволяет им сосредоточиться на стратегических ИТ-инициативах и быстрее реагировать на меняющиеся требования пользователей. В то же время риски простоя базы данных, которые ранее возникали из-за ошибок конфигурации вручную, значительно снижаются. База данных MySQL Cluster поддерживается MySQL Cluster 6.3 и выше. Этот URL-адрес содержит список поддерживаемых платформ MySQL Cluster Manager.
Практический пример
Например, операции управления, требующие непрерывного перезапуска базы данных MySQL Cluster, которая ранее требовала 46 ручных команд и которая занимала 2,5 часа времени DBA, теперь могут выполняться с помощью одной команды и полностью автоматизированы с помощью MySQL Cluster Manager, что позволяет сократить:
- Сложность управления и накладные расходы;
- Риск простоя за счет автоматизации процессов управления конфигурацией и изменениями;
- Пользовательский сценарий команд управления или разработка и поддержка собственных инструментов управления.
MySQL Cluster Manager: Функции управления функциями
- Администраторы могут создавать и удалять целые кластеры.
- Администраторы могут запускать, останавливать и перезапускать кластер с помощью одной команды, а также добавлять узлы в режиме онлайн.
- Поэтому администраторам больше не нужно вручную перезапускать каждый узел данных в правильной последовательности или создавать собственные сценарии для автоматизации процесса.
- MySQL Cluster Manager автоматизирует оперативные операции управления, включая обновление, понижение версии и реконфигурирование работающих кластеров.
- Администраторам больше не нужно вручную редактировать файлы конфигурации и распространять их на все остальные узлы кластера.
- MySQL Cluster Manager обрабатывает все эти задачи, тем самым применяя передовые методы и делая операции в режиме онлайн значительно проще, быстрее и менее подверженным ошибкам.
- MySQL Cluster Manager предоставляет возможность контролировать весь кластер как единый объект, а также поддерживает очень детальный контроль вплоть до отдельных процессов внутри самого кластера.
- MySQL Cluster Manager может отслеживать состояние кластера как на операционной системе, так и на уровне отдельных процессов, автоматически опрашивая каждый узел в кластере.
- MySQL Cluster Manager может определить, является ли хост или сервер процесса живым, мертвым или зависшим, что позволяет быстрее обнаруживать проблемы, устранять их и восстанавливать.
- MySQL Cluster Manager интегрирует и расширяет существующие функции управления, автоматизируя задачи, которые ранее выполнялись администратором вручную.
- MySQL Cluster обладает способностью к самовосстановлению от сбоев, автоматически перезапуская отказавшие узлы данных, без ручного вмешательства.
- MySQL Cluster Manager может управлять, контролировать и восстанавливать все узлы в кластере (за исключением того, что узлы приложений получают доступ к кластеру через C ++, Cluster Connector для Java, OpenLDAP и т. Д.).
- MySQL Cluster Manager отделен от реальных процессов базы данных, поэтому, если агент управления останавливается или обновляется, это никак не влияет на работающую базу данных.
- MySQL Cluster Manager реализован в виде набора агентов - по одному на каждом физическом хосте, который будет содержать узлы (процессы) MySQL Cluster, которыми нужно управлять.
- При использовании MySQL Cluster Manager для управления развертыванием MySQL Cluster администратор больше не редактирует файлы конфигурации (например, config.ini и my.cnf); вместо этого эти файлы создаются и поддерживаются агентами
- MySQL Cluster Manager поддерживает асинхронную связь между каждым агентом управления для надежного распространения запросов реконфигурации. В результате конфигурации остаются согласованными на всех узлах кластера.
Справка: MySQL кластер CGE
Предыдущая: Резервное копирование и восстановление MySQL
Далее: MySQL Вопросы Ответы
Новый контент: Composer: менеджер зависимостей для PHP , R программирования