ISAM: различия между версиями

Материал из in.wiki
Перейти к навигации Перейти к поиску
( Новая страница: «'''ISAM''' англоязычный акроним для Индексно-Последовательный Метода Доступа (Indexed ...»)
 
 
(не показаны 32 промежуточные версии 24 участников)
Строка 1: Строка 1:
'''ISAM''' англоязычный акроним для Индексно-Последовательный Метода Доступа (Indexed Sequential Access Method), способ хранения данных для быстого доступа у ним. Способ изначально был разработан команией [[IBM]] для [[мейнфрейм]]ов в настоящее вреям это основной способ представленяи данных почти во всех базах данных (реляционных и пр.).
+
'''ISAM''' ({{lang-en|Indexed Sequential Access Method}} — ''индексно-последовательный метод доступа'') — способ организации хранения [[Набор данных|набора данных]] для быстрого доступа к ним. Способ был разработан компанией [[IBM]] для [[мейнфрейм]]ов в 1963 году, в настоящее время это основной способ представления данных почти во всех базах данных.
  
В ISAM отдельно храняться записи с данными и индексы (служебные данные), служащи для быстрого доступа у записям. Данные храняться последовательно, (изначально ISAM использовался для хранения данных на ленточных накопителях, обеспечивающих только последовательное чтение/запись). Второй набор данных [[хеш-таблица]] - индексы, содержат указатели, которые позволят извлечь определенные записи без поиска по всей базе данных. Это несколько отличается от индексов в современных поисковых базах данных, так как в них индексы храняться прямо в записях. Ключевая особенность ISAM - индексы малы, и поиск по ним быстр. Изменение в записях не требует изменять все записи, требуется толкьо перестроить индекс.
+
В ISAM отдельно хранятся записи с данными и [[индекс (базы данных)|индексы]] (служебные данные), служащие для быстрого доступа к записям. Данные хранятся последовательно (изначально ISAM использовался для хранения данных на [[ленточный накопитель|ленточных накопителях]], обеспечивающих только последовательные чтение/запись). Второй набор данных — [[хеш-таблица]] — индексы, содержащие указатели, которые позволят извлечь определенные записи без поиска по всей базе данных. Это несколько отличается от индексов в современных поисковых базах данных, так как в них индексы хранятся прямо в записях. Ключевая особенность ISAM — индексы малы и поиск по ним быстр. Изменение в записях не требует изменять все записи, требуется только перестроить индекс.
  
 +
Указанная схема организации данных была, в дальнейшем, унаследована многими [[СУБД]].
  
... тут нужно дополнить ....
+
[[Реляционная база данных|Реляционные базы данных]] могут быть построены на способе хранения данных ISAM с добавленной логикой по сохранению целостности связей между таблицами. Обычно поле, используемое для связи ([[внешний ключ]]), индексируется для быстрого поиска. Конечно, это медленнее, чем просто хранить указатели на нужные записи в другой таблице непосредственно в записях, но зато изменения на физическом уровне хранения данных не потребуют изменения указателей: на физическом уровне таблицы остаются независимыми друг от друга, слабо связанными через пару "внешний/первичный ключ", что позволяет провести перекомпоновку структуры хранения таблицы, содержащей первичный ключ, или даже переместить её в отдельную партицию без потери связности.
  
ISAM был заменен IBM методологией, названной [[Virtual storage access method|VSAM]] (Virtual Storage Access Method). Позднее, IBM разработал [[IBM_DB2|DB2]], которая стала основной [[СУБД]] от IBM.  VSAM - это способ физического хранения данных в DB2.
+
ISAM легко реализуется и это дешевый метод. Плата за это — каждая клиентская машина должна держать собственные соединения с каждым файлом, к которому происходит доступ. Это может привести к конфликтам при одновременной работе нескольких клиентов при попытке изменить или вставить новые значения и привести к потере данных. Обычно эта проблема решается добавлением клиент-серверного приложения, которое обслуживает запросы пользователей и управляет ими, чтобы сохранять целостность данных. Это основная концепция [[СУБД]], которая создает клиентский уровень над надлежащими данными.
  
[[MySQL]] реализовало расширение ISAM - [[MyISAM]].  
+
ISAM был заменен IBM методологией, названной [[Virtual Storage Access Method|VSAM]] (Virtual Storage Access Method). Позднее IBM разработал [[IBM DB2|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 [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.pcmag.com/encyclopedia/term/45452/isam ISAM definition in PCMAG encyclopedia] {{ref-en}}
 +
* [http://www.cs.bilkent.edu.tr/~kdincer/teaching/spring1999/bu-bil212-fo/lectures/pdf-files/bil212-chp5.pdf Chapter 5 - Tree Indexes] (ISAM and B-Tree) {{ref-en}}
  
* [[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]]
 

Текущая версия от 12:40, 21 августа 2025

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

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

Указанная схема организации данных была, в дальнейшем, унаследована многими СУБД.

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

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

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

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

Литература[править | править код]

Ссылки[править | править код]