Майкл Видениус, соснователь MySQL, объявил о доступности первого стабильного выпуска кластерной СУБД MariaDB Galera, базирующейся на кодовой базе MariaDB и технологиях синхронной multi-master репликации Galera. Проект создан совместно с компанией Codership, развивающей систему Galera, и позиционируется в качестве конкурента кластерным решениям Oracle на базе MySQL. Код проекта поставляется под лицензией GPLv2.
Новый продукт расширяет возможности СУБД MariaDB, которая может выступать в качестве прозрачной замены MySQL 5.5, средствами для организации синхронной репликации данных между несколькими узлами (применяется топология active-active multi-master, допускающая чтение и запись для любого узла). При синхронной репликации все узлы всегда содержат актуальные данные, т.е. гарантируется отсутствие потерянных транзакций, так как транзакция фиксируется только после распространения данных по всем узлам. При этом, в рамках транзакции операции выполняются сразу, задержка из-за ожидания подтверждения возникает только при выполнении операции "commit". На разных узлах транзакции могут выполняться в параллельном режиме. При выполнении транзакции обеспечивается гарантированная неизменность состояния кластера в целом, независимо от других выполняемых в данный момент транзакций.
Репликация выполняется в параллельном режиме, на уровне строк, с передачей только информации об изменениях. Управление принадлежностью узлов кластеру выполняется автоматически, сбойные узлы сразу исключаются из кластера без участия администратора, новые узлы при необходимости можно подключить на лету без дополнительной переконфигурации. Кластер может быть территориально распределён на несколько дата-центров, при этом для клиента обеспечивается минимальная задержка - при размещении узлов в непосредственной близости от клиента, все операции чтения и записи будут выполняться с максимальной скоростью, задержка будет ощущаться только при выполнении коммитов транзакции.
Из достоинств MariaDB Galera также упоминается возможность масштабирования как операций чтения, так и записи. В частности, возможна распределённая организация записи, при которой узлы на которые уже произведена запись по цепочке инициируют запись на оставшиеся узлы. Например, в первой фазе запись параллельно производится на узлы разных дата-центров, после чего эти узлы реплицируют данные внутри каждого дата-центра, т.е. по медленному каналу проходит только репликация на один узел из каждой группы.
|