
- •Обмен данными с внешними системами
- •Текстовые и двоичные типы
- •Перечисления
- •Механизм хранения MylSam
- •Механизм хранения InnoDb
- •Механизм хранения Archive
- •Механизм хранения Federated
- •Механизм хранения Memory
- •Механизм хранения csv
- •Механизм хранения merge
- •Индекс fulltext
- •Компоненты sql Server 2005
- •Microsoft sql Server 2005. Объекты базы данных
- •InnoDb - основной движок для MySql, который с версии 5.5 наконец-то сделали дефолтным. Поддерживает транзакции, репликацию, построчную блокировку. Достаточно устойчив к сбоям.
- •XtraDb - расширенная и исправленная в некоторых проблемных местах InnoDb от компании Percona.
Механизм хранения InnoDb
Механизм хранения InnoDB является частью системы MySQL со времени выхода версии 4.0, является подностью совместимым с ACID и эффективным форматом таблиц, обеспечивающим полную поддержку транзакций в MySQL и не ставящим под удар скорость или производительность. Тонкие блокировки (на уровне строк и таблиц) повышают точность транзакций MySQL, при этом InnoDB поддерживает также операции чтения без блокирования и многовариантность (ранее данные данные опции были доступны только в системе управления реляционными базами данных Oracle). Максимальный размер таблиц InnoDB может достигать 64 Тбайт.
Асинхронный ввод/вывод и последовательный буфер упреждающего чтения повышают скорость извлечения данных, а дружественный алгоритм и Oracle-подобные табличные пространства обеспечивают оптимизированное управление файлами и памятью. InnoDB поддерживает также автоматическое создание хэш-индексов в памяти по мере необходимости, что увеличивает производительность, и использует буферизацию для повышения надежности и скорости операций с базой данных. Благодаря всему этому производительность при работе с таблицами InnoDB не уступает аналогичному показателю при работе с таблицами MylSAM (а иногда и превосходит его).
Таблицы InnoDB можно без проблем переносить из одной ОС или архитектуры на другую, при этом они в силу своей транзакционной природы всегда пребывают и согласованном состоянии (MySQL делает их даже более надежными, проверяя на предмет повреждений и восстанавливая во время загрузки). Поддержка внешних ключей, а также операций фиксации (завершения), отката и наката транзакций довершает общую картину, делая InnoDB одним из наиболее полнофункциональных форматов таблиц, поддерживаемых системой MySQL.
Механизм хранения Archive
Механизм хранения Archive позволяет сохранять большие наборы записей, которые подвергаются нечастым операциям чтения, в сжатом формате. Ключевой особенностью данного механизма хранения является его способность сжимать записи при вставке и распаковывать их при извлечении, используя библиотеку zl i b. Такие таблицы идеально подходят для хранения исторических данных, при этом обычно обеспечивается соблюдение норм аудита либо соответствие определенным стандартам.
Из-за того что данный механизм хранения не приспособлен к частому выполнению операций чтения, он лишен многих особенностей, имеющихся у механизмов InnoDB и MylSAM: с таблицами Archive можно выполнять только операции INSERT и SELECT, не поддерживаются индексы (из чего следует, что при чтении будет производиться полное сканирование таблицы), при операциях чтения игнорируются графы BLOB, к роме того, из-за использования системы сжатия «налету» неизбежно будет наблюдаться падение производительности. Однако следует отметить, что таблицы Archive превосходят сжатые таблицы MylSAM, поскольку поддерживают операции как чтения, так и записи и занимают меньше пространства на жестком диске.
Механизм хранения Federated
Механизм хранении Federated позволяет реализовать так называемую усеченную талицу, которая содержит только определение таблицы. Которое отражается на удаленном сервере MySQL , где располагаются также данные этой таблицы. Таблица Federated сама по себе не содержит данных, вместо этого она сопроводается параметрами подключения, которые указывают системе MySQL, где можно искать фактические записи из таблицы. Таким образом, таблицы Federated обеспечивают возможность доступа с локального сервера к таблицам MySQL на удаленном сервере без необходимости в репликации или кластеризации.
Усеченные таблицы Federated могут указывать на исходные таблицы, которые используют стандартные MySQL-механизмы хранения, включая InnoDB и MylSAM Однако возможности их самих являются довольно ограниченными: они лишены транзакционной поддержки и индексов, не могут использовать кэш запросов MySQL, а производительность работы с ними довольно низка.