Подготовка среды хранения
Создание БД
Перенос разработанной физической модели базы данных в среду конкретной выбранной СУБД называется процессом создания базы данных или её реализацией. Каждая конкретная инструментальная среда, каковой является система управления базами данных, требует особых знаний и навыков. Создание высокопроизводительной БД в выбранной среде потребует изучения соответствующей коммерческой технической документации. Рассмотрим общие подходы и технологии к процессу создания БД без особых подробностей их реализации.
В каждом конкретном случае создания БД средствами выбранной СУБД разработчик (администратор БД) должен уметь выбрать оптимальную стратегию размещения и хранения данных. Существует несколько показателей, которые могут быть использованы для оценки достигнутой эффективности:
— количество выполненных операций в БД (добавление, обновление, удаление, чтение строк таблиц) за заданный интервал времени;
— время ответа – временной промежуток, необходимый для выполнения определенного количества операций в БД;
— объем дискового пространства, необходимого для размещения файлов БД.
Ни один по отдельности из этих факторов не является самодостаточным, как правило, все усилия направлены на достижение оптимального баланса значений этих характеристик. После создания БД могут выполняться дополнительные настройки её конфигурации в процессе эксплуатации.
Основные шаги в ходе создания БД это: подготовка среды хранения, генерация схемы БД; загрузка и корректировка данных из старой БД; ввод и контроль данных в справочные таблицы.
Необходимыми системными ресурсами для работы БД являются четыре основных компонента аппаратного обеспечения, которые будут взаимодействовать между собой и влиять на уровень производительности.
1 Процессор. Выполняет пользовательские процессы, управляет задачами других системных ресурсов. У него должна быть высокая тактовая частота. Для организации сервера БД может быть использовано несколько процессоров одновременно.
2 Оперативная память. Чем больше её объем, тем быстрее работают приложения баз данных. Рекомендуют планировать объем, чтобы в процессе работы системы выполнялось условие: всегда есть в наличии свободными 5 процентов от всего объема памяти.
3 Внешняя память. Для определения этого ресурса важным является количество операций ввода/ вывода в секунду. Также на общую производительность системы влияет способ организации в ней хранения данных. Рекомендуется равномерно распределять сохраняемые данные между всеми доступными в системе устройствами. Существуют следующие принципы распределения данных на дисковых устройствах:
— файлы операционной системы должны быть отделены (располагаться физически на разных носителях) от файлов базы данных;
— основные файлы БД должны быть отделены от индексных файлов;
— журнал восстановления должен быть отделен от остальной части БД.
4 Сеть. При организации сетевого доступа к БД узким местом всей системы может стать чрезмерный рост сетевого трафика. Оптимальная загрузка сети должна быть реализована в клиентских приложениях БД.
Для планирования оптимальных характеристик среды хранения должны быть обсуждены также следующие вопросы.
1 Определение функциональных характеристик транзакций, которые будут выполняться в базе данных.
Транзакция – неделимый с точки зрения СУБД набор действий, выполняемых пользователем БД с целью доступа или изменений содержимого БД.
Изучаются качественные и количественные характеристики присущих проектируемой БД транзакций – ожидаемая частота выполнения; таблицы, поля таблиц и операции над данными транзакции, используемые индексы; ограничения, устанавливаемые на выполнение транзакции. Далее определяются самые «важные» (наиболее активные) транзакции, зависимость их друг от друга, возможные проблемы и конфликты. Разработчики БД должны найти оптимальные способы взаимодействия транзакций, для каждой транзакции определить максимальную производительность.
2 Выбор файловой структуры. Возможны следующие варианты типов файлов: последовательные файлы, хешированные файлы, индексно—последовательные файлы, двоичные деревья. Структура файлов изучается и документируется, обосновывается выбор конкретного варианта.
Необходимо, однако, отметить, что современные СУБД не предоставляют разработчику больших возможностей выбора или изменения способа организации файлов БД.
3 Анализ необходимости введения контролируемой избыточности данных. В том случае, если требования к производительности системы не удается удовлетворить никакими другими способами, снижают требования к уровню нормализации данных. Такую процедуру называют оптимизацией использования. Денормализация целесообразна, если данные в БД обновляются редко, а количество выполняемых запросов велико. В противном случае требования к непротиворечивости данных должны превышать требования к производительности системы.
4 Определение требований к дисковой памяти. Выделяемая для хранения БД память должна иметь размер, позволяющий накапливать данные. В среде каждой конкретной СУБД необходимо опытным путем определять возможный рост требуемого объема памяти для проектируемой БД.
Подготовка среды хранения является важной задачей, определяющей производительность дальнейшего использования БД.