Программирование >>  Создание клиентов mysql 

1 ... 137 138 139 [ 140 ] 141 142 143 ... 201


ФИЗИЧЕСКОЕ ХРАНЕНИЕ

В этой главе...

Способ хранения таблиц и баз данных Выделенные разделы Типы таблиц Столбцы

Блокировки таблиц Индексы

Дескрипторы файлов Системная память Журнальные файлы





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

эффективных баз данных.

Способ хранения таблиц и баз данных

В MySQL таблице соответствует несколько файлов. Их имена совпадают с именем таблицы, а расширение определяет назначение файла. К примеру, файл с расширением содержит описание структуры таблицы. Что касается баз данных, то они являются подкаталогами основного каталога (по умолчанию это local/var). Имя подкаталога соответствует имени базы данных. Это означает, что имена баз данных и таблиц отвечают тем же требованиям, которые предъявляются к именам файлов в данной системе. Скажем, файловая система ext2 в Linux чувствительна к регистру символов, a FAT32 в Windows - нет.

Операционные системы налагают свои ограничения на максимальный размер файла. Обычно он составляет от 2 до 4 Гбайт. Для таблиц тип АМ, описываемого ниже, все данные сохраняются в одном файле, следовательно, максимальный размер файла одновременно является максимальным размером таблицы.

MySQL позволяет разбиватьтабличные данные на несколько файлов при наличии опци TYPE в инструкции CREATE TABLE. Тогда максимальный размер таблицы возрастет во столько раз, сколько файлов для нее создается. Можно даже разместить эти файлы на разных физических дисках, чтобы повысить производительность базы данных.



Выделенные разделы

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

Тем не менее MySQL не позволяет записывать базы данных в выделенные разделы, так как изоляция от операционной системы не стоит незначительного выигрыша производительности. Современные операционные системы обладают гораздо большей производительностью, чем раньше, в основном из-за того, что они способны шировать дисковые блоки в оперативной памяти. Если бы программе MySQL пришлось выполнять эти функции в обход операционной системы, то тогда память, используемая для кэширования, тоже стала бы в1деленной, а объем общедоступной оперативной памяти уменьшился бы.

Управление файлами в рамках операционной системы имеет свои преимущества. Во-первых, разработчики системы проделывают огромную работу по отладке соответствующих функций, а во-вторых,появляется возможность пользоваться стандартными утилитами обработки файлов. Создать резервную копию базы данных MySQL можно с помощью обычной утилиты tar, а не специализированной программы. Выделенные файловые системы требуют целого набора управляющих утилит, в частности для проверки и восстановления файлов. Всего этого нет в MySQL

Типы таблиц

В MySQL версии 3.23.37 поддерживаютсясемь типов таблиц. Три из них - Berkejey DB, Gemini DB -ориентированы на транзакции, а четыре - Heap, ISAM, Merge и MylSAM - нет. Транзакции являются относительно новым понятием в MySQL, но соответствующие функции для таблиц Berkeley DB и InnoDB существуют уже достаточно давно, что позволило включить их в стандартные бинарные дистрибутивы. Подробнее об этом рассказывалось в главе 9, Транзакции и параллельные вычисления .

Стандартным типом таблиц в MySQL является тип MylSAM. Он возник на основе более старого типа ISAM, который все еще существует, хотя использовать его не комендуется. Переопределить установку по умолчанию позволяет опция TYPE инструкций CREATE TABLE и ALTER TABLE (см. главу 13, Инструкции SQL ).

Berkeley DB

Проект Berkeley МВ) начался в Калифорнийском университете в Беркли. Впоследствии его авторы сформировали компании pycat Software (www.sleepycat.com) и занялись распространением коммерческой версии СУБД. Многие утилиты до сих пор работают со старыми версиями ЮВ (1.85 и 1.86), в то время как компания Sleepycat Software предлагает уже семейство версий 3.x и 4.x Эта СУБД свободно распространяется с исходными кодами, и ею можно пользоваться бесплатно, за исключением случаев, когда на ее основе планируется создавать приложения, не распространяемые на условиях открытой лицензии.



1 ... 137 138 139 [ 140 ] 141 142 143 ... 201

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика