DBM (tietotekniikka)

Wikipediasta
Siirry navigaatioon Siirry hakuun

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:

Useat eri toteutukset käyttävät toisistaan poikkeavaa tiedostomuotoa levylle tallennuksessa.[15][16]

  1. a b TDBM: A DBM Library With Atomic Transactions (PDF) pdfs.semanticscholar.org. Viitattu 12.3.2020. (englanniksi)
  2. https://www.gnu.org.ua/software/gdbm/manual/html_node/Compatibility.html (Arkistoitu – Internet Archive)
  3. https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/libdbm/dbm.c
  4. a b The NDBM library infolab.stanford.edu. Viitattu 12.3.2020. (englanniksi)
  5. New Database Manager ibm.com. Viitattu 12.3.2020. (englanniksi)
  6. DBM_OPEN(3) man.openbsd.org. Viitattu 12.3.2020. (englanniksi)
  7. gdbm(3) - Linux man page linux.die.net. Viitattu 12.3.2020. (englanniksi)
  8. Topic: gdbm edoras.sdsu.edu. Viitattu 12.3.2020. (englanniksi)
  9. https://pubs.opengroup.org/onlinepubs/009695399/basedefs/ndbm.h.html
  10. https://www.gnu.org.ua/software/gdbm/
  11. https://docs.ruby-lang.org/en/2.4.0/SDBM.html
  12. http://www.cse.yorku.ca/~oz/sdbm.bun
  13. https://tdb.samba.org
  14. https://fallabs.com/qdbm/ (Arkistoitu – Internet Archive)
  15. a b Jan Wolter: Unix Incompatibility Notes: DBM Hash Libraries unixpapa.com. Viitattu 12.3.2020. (englanniksi)
  16. dbm/ndbm docs.oracle.com. Viitattu 12.3.2020. (englanniksi)