MariaDB — это популярный форк MySQL, созданный разработчиками MySQL. 

Появился форк из-за опасений, связанных с приобретением MySQL Oracle и её политикой лицензирования.

Разработку и поддержку MariaDB осуществляет компания MariaDB Corporation Ab и фонд MariaDB Foundation. Компания Microsoft стала спонсором фонда наряду с компаниями Booking.com, Alibaba Cloud и Tencent Cloud.

MariaDB решает как небольшие задачи обработки данных, так и задачи для корпоративных нужд. Полностью заменяет MySQL и имеет с ней обратную совместимость, предлагает те же функции, что и MySQL и даже больше.

Ключевые особенности MariaDB

  • Все версии MariaDB имеют свободные лицензии GPL, LGPL или BSD
  • MariaDB включает в себя широкий выбор механизмов хранения, включая высокопроизводительные механизмы хранения, для работы с другими источниками данных СУБД
  • MariaDB использует стандартный и популярный язык запросов.
  • MariaDB работает на нескольких операционных системах и поддерживает широкий спектр языков программирования
  • MariaDB осуществляет поддержку PHP
  • MariaDB предлагает кластерные технологии Galera
  • MariaDB предлагает множество операций и команд, недоступных в MySQL, и устраняет или заменяет функции, отрицательно влияющие на производительность
  • MariaDB поддерживает XtraDB (улучшенная версия InnoDB) и другие подсистемы хранения

А также:

Виртуальные столбцы таблицы

Интересная функция, где столбцы способны выполнять вычисления на уровне базы данных. Это позволяет перенести типовые вычисления с приложений в сервер СУБД. Эта функция недоступна в MySQL.

Параллельное выполнение запросов

Одна из последних версий MariaDB — 10.0 допускает параллельное выполнение нескольких запросов. Этот параллелизм в выполнении запросов, безусловно, обеспечивает MariaDB преимущество над MySQL.

Пул потоков

MariaDB также представляет новую концепцию под названием «Thread Pooling». Ранее, когда требовалось несколько соединений с базой данных, для каждого соединения открывался поток, что приводило к архитектуре «один поток на соединение». С использованием «Thread Pooling» исспользуется пул потоков, которые могут повторно использоваться. Таким образом, новый поток не нужно открывать для каждого нового запроса на подключение, что приводит к более быстрым результатам запроса. Эта функция доступна в коммерческой версии MySQL, но недоступна в версии для сообщества.

Более высокая производительность на SSD

MariaDB предоставляет механизм хранения MyRocks, который позволяет хранить данные в RocksDB. RocksDB — это встраиваемая база данных, которая была разработана для повышения производительности обработки данных, хранимых на SSD-накопителях.

Сегментированный кеш ключей

В типичном кеше различные потоки конкурируют за блокировку кэшированной записи. Только один поток может получить доступ, в то время как другим приходится ждать перед выполнением операции. Это приводит к задержкам выполнения в этих потоках, замедляя производительность базы данных. В случае сегментированного кэша ключей потоку не нужно блокировать всю страницу, но он может блокировать только тот сегмент, к которому относится страница. Это помогает нескольким потокам работать параллельно, увеличивая параллелизм в приложении, что приводит к повышению производительности базы данных.



Четверг, Февраль 25, 2021

« Назад