Оптимизация хранилища данных. Хранение данных
Спроектировать физическую модель и реализовать её в базе данных — это только полдела на пути к эффективному приложению. Система должна отличаться стабильностью и быстро обрабатывать запросы. За это отчасти отвечает и оптимизация хранилища данных. В этом уроке вы узнаете о том, что такое оптимизация хранения данных.
В прошлом уроке мы говорили о выборе подходящего типа данных. Это лишь один из способов оптимизации хранилища данных. Существуют и другие способы оптимизации хранилища. Условно их можно поделить на две основные группы:
- Оптимизация хранения данных (к ней как раз относится выбор подходящего типа данных).
- Оптимизация скорости извлечения данных.
Оптимизация хранения данных противоречит оптимизации скорости их извлечения, поэтому команда разработки всегда ищет компромисс между объёмом хранилища и быстродействием системы.
В этом уроке вы побольше узнаете об оптимизации хранения данных, а в следующем — об оптимизации скорости извлечения данных.
Оптимизация работы хранилища данных не входит в задачи системного аналитика. Это обязанность разработчиков, в том числе создававших базу данных. Но элементы оптимизации отражаются в физической модели данных, которую помогает составить системный аналитик. А на выбор способов оптимизации хранилища данных, кроме прочего, влияют функциональные и нефункциональные требования.
Зачем нужна оптимизация хранения данных
Представьте таблицу с информацией о продажах. Казалось бы, хорошо, когда данных много: можно составлять отчёты, делать прогнозы, которые позволят улучшить показатели. Но на практике объёмные хранилища данных и их дальнейший рост, скорее, создают проблемы.
Во-первых, место для хранения данных может закончиться. У всего есть пределы, будь то жёсткий диск или облачный сервис. За дополнительное место придётся платить.
Во-вторых, чем больше хранилище, тем сложнее поддерживать стабильность его работы. Например, поиск информации в большом хранилище займёт больше времени. Чтобы улучшить быстродействие, придётся приложить дополнительные усилия (это касается оптимизации скорости извлечения данных, о чём вы узнаете в следующем уроке), поэтому важно проектировать хранилище данных так, чтобы оно занимало как можно меньше места.
Техники оптимизации хранения данных
Одна из техник, которые помогают оптимизировать хранение данных, — нормализация логической ER-модели, о которой мы говорили ранее. Нормализация БД — это процесс, при котором системный аналитик проверяет качество модели данных по определённым правилам.