Interested Article - ISAM

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

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

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

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

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

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

См. также

Литература

  • Indexed Sequential Access Method // Encyclopedia of Database Systems, ISBN 978-0-387-35544-3 , 2009, pp 1435-1438
  • Program Number 360S-IO-526 // IBM, 1966-1971

Ссылки

  • (англ.)
  • (ISAM and B-Tree) (англ.)

Same as ISAM