Изменения

Перейти к навигации Перейти к поиску
322 байта добавлено ,  1 месяц назад
нет описания правки
Строка 1: Строка 1: −
'''ISAM''' ({{lang-en|Indexed Sequential Access Method}} — индексно-последовательный метод доступа) — способ хранения данных для быстрого доступа к ним. Способ был разработан компанией [[IBM]] для [[мейнфрейм]]ов в 1963 году, в настоящее время это основной способ представления данных почти во всех базах данных.
+
'''ISAM''' ({{lang-en|Indexed Sequential Access Method}} — ''индексно-последовательный метод доступа'') — способ организации хранения [[Набор данных|набора данных]] для быстрого доступа к ним. Способ был разработан компанией [[IBM]] для [[мейнфрейм]]ов в 1963 году, в настоящее время это основной способ представления данных почти во всех базах данных.
    
В ISAM отдельно хранятся записи с данными и [[индекс (базы данных)|индексы]] (служебные данные), служащие для быстрого доступа к записям. Данные хранятся последовательно (изначально ISAM использовался для хранения данных на [[ленточный накопитель|ленточных накопителях]], обеспечивающих только последовательные чтение/запись). Второй набор данных — [[хеш-таблица]] — индексы, содержащие указатели, которые позволят извлечь определенные записи без поиска по всей базе данных. Это несколько отличается от индексов в современных поисковых базах данных, так как в них индексы хранятся прямо в записях. Ключевая особенность ISAM — индексы малы и поиск по ним быстр. Изменение в записях не требует изменять все записи, требуется только перестроить индекс.
 
В ISAM отдельно хранятся записи с данными и [[индекс (базы данных)|индексы]] (служебные данные), служащие для быстрого доступа к записям. Данные хранятся последовательно (изначально ISAM использовался для хранения данных на [[ленточный накопитель|ленточных накопителях]], обеспечивающих только последовательные чтение/запись). Второй набор данных — [[хеш-таблица]] — индексы, содержащие указатели, которые позволят извлечь определенные записи без поиска по всей базе данных. Это несколько отличается от индексов в современных поисковых базах данных, так как в них индексы хранятся прямо в записях. Ключевая особенность ISAM — индексы малы и поиск по ним быстр. Изменение в записях не требует изменять все записи, требуется только перестроить индекс.
   −
Реляционные базы данных могут быть построены на способе хранения данных ISAM с добавленной логикой по сохранению целостности связей между таблицами. Обычно поле, используемое для связи ([[внешний ключ]]), индексируется для быстрого поиска. Конечно, это медленнее, чем просто хранить указатели на нужные записи в другой таблице непосредственно в записях, но зато изменения на физическом уровне хранения данных не потребуют изменения указателей: на физическом уровне таблицы остаются независимыми друг от друга, слабо связанными через пару "внешний/первичный ключ", что позволяет провести перекомпоновку структуры хранения таблицы, содержащей первичный ключ, или даже переместить её в отдельную партицию без потери связности.
+
Указанная схема организации данных была, в дальнейшем, унаследована многими [[СУБД]].
 +
 
 +
[[Реляционная база данных|Реляционные базы данных]] могут быть построены на способе хранения данных ISAM с добавленной логикой по сохранению целостности связей между таблицами. Обычно поле, используемое для связи ([[внешний ключ]]), индексируется для быстрого поиска. Конечно, это медленнее, чем просто хранить указатели на нужные записи в другой таблице непосредственно в записях, но зато изменения на физическом уровне хранения данных не потребуют изменения указателей: на физическом уровне таблицы остаются независимыми друг от друга, слабо связанными через пару "внешний/первичный ключ", что позволяет провести перекомпоновку структуры хранения таблицы, содержащей первичный ключ, или даже переместить её в отдельную партицию без потери связности.
    
ISAM легко реализуется и это дешевый метод. Плата за это — каждая клиентская машина должна держать собственные соединения с каждым файлом, к которому происходит доступ. Это может привести к конфликтам при одновременной работе нескольких клиентов при попытке изменить или вставить новые значения и привести к потере данных. Обычно эта проблема решается добавлением клиент-серверного приложения, которое обслуживает запросы пользователей и управляет ими, чтобы сохранять целостность данных. Это основная концепция [[СУБД]], которая создает клиентский уровень над надлежащими данными.
 
ISAM легко реализуется и это дешевый метод. Плата за это — каждая клиентская машина должна держать собственные соединения с каждым файлом, к которому происходит доступ. Это может привести к конфликтам при одновременной работе нескольких клиентов при попытке изменить или вставить новые значения и привести к потере данных. Обычно эта проблема решается добавлением клиент-серверного приложения, которое обслуживает запросы пользователей и управляет ими, чтобы сохранять целостность данных. Это основная концепция [[СУБД]], которая создает клиентский уровень над надлежащими данными.
Строка 12: Строка 14:     
== Литература ==
 
== Литература ==
* Indexed Sequential Access Method // Encyclopedia of Database Systems, ISBN 978-0-387-35544-3, 2009, pp 1435–1438 [[doi:10.1007/978-0-387-39940-9 738]]
+
* Indexed Sequential Access Method // Encyclopedia of Database Systems, ISBN 978-0-387-35544-3, 2009, pp 1435–1438 [https://dx.doi.org/10.1007/978-0-387-39940-9%20738 doi:10.1007/978-0-387-39940-9 738]
 
* [http://www.textfiles.com/bitsavers/pdf/ibm/360/os/R20.1/plm/GY28-6616-4_ISAM_R20.1_PLM_Jun71.pdf IBM System/360 Operating System Indexed Sequntial Access Methods. Program Logic Manual] Program Number 360S-IO-526 // IBM, 1966-1971
 
* [http://www.textfiles.com/bitsavers/pdf/ibm/360/os/R20.1/plm/GY28-6616-4_ISAM_R20.1_PLM_Jun71.pdf IBM System/360 Operating System Indexed Sequntial Access Methods. Program Logic Manual] Program Number 360S-IO-526 // IBM, 1966-1971
  

Реклама:

Навигация