ISAM

Материал из in.wiki
Перейти к навигации Перейти к поиску

ISAM англоязычный акроним для Индексно-Последовательный Метода Доступа (Indexed Sequential Access Method), способ хранения данных для быстого доступа у ним. Способ изначально был разработан команией IBM для мейнфреймов в настоящее вреям это основной способ представленяи данных почти во всех базах данных (реляционных и пр.).

В ISAM отдельно храняться записи с данными и индексы (служебные данные), служащи для быстрого доступа у записям. Данные храняться последовательно, (изначально ISAM использовался для хранения данных на ленточных накопителях, обеспечивающих только последовательное чтение/запись). Второй набор данных хеш-таблица - индексы, содержат указатели, которые позволят извлечь определенные записи без поиска по всей базе данных. Это несколько отличается от индексов в современных поисковых базах данных, так как в них индексы храняться прямо в записях. Ключевая особенность ISAM - индексы малы, и поиск по ним быстр. Изменение в записях не требует изменять все записи, требуется толкьо перестроить индекс.

Реляционные базы данных могут быть построены на способе хранения данных ISAM с добавленной логикой по сохранению целостности связей между таблицами. Обычно поле используемое для связи (foreign key), индексируется для быстрого поиска. Конечно, это медленнее, чем просто хранить указатели на нужные записи в другой таблице непосредсвенно в записях, но зато изменения на физическом уровне хранения данных не потребуют изменения указателей. (нужно улучшить объяснение).

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

ISAM был заменен IBM методологией, названной VSAM (Virtual Storage Access Method). Позднее, IBM разработал DB2, которая стала основной СУБД от IBM. VSAM - это способ физического хранения данных в DB2.

MySQL реализовало расширение ISAM - MyISAM.


См. также

en:ISAM bg:ISAM ca:Isam cs:Indexed Sequential Access Method de:Indexsequentielle Datenbank es:ISAM fr:Organisation séquentielle indexée ko:ISAM it:ISAM ja:Indexed Sequential Access Method