| ||
Автор: Алексей Паутов
Источник: RussianLDP:MySQL
Данное руководство подготовлено Алексеем Паутовым в рамках некоммерческого проекта RussianLDP:MySQL ( http://www.botik.ru/~rldp/mysql.htm). Именно по этому адресу публикуются новые версии, а также другие материалы по MySQL.
MySQL Cluster использует новый способ хранения NDB Cluster
,
чтобы сделать возможным выполнение нескольких серверов MySQL в кластере.
Способ NDB Cluster
доступен в BitKeeper для MySQL 4.1.2 и в
двоичных дистрибутивах MySQL-Max 4.1.3.
В настоящее время поддерживаются операционные системы Linux, Mac OS X и
Solaris. Ведутся работы по поддержке NDB Cluster
на всех
операционных системах, поддерживаемых MySQL, включая Windows.
Вы можете подписаться на список рассылки MySQL Cluster. Подробности на http://lists.mysql.com. Вы можете также обратиться к форумам MySQL на http://forums.mysql.com.
MySQL Cluster
представляет собой новую технологию, созданную
чтобы использовать кластеризацию в оперативной памяти баз данных в системе,
совместно не использующей ничего. Архитектура таких систем позволяет системе
работать с очень недорогими аппаратными средствами, и без любых специфических
требований к аппаратным средствам или программному обеспечению. Это также не
имеет никакой общей точки для сбоев потому, что каждый компонент имеет
собственную память и диск.
MySQL Cluster интегрирует в оперативной памяти стандартный сервер MySQL с
кластеризуемым способом хранения по имени NDB
. В нашей
документации термин NDB
относится к части установки, которая
является специфической для способа хранения, в то время как
MySQL Cluster
относится к комбинации MySQL и
нового способа хранения.
MySQL Cluster состоит из набора компьютеров, каждый выполняет ряд процессов, включая сервер MySQL, узлы хранения для NDB, сервер управления и (возможно) специализированные программы доступа к данным. Все эти программы работают вместе, чтобы формировать MySQL Cluster. Когда данные сохранены в NDB Cluster, таблицы сохранены в узлах памяти для NDB Cluster. Такие таблицы непосредственно доступны со всех других серверов MySQL в кластере. Таким образом, в прикладной программе, сохраняющей данные в кластере, если одна прикладная программа что-то модифицирует, все другие серверы, которые сделают запрос, эти данные могут увидеть измененными немедленно.
Данные, сохраненные в узлах памяти для MySQL Cluster могут быть зеркалированы, кластер может обрабатывать сбои индивидуальных узлов памяти, теряя только тот ряд транзакций, которые прерваны из-за потери состояния транзакции. С тех пор как транзакционные программы (как должно быть) обрабатывают сбой транзакции, это не должно быть источником проблем.
NDB
представляет собой сочетание свойств постоянства данных и
их высокой доступности.
Способ хранения NDB
может быть конфигурирован с большим
числом параметров, в том числе балансирующих загрузку, но самое простое
начать с уровня кластера. MySQL Cluster NDB
содержит полный
набор данных, зависимых только от других данных внутри кластера.
Теперь опишем, как установить MySQL Cluster, состоящий из NDB
и нескольких серверов MySQL.
Кластерная часть MySQL Cluster в настоящее время конфигурируется
независимо от серверов MySQL. В MySQL Cluster каждая часть кластера
именуется node (узел)
.
Обратите внимание: узел встречается во многих контекстах, но для MySQL Cluster он является процессом. Может иметься любое число узлов на одном компьютере.
Каждый узел имеет тип, и может быть несколько узлов каждого типа в MySQL Cluster. В минимальной конфигурации кластера MySQL будут по крайней мере три узла:
MGM
). Роль этого типа узла: управлять
другими узлами внутри MySQL Cluster, типа обеспечения данных конфигурации,
старта и остановки узлов, выполнение резервного копирования и т.д. Поскольку
этот тип узла управляет конфигурацией других узлов, узел этого типа должен
быть запущен перед любым другим узлом. При работе кластера узел MGM не
обязательно должен выполняться все время. MGM-узел запускается командой
ndb_mgmd
, по этой причине NDB_MGMD обеспечивается как псевдоним
для MGM при конфигурировании кластера.
DB
). Это тип узла, который
управляет и сохраняет базу данных непосредственно. Имеется столько DB-узлов,
сколько имеется фрагментов для репликаций. Например, с двумя репликациями по
два фрагмента каждая, надо четыре DB-узла. Вполне достаточно одной
репликации, стало быть минимальный кластер может содержать только один
DB-узел. DB-узел запускается командой ndbd
и NDBD обеспечивается
как псевдоним для DB при конфигурировании кластера.
API
) узел. Это узел пользователя, который
обратится к кластеру. В случае кластера MySQL, узел пользователя традиционный
сервер MySQL, который использует тип хранения NDB Cluster
,
допуская доступ к кластеризуемым таблицам. В основном, сервер MySQL действует
как пользователь кластера NDB. Прикладные программы, использующие NDB API
непосредственно, также рассматриваются как узлы API. Так как сервер MySQL
обычно запускается командами mysqld
или
mysqld_safe
, MYSQLD обеспечивается как псевдоним
для API при конфигурировании кластера.Процессы кластера также упоминаются как узлы кластера. Конфигурация кластера включает конфигурирование каждого индивидуального узла в кластере и устанавку индивидуальных связей между узлами. Кластер MySQL в настоящее время разработан с учетом того, что узлы памяти гомогенные в терминах мощности процессора, пространства памяти и ширины каналов связи. Кроме того, чтобы обеспечивать одиночную точку конфигурации, все данные конфигурации для кластера в целом размещены в одном файле конфигурации.
Сервер управления управляет файлом конфигурации кластера и файлом регистрации кластера. Каждый узел в кластере получает данные конфигурации с сервера управления, так что требуется способ определить, где сервер управления постоянно находится. Когда интересные события происходят в узлах памяти, узлы передают информацию относительно этих событий на сервер управления, который затем записывает информацию в файл регистрации кластера.
Кроме того, может иметься любое число клиентуры. Она имеет два типа.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |