Язык SQL

Объектные потоки


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

Прикладной программе часто требуется доступ к нескольким, а не ко всем хранящимся в файле объектам. Например, операции языка SQL, описанные в предшествующих главах, содержат множество примеров выборки определенных записей из файлов. Предположим, что вся информация базы данных BigHit Video записана в некий объектный поток. Для проверки видеокассеты необходимо считать объекты, представляющие видеокассету, записанный на ней фильм и сведения об аренде, только три объекта из множества хранящихся в объектном потоке.

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

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

Комментарии закрыты