DBM (tietotekniikka)
dbm (lyhenne sanoista database manager) on Unixille kehitetty sulautettu tietokanta, joka on usein toteutettu linkitettävä C-kielisenä kirjastona.[1][2] Kirjasto on mukana version 7 Unixissa vuodelta 1979.[3]
Kirjasto on avain-arvopareja sisältävien tiedostojen käsittelyyn.[4][5] Ominaisuuksia ovat tallennus, haku ja poisto avaimen mukaan sekä ei-järjestetty avainten selaaminen.[4][6][7] Kirjaston käyttäjiä ovat muun muassa sendmail-ohjelma.[8]
1980-luvulla tuli tarve korvata alkuperäisen Unixin koodi puhtaalta pöydältä kirjoitetulla tekijänoikeussyistä. Uudet toteutukset tehty yhteensopiviksi siten, että rajapinta säilyy samana ja vanhaa dbm-kirjastoa käyttävä koodi kääntyy ongelmitta. Tietokannalla on useita seuraajia:
- Open Groupin määrittelyssä on ndbm (New dbm)[9]
- GNU-projektilla on GNU dbm (lyhyesti gdbm), joka tukee myös dbm ja ndbm -rajapintoja[10]
- Perl ja Ruby-kielille on olemassa oma toteutus sdbm (Small dbm)[11][12]
- Sambassa on oma tdb (Trivial database)[13]
- TDBM, transaktiotuella[1]
- QDBM[14]
- Sleepycat Softwaren Berkeley DB toteuttaa vastaavan rajapinnan[15]
Useat eri toteutukset käyttävät toisistaan poikkeavaa tiedostomuotoa levylle tallennuksessa.[15][16]
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ a b TDBM: A DBM Library With Atomic Transactions (PDF) pdfs.semanticscholar.org. Viitattu 12.3.2020. (englanniksi)
- ↑ https://www.gnu.org.ua/software/gdbm/manual/html_node/Compatibility.html (Arkistoitu – Internet Archive)
- ↑ https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/libdbm/dbm.c
- ↑ a b The NDBM library infolab.stanford.edu. Viitattu 12.3.2020. (englanniksi)
- ↑ New Database Manager ibm.com. Viitattu 12.3.2020. (englanniksi)
- ↑ DBM_OPEN(3) man.openbsd.org. Viitattu 12.3.2020. (englanniksi)
- ↑ gdbm(3) - Linux man page linux.die.net. Viitattu 12.3.2020. (englanniksi)
- ↑ Topic: gdbm edoras.sdsu.edu. Viitattu 12.3.2020. (englanniksi)
- ↑ https://pubs.opengroup.org/onlinepubs/009695399/basedefs/ndbm.h.html
- ↑ https://www.gnu.org.ua/software/gdbm/
- ↑ https://docs.ruby-lang.org/en/2.4.0/SDBM.html
- ↑ http://www.cse.yorku.ca/~oz/sdbm.bun
- ↑ https://tdb.samba.org
- ↑ https://fallabs.com/qdbm/ (Arkistoitu – Internet Archive)
- ↑ a b Jan Wolter: Unix Incompatibility Notes: DBM Hash Libraries unixpapa.com. Viitattu 12.3.2020. (englanniksi)
- ↑ dbm/ndbm docs.oracle.com. Viitattu 12.3.2020. (englanniksi)