A tárolási alrendszer ( angolul database engine, storage engine ) egy DBMS - komponens , amely az adatbázis-tárolási mechanizmusokat vezérli, vagy olyan könyvtár , amely a programokhoz csatlakozik és DBMS-funkciókat ad nekik [1] .
DBMS esetén a tároló alrendszer feladata az adatbázisok elhelyezése (általában fájlokban), és az azokhoz való egyidejű hozzáférés megszervezése. A DBMS-ek általában lehetővé teszik az adatok és adatbázis-struktúrák SQL nyelv használatával történő manipulálását , miközben az SQL nyelvi értelmező általában a DBMS összetevője, nem pedig a tárolási alrendszer.
A könyvtár lehetővé teszi a program számára, hogy egy adott adatbázis-fájlformátumot használjon az adatok kezeléséhez. Bonyolultabb esetben lehetővé teszi, hogy több program egyidejűleg dolgozzon közös adatbázis-fájlokkal, bizonyos zárolási mechanizmusok segítségével.
Egyes DBMS-ekben a tárolási alrendszer elválaszthatatlan önmagától, de számos alrendszer beágyazható vagy csatlakoztatható különböző DBMS-ekhez. Vannak olyan DBMS-ek, amelyek lehetővé teszik több csatlakoztatható tároló alrendszer egyidejű használatát, például a MySQL család rendszereit ( MariaDB , Percona Server ), amelyekbe az InnoDB , MyISAM , XtraDB , Falcon , Aria , TokuDB , MyRocks (a RocksDB alapján ) és néhány másik. A csatlakoztatott tárolási alrendszer határozza meg a DBMS egészének funkcionalitását, például az XtraDB és az InnoDB a MyISAM-mel összehasonlítva támogatja az ACID és az idegen kulcsok elvein alapuló tranzakciókat , valamint az NDB Cluster - a tárolt elosztását. adatok több csomóponton keresztül.
Néhány további figyelemreméltó csatlakoztatható tárolási alrendszer: DBM ( kulcsérték ), SQLite (általában beágyazott DBMS -nek tekintik , de gyakran csak tárolási alrendszerként használják), Microsoft Jet (a Microsoft Accessben használatos , de külön is elérhető csatlakoztatható alrendszer) .