Разработка распределённых баз данных
Разработка централизованной реляционной БД делится на три этапа проектирования:
1. Концептуальное проектирование
– создание концептуального представления БД, включающее определение типов важнейших сущностей и существующих между ними связей.
2. Логическое проектирование
– преобразование концептуального представления в логическую структуру БД, включая проектирование отношений(процесс конструирования информационной модели на основе существующих конкретных моделей данных, не зависимой от используемой СУБД и др. физических условий реализации).
3. Физическое проектирование
– принятие решений о том, как логическая модель будет физически реализована в БД, создаваемой с помощью выбранной СУБД.
Рассмотрим ряд дополнительных факторов, которые должны учитываться при разработке распределенных БД:
1. Фрагментация – любое отношение может быть разделено на некоторое количество частей, называемых фрагментами, которые затем распределяются по различным сайтам. Существует 2 основных типа фрагментов: горизонтальные и вертикальные. Горизонтальные - подмножества кортежей, вертикальные – подмножества атрибутов.
2. Распределение – каждый фрагмент сохраняется на сайте, выбранном с учетом «оптимальной» схемы их размещения.
3. Репликация – СУРБД может поддерживать актуальную копию некоторого фрагмента на нескольких различных сайтах.
Проектирование должно выполняться на основе на основе как количественных так и качественных показателей. Количественная информация используется в качестве основы для распределения, а качественная служит базой при создании схемы фрагментации. Количественная информация включает показатели:
1) Частота запуска приложения на выполнение.
2) Сайт, на котором запускается приложение.
3) Требования к производительности транзакций и приложений.
Качественная информация может включать перечень выполняемых в приложении транзакций, используемые отношения, атрибуты и кортежи, к которым осуществляется доступ, тип доступа (чтение/запись), предикаты, используемые в операциях чтения.
Цели фрагментации:
1) Локальность ссылок - данные должны храниться как можно ближе к местам их пользования.
2) Повышение надежности и доступности за счет использования механизма репликации.
3) Приемлемый уровень производительности, неверное распределение данных приводит к возникновению в системе узких мест, что снижает производительность всей системы.
4) Баланс между емкостью и стоимостью внешней памяти.
5) Минимизация расходов на передачу данных.