Подсистема хранения

Подсистема хранения (англ. database engine, storage engine) — компонент СУБД, управляющий механизмами хранения баз данных, или библиотека, подключаемая к программам и дающая им функции СУБД[1].

В случае СУБД подсистема хранения отвечает за размещение баз данных (как правило, в файлах) и организацию конкурентного доступа к ним. Обычно СУБД позволяют манипулировать данными и структурами БД с помощью языка SQL, при этом интерпретатор языка SQL обычно является компонентом СУБД, а не подсистемы хранения.

Библиотека позволяет программе использовать определённый формат файлов баз данных для манипулирования данными. В более сложном случае, она позволяет нескольким программам работать с общими файлами баз данных одновременно, используя те или иные механизмы блокировок.

В некоторых СУБД подсистема хранения неотделима от неё самой, но ряд подсистем могут встраиваться или подключаться к разным СУБД. Существуют СУБД, которые позволяют одновременно использовать несколько подключаемых подсистем хранения, таковы, например, системы семейства MySQL (MariaDB, Percona Server), в которых можно подключить InnoDB, MyISAM, XtraDB, Falcon, Aria, TokuDB, MyRocks (на основе RocksDB) и некоторые другие. Подключённая подсистема хранения определяет функциональные возможности СУБД в целом, например, XtraDB и InnoDB в сравнении с MyISAM добавляют поддержку транзакций по принципам ACID и внешних ключей, а NDB Cluster — распределение хранимых данных по нескольким узлам.

Некоторые другие известные подключаемые подсистемы хранения: DBM (ключ — значение), SQLite (обычно рассматривается как встраиваемая СУБД, но часто используется только в качестве подсистемы хранения), Microsoft Jet (используется в Microsoft Access, но доступна как отдельно подключаемая подсистема).

Примечания

Литература

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.