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


Физическая идентификационная информация


«Характеристиками физической идентификации являются изменчивость, повторная используемость, стационарность, жесткость.»

Здесь Грин пренебрегает наиболее позитивным аспектом физической идентификационной информации. Физические идентификаторы обычно очень быстро разыменовываются – намного быстрее, чем логические идентификаторы, для которых приходится использовать доступ через некоторую разновидность индексной структуры. Характеристиками, которые делают физические ссылки такими быстрыми, являются «стационарность» и «жесткость».

Я не отрицаю, что в принципе можно было бы реализовать доступ к объектам с использованием физической идентификации как в архитектуре, основанной на объектах, так и в архитектуре, основанной на страницах, но на практике эта идея может сравнительно легко использоваться в серверах с архитектурой, основанной на страницах. В случае ObjectStore обычные указатели C++ обеспечивают исключительно быстрый доступ к данным, а интуитивный стиль программирования C++ делает очень продуктивной работу с библиотеками базы данных.

«Нужно найти все объекты, существующие в системе, которые содержат ссылку на данный объект, и сделать так, чтобы в полях связи скрывалось новое физическое местоположение ...»

Здесь Грин прав. У адресации, основанной на Object-ID, имеется некоторое преимущество над «физической», основанной на местоположении адресацией, которое проявляется при эволюции схемы. При использовании Object-ID эволюцию схемы можно производить в режиме он-лайн и инкрементно. Объекты могут изменяться по мере того, как к ним происходит доступ, поскольку они могут перемещаться без изменения своих адресов, если перестают помещаться в предыдущем месте хранения. Безусловно, это является преимуществом адресации на основе Object-ID.

Однако за это преимущество приходится платить, у него имеется и обратная сторона. Клиенты расплачиваются за эту дополнительную гибкость потребностью в трансляции идентификаторов объектов в физические адреса при каждом доступе к объекту. Компьютеры не могут использовать Object ID, для доступа к объекту в некоторый момент им требуется физический адрес. Конечно, в Versant реализовано некоторое кэширование для предотвращения недопустимого уровня накладных расходов, но на некотором уровне имеется архитектурный компромисс между эффективностью и гибкостью. При использовании адресации на основе Object ID за преимущества эволюции схемы приходится платить постоянно при функционировании системы, в то время как при использовании ссылок на основе местоположения приходится платить только один раз при использовании ссылки.

Так что остаются вопросы. Насколько затруднительна эволюция схемы в базах данных под управлением ObjectStore? Насколько быстро происходит эволюция схемы?




Начало  Назад  Вперед



Книжный магазин