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


Следствия модели запросов


«Реализации ООСУБД всегда фокусируются на навигационном доступе, как основном способе выборки информации из базы данных. Здесь снова не ставится цель проанализировать все возможности механизма запросов, такие как проецирование, агрегация, представления, математические вычисления, курсоры, составные индексы и т.д., и т.п.»

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

Тот факт, что навигационный доступ является основным, приводит к вопросу о следствиях модели запросов в целом. Если первичные средства доступа к данным являются навигационными, то в каких случаях для общей производительности ООСУБД могут быть критичными эффективность выполнения запросов или характеристики подсистемы запросов? Конечно, так может быть только в том случае, когда пользователи решают основывать свои системы на запросах, а не на навигационном доступе, а именно на нем, как говорит Грин, фокусируется большинство поставщиков ООСУБД. Так почему же тема навигационного доступа так быстро отбрасывается?

Ответ, видимо, кроется не в теоретических различиях между архитектурами, основанными на страницах и объектах, а скорее в различиях между продуктами ObjectStore и Versant.

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

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


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



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