Выбор правильного движка хранения
Обзор основных причин выбора того или иного движка хранения:
Список тем
Общего назначения
- InnoDB — хороший движок хранения для транзакций общего назначения, и, начиная с MariaDB 10.2, лучший выбор в большинстве случаев. Это по умолчанию движок хранения с MariaDB 10.2. Для более ранних версий, XtraDB был усовершенствованной вилкой InnoDB и обычно предпочтительнее.
- Aria, более современное улучшение MyISAM от MariaDB, имеет небольшой размер и позволяет легко копировать данные между системами.
- MyISAM имеет небольшой размер и позволяет легко копировать данные между системами. MyISAM — это самый старый движок хранения MySQL. Обычно нет особой причины его использовать, кроме как для задач обратной совместимости. Aria — более современное улучшение от MariaDB.
- XtraDB был лучшим выбором в MariaDB 10.1 и ранее в большинстве случаев. Это усовершенствованная вилка InnoDB и был движком по умолчанию в MariaDB до MariaDB 10.1.
Масштабирование, Разбиение
Когда необходимо распределить нагрузку базы данных на несколько серверов или оптимизировать масштабирование. Мы также рекомендуем рассмотреть Galera, синхронный кластер с множеством глав.
- Spider использует разбиение для фрагментации данных через несколько серверов.
- ColumnStore использует распределенную архитектуру с массивным параллелизмом и предназначен для масштабирования больших данных, чтобы обрабатывать петабайты данных.
- Движок хранения MERGE представляет собой набор идентичных таблиц MyISAM, которые могут использоваться как единое целое. "Идентичные" означает, что у всех таблиц одинаковая информация о столбцах и индексах.
- TokuDB — транзакционный движок хранения, оптимизированный для рабочих нагрузок, которые не помещаются в оперативную память, и обеспечивает хорошее сжатие. TokuDB устарел разработчиками-производителями и отключен в MariaDB 10.5, а удален в MariaDB 10.6
Сжатие/Архивирование
- MyRocks обеспечивает большее сжатие, чем InnoDB, а также меньшее увеличение записи, что обеспечивает лучшую выносливость флеш-хранилища и улучшает общую пропускную способность.
- Движок хранения Archive, как нетрудно догадаться, лучше всего подходит для архивирования.
- TokuDB — транзакционный движок хранения, оптимизированный для рабочих нагрузок, которые не помещаются в оперативную память, и обеспечивает хорошее сжатие. TokuDB устарел разработчиками-производителями и отключен в MariaDB 10.5, а удален в MariaDB 10.6
Подключение к другим источникам данных
Когда необходимо использовать данные, не хранящиеся в базе данных MariaDB.
- CONNECT позволяет получить доступ к различным видам текстовых файлов и удаленным ресурсам, как если бы они были обычными таблицами MariaDB.
- Движок хранения CSV может читать и добавлять данные в файлы, хранящиеся в формате CSV (comma-separated-values). Однако, начиная с MariaDB 10.0, CONNECT является лучшим выбором и обладает большей гибкостью при чтении и записи таких файлов.
- FederatedX использует libmysql для взаимодействия с источником данных, являющимся удалённой СУБД. В настоящее время, так как FederatedX использует только libmysql, он может взаимодействовать только с другой СУБД MySQL.
- CassandraSE — это движок хранения, позволяющий получить доступ к более ранней версии NoSQL СУБД Apache Cassandra. Он был относительно экспериментальным, больше не развивается и удален в MariaDB 10.6.
Оптимизированный для поиска
Движки поиска, оптимизированные для поиска.
- SphinxSE используется в качестве прокси для выполнения запросов на удалённом сервере Sphinx (в основном полезен для сложных полнотекстовых поисков).
- Mroonga обеспечивает быстрый полнотекстовый поиск, готовый к CJK, с использованием хранилища столбцов.
Кэш, только чтение
- MEMORY не записывает данные на диск (все строки теряются при сбое) и лучше всего подходит для кэширования данных из других таблиц или для временных рабочих областей. Ввиду наличия у стандартных InnoDB и других движков хранения хороших возможностей кэширования, необходимость в этом движке уменьшилась.
Другие специализированные движки хранения
- Движок хранения S3 — движок хранения только для чтения, который хранит данные в Amazon S3.
- Sequence позволяет создавать возрастающие или убывающие последовательности чисел (положительные целые числа) с заданным начальным значением, конечным значением и шагом, автоматически создавая виртуальные, временные таблицы по мере необходимости.
- Движок хранения BLACKHOLE принимает данные, но не сохраняет их и всегда возвращает пустой результат. Это может быть полезно в средах репликации, например, если необходимо выполнить сложные правила фильтрации на подчиненном сервере без дополнительной нагрузки на главный.
- OQGRAPH позволяет обрабатывать иерархии (деревовидные структуры) и сложные графы (узлы, имеющие множество соединений в нескольких направлениях).
Алфавитный список
- Движок хранения Archive, как нетрудно догадаться, лучше всего подходит для архивирования.
- Aria, более современное улучшение MyISAM от MariaDB, имеет небольшой размер и позволяет легко копировать данные между системами.
- Движок хранения BLACKHOLE принимает данные, но не сохраняет их и всегда возвращает пустой результат. Это может быть полезно в средах репликации, например, если необходимо выполнить сложные правила фильтрации на подчиненном сервере без дополнительной нагрузки на главный.
- CassandraSE — это движок хранения, позволяющий получить доступ к более ранней версии NoSQL СУБД Apache Cassandra. Он был относительно экспериментальным, больше не развивается и удален в MariaDB 10.6.
- ColumnStore использует распределенную архитектуру с массивным параллелизмом и предназначен для масштабирования больших данных, чтобы обрабатывать петабайты данных.
- CONNECT позволяет получить доступ к различным видам текстовых файлов и удаленным ресурсам, как если бы они были обычными таблицами MariaDB.
- Движок хранения CSV может читать и добавлять данные в файлы, хранящиеся в формате CSV (comma-separated-values). Однако, начиная с MariaDB 10.0, CONNECT является лучшим выбором и обладает большей гибкостью при чтении и записи таких файлов.
- FederatedX использует libmysql для взаимодействия с источником данных, являющимся удалённой СУБД. В настоящее время, так как FederatedX использует только libmysql, он может взаимодействовать только с другой СУБД MySQL.
- InnoDB — хороший движок хранения для транзакций общего назначения, и, начиная с MariaDB 10.2, лучший выбор в большинстве случаев. Это по умолчанию движок хранения с MariaDB 10.2. Для более ранних версий, XtraDB был усовершенствованной вилкой InnoDB и обычно предпочтительнее.
- Движок хранения MERGE представляет собой набор идентичных таблиц MyISAM, которые могут использоваться как единое целое. "Идентичные" означает, что у всех таблиц одинаковая информация о столбцах и индексах.
- MEMORY не записывает данные на диск (все строки теряются при сбое) и лучше всего подходит для кэширования данных из других таблиц или для временных рабочих областей. Ввиду наличия у стандартных InnoDB и других движков хранения хороших возможностей кэширования, необходимость в этом движке уменьшилась.
- Mroonga обеспечивает быстрый полнотекстовый поиск, готовый к CJK, с использованием хранилища столбцов.
- MyISAM имеет небольшой размер и позволяет легко копировать данные между системами. MyISAM — это самый старый движок хранения MySQL. Обычно нет особой причины его использовать, кроме как для задач обратной совместимости. Aria — более современное улучшение от MariaDB.
- MyRocks обеспечивает большее сжатие, чем InnoDB, а также меньшее увеличение записи, что обеспечивает лучшую выносливость флеш-хранилища и улучшает общую пропускную способность.
- OQGRAPH позволяет обрабатывать иерархии (деревовидные структуры) и сложные графы (узлы, имеющие множество соединений в нескольких направлениях).
- Движок хранения S3 — движок хранения только для чтения, который хранит данные в Amazon S3.
- Sequence позволяет создавать возрастающие или убывающие последовательности чисел (положительные целые числа) с заданным начальным значением, конечным значением и шагом, автоматически создавая виртуальные, временные таблицы по мере необходимости.
- SphinxSE используется в качестве прокси для выполнения запросов на удалённом сервере Sphinx (в основном полезен для сложных полнотекстовых поисков).
- Spider использует разбиение для фрагментации данных через несколько серверов.
- TokuDB — транзакционный движок хранения, оптимизированный для рабочих нагрузок, которые не помещаются в оперативную память, и обеспечивает хорошее сжатие. TokuDB устарел разработчиками-производителями и отключен в MariaDB 10.5, а удален в MariaDB 10.6
- XtraDB был лучшим выбором в MariaDB 10.1 и ранее в большинстве случаев. Это усовершенствованная вилка InnoDB и был движком по умолчанию в MariaDB до MariaDB 10.1.
Содержимое, воспроизводимое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают мнения MariaDB или любой другой стороны.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/choosing-the-right-storage-engine/