Эта функция информационных систем связана с необходимостью управления двумя видами ресурсов – ресурсами хранимых данных и ресурсами памяти. Требования к этим функциям различаются в разных классах информационных систем. Рассмотрим, каким же образом организованы хранение информационных ресурсов и доступ к ним в наиболее распространенных классах информационных систем.
В системах текстового поиска каждый документ хранится обычно в отдельном файле. Доступ к документам осуществляется с помощью структур данных, называемых индексами. Индексы в системах текстового поиска позволяют определять адрес размещения нужного файла по так называемым индексирующим свойствам хранящегося в нем документа – по значениям каких-либо атрибутов, ассоциированных с документом, по содержащимся в нем словам или словосочетаниям и т.п. При этом единицей доступа является полный документ. Управление памятью осуществляется в таких системах средствами компонента операционной системы компьютера, называемого файловой системой или системой управления файлами. Индексы документов в системах текстового поиска организуются в виде так называемых инвертированных списков. Для каждого значения индексирующего свойства документов в таких индексах поддерживаются адреса или идентификаторы файлов, их содержащих.
Файловая организация хранения информационных ресурсов используется также в действующей версии Web, основанной на технологиях HTML. Здесь каждая HTML-страница представлена в общем случае в виде совокупности файлов. Главный из них – это основной структурообразующий файл данной страницы. Он имеет формат HTML. Кроме того, в отдельных файлах представлены встроенные изображения и другие компоненты страницы, на которые имеются ссылки в ее главном файле. Доступ к страницам Web осуществляется непосредственно по их уникальным «адресам» в Web, называемым URL (Universal Resource Locator) [10], либо с использованием навигации по гиперссылкам. Единицей доступа здесь является полная страница Web, хотя при навигации очередная гиперссылка может указывать только на фрагмент страницы. Функции управления ресурсами памяти, служащими для хранения ресурсов Web, возлагаются на операционные системы тех компьютеров сети, которые содержат используемые страницы.
Нужно заметить, что в связи с интенсивным ростом объемов информационных ресурсов Web навигационный доступ к требуемым ресурсам стал неэффективным. Пользователям Web обычно известно лишь ограниченное количество URL интересующих их страниц Web. Поэтому он в сравнительно небольшом числе случаев может воспользоваться прямым доступом к информационным ресурсам Web.
Вот почему стали создаваться приложения Web, называемые поисковыми машинами. Поисковая машина с некоторой периодичностью просматривает страницы закрепленной за ней группы Web-сайтов и строит либо актуализирует полнотекстовые индексы для этих страниц. На этой основе осуществляется обработка пользовательских запросов так, как это делается в системах текстового поиска.
Более тонкую организацию имеют механизмы управления хранением данных и пространством памяти в информационных системах, основанных на технологиях баз данных. Причины заключаются в том, что в системах баз данных используются более сложные структуры данных, требуется значительно более мелкая гранулярность доступа к ресурсам, более динамичный характер имеют хранимые данные.
Управление хранимыми данными в системах баз данных включает поддержку структуры хранимых данных, их размещение в пространстве памяти, поддержку физической целостности и обеспечение эффективного доступа к ним. Чаще всего используются прямой и последовательный доступ к единицам информационных ресурсов в каком-либо определенном порядке.
Прямой доступ осуществляется по известным значениям некоторых свойств (ключей) единиц информационных ресурсов. Для этой цели используются вспомогательные хранимые структуры данных, обеспечивающие отображение ключей в адреса размещения соответствующих единиц информационных ресурсов, например строк таблиц в реляционных базах данных.
Чаще всего в качестве таких вспомогательных структур используются эффективно организованные индексы и хеш-таблицы.
Индексные структуры, организованные в виде деревьев специальных видов, обеспечивают быстрый поиск с помощью навигации в этих деревьях по коротким цепочкам указателей и, возможно, ограниченного перебора. Существует большое многообразие способов построения индексов.
Хеш-таблицы, в отличие от индексов, обеспечивают определение адреса размещения искомой (или размещаемой) единицы информационных ресурсов не путем навигации в индексной структуре, а с помощью вычисления некоторой функции отображения ключа в адрес. Значения этой функции представляют собой случайные числа, равномерно распределенные в заданном интервале, которые используются как номера участков во внешней памяти или строк таблицы хеширования, содержащих соответствующие единицы информационных ресурсов или их адреса.
Индексные структуры поддерживают доступ к хранимым единицам информационных ресурсов в порядке соответствующих им ключей. Простая техника хеширования таких возможностей не предоставляет. Для этих целей применяют усовершенствованные методы хеширования.
Последовательный доступ к хранимым единицам информационных ресурсов осуществляется в порядке их физического размещения либо по значениям некоторых содержащихся в них или ассоциированных с ними идентификаторов (ключей). В последнем случае для поддержки необходимой упорядоченности обычно используют индексы по заданным ключам.
Нужно заметить, что в унаследованных СУБД, основанных на графовых моделях данных, использовался также и навигационный доступ к хранимым данным.
Управление ресурсами памяти в СУБД включает такие операции, как учет свободного пространства памяти, выделение пространства для размещения новых вводимых в систему информационных ресурсов, так называемая сборка мусора – возвращение освободившегося пространства памяти в пул свободного пространства для повторного его использования. Нужно назвать здесь также операцию реорганизации среды хранения базы данных. В результате выполнения этой операции изменяется размещение хранимых данных в пространстве памяти системы таким образом, чтобы стало возможным более эффективное использование ресурсов свободной памяти, а также чтобы сократить время доступа к часто используемым хранимым данным и т.п.
Важно заметить, что способы размещения информационных ресурсов в пространстве памяти системы и способы доступа к ним тесно связаны.
Среда хранения в системах баз данных также базируется на файловой организации. Однако над файловой системой надстраиваются механизмы, обеспечивающие более тонкие методы управления данными в терминах элементов содержания файлов. Единицей доступа здесь является, как уже отмечалось, не файл или порция файла, предусмотренная в файловой системе, а порции информационных ресурсов с гораздо более мелкой гранулярностью.