Spec-Zone .ru
спецификации, руководства, описания, API
|
Оглавление
InnoDB
Механизм храненияInnoDB
ТаблицыInnoDB
InnoDB
Понятия и АрхитектураInnoDB
Настройка производительности и Поиск и устранение
неисправностейInnoDB
Функции Гибкости, Простота использования
andReliabilityInnoDB
Опции запуска и Системные ПеременныеInnoDB
ТаблицыMyISAM
Механизм храненияMEMORY
Механизм храненияCSV
Механизм храненияARCHIVE
Механизм храненияBLACKHOLE
Механизм храненияMERGE
Механизм храненияFEDERATED
Механизм храненияEXAMPLE
Механизм хранения Механизмы хранения являются компонентами MySQL, которые обрабатывают операции SQL для различных табличных типов.
InnoDB
механизм хранения самый общего назначения, и Oracle рекомендует
использовать его для таблиц за исключением специализированных вариантов использования. ( CREATE TABLE
оператор в MySQL 5.6 создает InnoDB
таблицы по умолчанию.)
MySQL Server использует сменную архитектуру механизма хранения, которая позволяет механизмам хранения быть загруженными в и разгруженными от рабочего сервера MySQL.
Чтобы определить, который поддерживают механизмы хранения Ваш сервер, используйте SHOW ENGINES
оператор. Значение в Support
столбец
указывает, может ли механизм использоваться. Значение YES
, NO
, или DEFAULT
указывает, что механизм доступен, не
доступен, или доступен и в настоящий момент набор как механизм хранения значения по умолчанию.
Эта глава прежде всего описывает функции и показатели производительности InnoDB
таблицы. Это также покрывает варианты использования для механизмов хранения MySQL специального назначения, за
исключением NDB
который охватывается в Главе
17, MySQL Cluster NDB 7.3. Для усовершенствованных пользователей это также содержит описание
сменной архитектуры механизма хранения (см. Раздел
14.12, "Краткий обзор MySQL Storage Engine Architecture").
Для получения информации о поддержке механизма хранения, предлагаемой в коммерческих двоичных файлах MySQL
Server, см.
Для ответов на некоторые обычно задаваемые вопросы о механизмах хранения MySQL см. Раздел B.2, "FAQ MySQL 5.6: Механизмы Хранения".
InnoDB
:
Безопасное от транзакции (совместимый ACID) механизм хранения для MySQL, у которого есть фиксация,
откат, и возможности восстановления катастрофического отказа защитить пользовательские данные. InnoDB
блокировка на уровне строки (без подъема к более грубым
блокировкам гранулярности) и стиль Oracle непротиворечивые чтения без блокировки увеличивает
многопользовательский параллелизм и производительность. InnoDB
хранит
пользовательские данные в кластерных индексах, чтобы уменьшить ввод-вывод для общих запросов, основанных
на первичных ключах. Поддержать целостность данных, InnoDB
также
поддерживает FOREIGN KEY
ограничения ссылочной целостности. InnoDB
механизм хранения значения по умолчанию в MySQL 5.6.
MyISAM
:
У этих таблиц есть маленькое место. Блокировка на уровне таблицы ограничивает
производительность в рабочих нагрузках чтения-записи, таким образом, это часто используется в только для
чтения или рабочих нагрузках чтения главным образом в конфигурациях организации хранилищ данных и Сети.
Memory
:
Хранит все данные в RAM, для быстрого доступа в средах, которые требуют быстрых поисков некритических
данных. Этот механизм был прежде известен как HEAP
механизм. Его варианты
использования уменьшаются; InnoDB
с его пулом буферов область памяти
обеспечивает и длительный способ общего назначения сохранить больше всего или все данные в памяти, и
NDBCLUSTER
обеспечивает быстрые поиски значения ключа для огромных
распределенных наборов данных.
CSV
: Его
таблицы являются действительно текстовыми файлами с разделенными от запятой значениями. Таблицы CSV,
которым позволяют Вы импортировать или вывести данные в формате CSV, обмениваться данными со сценариями
и приложениями, которые читают и пишут тот же самый формат. Поскольку таблицы CSV не индексируются, Вы
обычно удерживаете данные InnoDB
таблицы во время нормального
функционирования, и только используют таблицы CSV во время импорта или экспортируют этап.
Archive
:
Эти компактные, неиндексированные таблицы предназначаются для хранения и получения большого количества
исторических редко ссылаемых, заархивированный, или информация о проверке защиты.
Blackhole
:
Механизм хранения Черной дыры принимает, но не хранит данные, подобные Unix /dev/null
устройство. Запросы всегда возвращают пустое множество. Эти таблицы могут использоваться в конфигурациях
репликации, куда операторы DML отправляются ведомым серверам, но главный сервер не сохраняет свою
собственную копию данных.
NDB
(также известный как NDBCLUSTER
) — Этот кластеризируемый механизм базы данных особенно
подходит для приложений, которые требуют максимально возможной степени времени работы и доступности.
NDB
механизм хранения не поддерживается в стандартных выпусках MySQL 5.6. В настоящий момент
поддерживаемые выпуски MySQL Cluster включают MySQL Cluster NDB 7.0 и MySQL Cluster NDB 7.1,
которые основаны на MySQL 5.1; MySQL Cluster NDB 7.2, который основан на MySQL 5.5; и MySQL
Cluster NDB 7.3, который основан на MySQL 5.5. В то время как основанный на MySQL Server, эти
выпуски также содержат поддержку NDB
.
Merge
:
Позволяет DBA MySQL или разработчику логически сгруппировать серию идентичных MyISAM
таблицы и ссылка их как один объект. Хороший для сред VLDB, таких как организация хранилищ данных.
Federated
:
Предлагает возможность соединить отдельные серверы MySQL, чтобы создать одну логическую базу данных из
многих физических серверов. Очень хороший для сред распределенной или витрины данных.
Example
: Этот механизм служит примером в исходном коде MySQL, который
иллюстрирует, как начать писать новые механизмы хранения. Это имеет прежде всего интерес для
разработчиков. Механизм хранения является "тупиком", который ничего не делает. Можно составить
таблицы с этим механизмом, но никакие данные не могут храниться в них или получены от них.
Вы не ограничиваетесь использованию того же самого механизма хранения для всего сервера или схемы. Можно
определить механизм хранения для любой таблицы. Например, приложение могло бы использовать главным образом InnoDB
таблицы, с одним CSV
таблица для того, чтобы
экспортировать данные в электронную таблицу и некоторых MEMORY
таблицы для
временных рабочих пространств.
Выбор Механизма Хранения
Различные механизмы хранения, предоставленные MySQL, разрабатываются с различными вариантами использования в памяти. Следующая таблица обеспечивает краткий обзор некоторых механизмов хранения, предоставленных MySQL:
Таблица 14.1. Сводка Функции Механизмов хранения
Функция | MyISAM | Память | InnoDB | Архив | NDB |
---|---|---|---|---|---|
Пределы хранения | 256TB | RAM | 64TB | Ни один | 384EB |
Транзакции | Нет | Нет | Да | Нет | Да |
Блокировка гранулярности | Таблица | Таблица | Строка | Таблица | Строка |
MVCC | Нет | Нет | Да | Нет | Нет |
Картографические данные вводят поддержку | Да | Нет | Да | Да | Да |
Geospatial, индексирующий поддержку | Да | Нет | Нет | Нет | Нет |
B-дерево индексирует | Да | Да | Да | Нет | Нет |
T-древовидные-индексы | Нет | Нет | Нет | Нет | Да |
Хеш индексирует | Нет | Да | Нет | Нет | Да |
Полнотекстовый поиск индексирует | Да | Нет | Да [b] | Нет | Нет |
Кластерные индексы | Нет | Нет | Да | Нет | Нет |
Кэши данных | Нет | N/A | Да | Нет | Да |
Индексируйте кэши | Да | N/A | Да | Нет | Да |
Сжатые данные | Да [c] | Нет | Да [d] | Да | Нет |
Зашифрованные данные [e] | Да | Да | Да | Да | Да |
Поддержка базы данных кластера | Нет | Нет | Нет | Нет | Да |
Поддержка репликации [f] | Да | Да | Да | Да | Да |
Поддержка внешнего ключа | Нет | Нет | Да | Нет | Нет |
Резервное копирование / восстановление момента времени [г] | Да | Да | Да | Да | Да |
Поддержка кэша запроса | Да | Да | Да | Да | Да |
Статистика обновления для словаря данных | Да | Да | Да | Да | Да |
[a] InnoDB использует хеш, индексирует внутренне для его Адаптивного Хеша, Индексируют функцию. [b] Поддержка InnoDB Полнотекстовых индексов доступна в MySQL 5.6.4 и выше. [c] Сжатые таблицы MyISAM поддерживаются только при использовании сжатого формата строки. Таблицы используя сжатый формат строки с MyISAM только для чтения. [d] Сжатые таблицы InnoDB требуют формата файла Барракуды InnoDB. [e] Реализованный в сервере (через функции шифрования), а не в механизме хранения. [f] Реализованный в сервере, а не в механизме хранения. [g] Реализованный в сервере, а не в механизме хранения. |