Database Programming & Design

       

Распределенные объекты и эффективность


Как говорилось выше, ориентированные на приложения распределенные объектные вычислительные системы потенциально могут понизить значимость сервисов баз данных. Это утверждение опирается на доминирующую роль объектно-ориентированных языков программирования и методологий, а также на наличие визуальных объектно-ориентированных инструментальных средств. На этот подход делают ставку компании Sybase и Microsoft, а Oracle и IBM ограничивают инвестирование своих ОРСУБД. (На самом деле, объектные расширения Oracle наиболее полно реализованы в среднем звене сервера приложений.) И конечно, не случайно все четыре компании являются ведущими поставщиками инструментальных программных средств.

Главным аргументом в пользу ОРСУБД и ОСУБД является их эффективность. Как писали Джим Грей и Андреас Рейтер в своей классической книге (Jim Gray and Andreas Reuter, Transaction Processing: Concepts and Techniques, Morgan Kaufmann, 1993), накладные расходы при межпроцессных взаимодействиях даже в самых простых случаях в тысячи раз превышают расходы на прямой доступ к основной памяти. Если переформулировать этот факт в терминах объектов, то операция может быть послана объекту, предположительно управляемому сервером объектов где-то в сети (подход ORB - Object Request Broker), или же объект может быть перемещен в приложение и обработан локально (подход баз данных). С каждым из этих подходов связаны свои проблемы эффективности, связанные с перемещением объекта "здесь" или посылкой операции для выполнения "там". Решения об использовании объектной базы дынных или ORB не являются взаимно исключающими. Объектный сервер в среде ORB может в действительности использовать объектную базу данных для хранения управляемых им объектов. В придачу к этому, следует учитывать, что коммуникационные расходы, необходимые для синхронизации серверов, возрастают квадратично при росте числа серверов.

Итак, соображения эффективности работают в пользу ОРСУБД. Но базы данных существуют не сами по себе; они должны поддерживать прикладные программы. Поэтому жизнеспособность объектно-реляционного подхода будет определяться наличием инструментальных средств и приложений.



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