Архитектуры ООСУБД. Анализ реализаций

Сложность эволюции схемы


С инженерных позиций этот процесс является чрезвычайно сложным, поскольку, в отличие от реляционной базы данных, в которой персистентная схема является известной и постоянной – все данные располагаются в таблицах, столбцах и строках,– персистентная ООБД является полностью произвольной, определяемой в реальном пользовательском коде C++. Поэтому у любой утилиты общего назначения, поддерживающей эволюцию схемы, должная иметься возможность управления буквально любой объектной моделью C++, которая может встретиться, и возможность преобразования ее в любую другую модель. Для снижения уровня сложности и по соображениям эффективности в ObjectStore утилита поддержки эволюции схем функционирует в режиме оф-лайн, а для уменьшения сложности возможных изменений схемы среди программистов распространен прием написания специального кода эволюции схемы на C++ и его компоновки с библиотекой эволюции схемы ObjectStore для выполнения процесса эволюции схемы.

Так что с позиций пользователя эволюция схемы также представляет некоторую сложность. Рассмотрим пару примеров.



Содержание раздела