Окт 17, 2015 - 0 Comments - Интересно -

Стабильный выпуск СУБД MariaDB 10.1

17.10.2015 18:41 Стабильный выпуск СУБД MariaDB 10.1

После полутора лет разработки увидел свет первый стабильный выпуск новой ветки СУБД MariaDB 10.1, в рамках которой развивается ответвление от MySQL, сохраняющее обратную совместимость и отличающееся интеграцией дополнительных движков хранения и расширенных возможностей. Развитие MariaDB курирует независимая организация MariaDB Foundation в соответствии с полностью открытым и прозрачным процессом разработки, не зависящим от отдельных вендоров. MariaDB поставляется вместо MySQL во многих дистрибутивах Linux (RHEL 7, SUSE 12, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian 9) и внедрён в таких крупных проектах, как Wikipedia, Google Cloud SQL и Nimbuzz.

Ключевые улучшения MariaDB 10.1:

  • Поддержка шифрования таблиц и логов транзакций, которое позволяет защититься от утечки данных в случае кражи жесткого диска, но бесполезно в ситуации получения контроля над работающей СУБД, например, в результате атаки через подстановку SQL-запроса или взлома системы. При включении шифрования накладные расходы увеличиваются на 3-5%. Ключи шифрования имеет смысл хранить на отдельном защищённом сервере с включением системы ротации ключей, подразумевающей периодическое перешифрование с новым ключом после устаревания текущего ключа. Поддержка шифрования реализована в хранилищах XtraDB и InnoDB. Предлагается несколько схем: шифрование выбранных таблиц, шифрование всех таблиц в БД и шифрование всех таблиц за исключением выбранных. Благодаря шифрованию лога транзакций защита также обеспечивается в системах с репликацией;
  • Включение в базовую поставку технологии синхронной multi-master (active-active) репликации Galera, ранее предлагаемой в рамках отдельного продукта MariaDB Galera Cluster. Galera расширяет возможности СУБД MariaDB средствами синхронной репликации, при которой все узлы всегда содержат актуальные данные, т.е. гарантируется отсутствие потерянных транзакций, так как транзакция фиксируется только после распространения данных по всем узлам. При этом, в рамках транзакции операции выполняются сразу, задержка из-за ожидания подтверждения возникает только при выполнении операции «commit». Репликация выполняется в параллельном режиме, на уровне строк, с передачей только информации об изменениях. Управление принадлежностью узлов кластеру выполняется автоматически, сбойные узлы сразу исключаются из кластера без участия администратора, новые узлы при необходимости можно подключить на лету без дополнительной переконфигурации;
  • Возможность реплицирования данных c MySQL 5.6 при включении на MySQL поддержки GTID, т.е. MySQL теперь может использоваться в роли master-сервера для MariaDB. Указанная возможность позволяет существенно упростить тестирование в процессе миграции с MySQL на MariaDB;
  • Поддержка сжатия страниц данных для хранилищ InnoDB и XtraDB. От ранее доступного механизма сжатия (row_format=compressed) новый метод отличается возможностью выбора различных алгоритмов сжатия (zlib, lz4, lz0, lzma, bzip2 и snappy) и иной организацией процесса работы с упакованными данными. Если в традиционной реализации в буфере находятся как сжатые, так и ещё не упакованные данные, то новая схема подразумевает нахождение в буфере только распакованных данных — страницы сжимаются перед записью в хранилище и распаковываются после чтения. Новый метод наиболее эффективен при использовании SSD-накопителей или NVM-памяти. Наилучшие результаты наблюдаются при использовании плат FusionIO;
  • Реализована система дефрагментации хранилищ InnoDB, основанная на наработках, предоставленных компанией Facebook. Ранее, при удалении строк из InnoDB они лишь помечались удалёнными и становились доступны для новых записей без фактического освобождения блоков на диске и без возвращения дискового пространства системе. Выполнение «OPTIMIZE TABLE» решает указанную проблему, но путём полного перестроения таблицы с копированием имеющихся данных на новое место, т.е. требует наличия большого объёма свободного дискового пространства. После включения в файле конфигурации поддержки дефрагментации (innodb-defragment=1), выполнение команды «OPTIMIZE TABLE» не приводит к копированию в новые таблицы, а реализуется через механизм перемещения записей;
  • Реализован «оптимистичный» режим параллельного реплицирования, который значительно упрощён по сравнению с появившимися в MariaDB 10.0 средствами параллельной репликации slave-серверов. В частности, обеспечена возможность параллельного применения к slave-серверу любых операций INSERT/UPDATE/DELETE, даже если они пока не завершены на master-сервере;
  • Возможность проверки степени надёжности задаваемого пароля при помощи плагинов simple_password_check и cracklib_password_check;
  • Внесена порция оптимизаций производительности, позволивших снизить нагрузку на CPU и увеличить эффективность работы на многоядерных системах. Тестирование показало прирост числа обрабатываемых транзакций от 135 до 190% и возможность обработки более миллиона OLTP-операций в секунду;
  • Добавлены команды «EXPLAIN FORMAT=JSON» и «ANALYZE FORMAT=JSON», при которых вывод с оценкой характеристик запроса формируется в формате JSON. Штатный вывод команды ANALYZE теперь походит на вывод EXPLAIN, но включает полученные в результате выполнения запроса данные (число прочитанных строк и т.п.);
  • Средства для пространственной привязки (Spatial Reference) данных геоинформационных систем. Реализация новых функций для работы с пространственными координатами: ST_Boundary, ST_ConvexHull, ST_IsRing, ST_PointOnSurface, ST_Relate;
  • Поддержка выражений «IF EXISTS», «IF NOT EXISTS» и «OR REPLACE» в директивах «CREATE DATABASE», CREATE FUNCTION UDF», CREATE ROLE», CREATE SERVER», CREATE USER», CREATE VIEW», DROP ROLE», DROP USER», CREATE EVENT», «DROP EVENT» CREATE INDEX», «DROP INDEX» CREATE TRIGGER» и «DROP TRIGGER»;
  • Поддержка команд SHOW и FLUSH для плагинов, например, «SHOW LOCALES», «SHOW QUERY_RESPONSE_TIME», «FLUSH QUERY_RESPONSE_TIME»;
  • Поддержка директивы «SET DEFAULT ROLE«, позволяющей определить роль по умолчанию, применяемую ко всем новым соединениям;
  • Поддержка systemd.

С ранее реализованными возможностями MariaDB и отличиями от MySQL можно познакомиться в тексте анонса MariaDB 10.

  1. Главная ссылка к новости (https://blog.mariadb.org/maria…)
  2. OpenNews: Представлен прокси-сервер MariaDB MaxScale
  3. OpenNews: Компания SkySQL переименована в MariaDB Corporation
  4. OpenNews: Стабильный выпуск MariaDB Galera Cluster 10
  5. OpenNews: Стабильный выпуск СУБД MariaDB 10.0
  6. OpenNews: Компания Oracle анонсировала стабильный релиз MySQL 5.6
Тип: Интересно / Программы
Ключевые слова: mariadb, mysql, database, (найти похожие документы)
При перепечатке указание ссылки на opennet.ru обязательно
 
 
 
 
+/
> нельзя просто так взять и заменить mysql на postgresql везде и сразу.

Рвет Машка Постгрю как Тузик грелку по репликациям, у Постгри до сих пор не появилось нормальной репликации, одни недоподелия )))))

 
 
+/
>> нельзя просто так взять и заменить mysql на postgresql везде и сразу.
> Рвет Машка Постгрю как Тузик грелку по репликациям, у Постгри до сих
> пор не появилось нормальной репликации, одни недоподелия )))))

Полноте врать. Репликация нормальная. А вот Jsonb действительно рвет Json.

 
 
–1 +/
> В PostgreSQL нет и никогда не будет того, что есть в MySQL и её форках.

В этом то и вся прелесть PG — в ней нет дерьма и гогнокода которые есть в рукожопых mysql и форках.

 
 
+2 +/
>В этом то и вся прелесть PG — в ней нет дерьма и гогнокода

как и в любом другом софте, в ней свои тараканы. Религиозная ветка на другом домене 🙂

 
–1 +/
глюкавая хрень, гонятся за фишками а толку 0
критические баги не фиксят

пруф:

https://mariadb.atlassian.net/browse/MDEV-8525

безобидный запрос роняет сервер в сегфолт,
ИМХО любой запрос (даже самый хитровыгнутый) ни в коем случае не должен ронять сервер

в продакшне этому г-ну не место

дискуссию о пригодности mysql/mariadb к серьёзным делам не навязывать плиз

 
+/
Я был зело «за» mariadb, и уже в планах было потихоньку мигрировать подальше от оракала и мускула на десятке локалхостов, но в процессе тестирования нарвался на десяток неприятных багов, все из которых есть в жире в открытом состоянии (см #5 для примера).

Короче сильно сырое оно и рано его многие дистры начали пихать дефолтом.

А погромизды вместо того чтоб _критические_ баги позакрывать страдают фичами и поддержками системдоса.

Короче пока никакого доверия к этой шарашке, но надежда на них всё ещё есть, а вдруг возьмутся за голову и поймут что в движке БД первым делом идёт надёжность и стабильность, а потом уже фичи в вакууме.

 
 
 
–1 +/
> диванный эксперт подтянулся

Да он постоянно сотни рабочих мест на что-то переводит. Не надо внимания обращать.

 
+/
> и внедрён в таких крупных проектах, как Wikipedia, Google Cloud SQL и Nimbuzz.

Везде в Google Cloud SQL написано про MySQL ни слова про МашкуДБ

 

Ваш комментарий
 

This entry passed through the Full-Text RSS service — if this is your content and you’re reading it on someone else’s site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Человек ? *