Таким образом, мы утверждаем, что
Таким образом, мы утверждаем, что использование интерфейсов низкого уровня для возвращения одного элемента данных дает в лучшем случае лишь микроскопический выигрыш в производительности. С другой стороны, если возвращается несколько элементов данных, замещение запроса высокого уровня множеством вызовов низкого уровня может снизить производительность из-за расходов на организацию вызовов от приложения к СУБД.
Последнее утверждение, которое часто делают энтузиасты OODB, заключается в том, что программисты, например, САПР,
хотят собственноручно осуществлять навигацию, и, следовательно, система должна поощрять ее при помощи интерфейсов низкого уровня. Мы признаем, что некоторые программисты могут предпочитать навигацию. Были такие, которые отказывались переходить с ассемблера на языки высокого уровня, были и те, кто отказывался переходить к реляционным системам – на новых системах задачи были не столь сложными, а значит, работа не столь интересная. Эти программисты думали, что смогут работать лучше, чем компиляторы и оптимизаторы. Мы считаем, что аргументы против навигации достаточно убедительны и что некоторым программистам просто не мешает подучиться.
Таким образом, мы приходим к заключению, что все обращения к данным должны задаваться запросами в нотации непроцедурного доступа высокого уровня. В предложении 3.2 мы обсудим вопросы интеграции таких запросов с современными ЯВУ.
Перейдем теперь ко второму вопросу, в котором, на наш взгляд, также нельзя оставлять завоеванные высоты. Как уже отмечалось в предложении 1.1, системы третьего поколения будут поддерживать разнообразные конструкторы типов для коллекций, и наше следующее предложение касается спецификации таких коллекций, особенно коллекций, являющихся множествами.
Предложение 2.2: Должно быть по крайней мере два способа спецификации коллекций: посредством перечисления членов и путем использования языка запросов для задания членов.
В литературе по OODB предлагается задание множеств перечислением, средствами связанного списка или массива идентификаторов членов [DEWI90].
Содержание Назад Вперед