Berkeley DB

Berkeley DB on aikoinaan merkittävä sulautettu tietokanta. Berkeley DB on avain-arvo-tietokanta, ei siis relaatiotietokanta, vaikka siinä onkin kehittyneitä ominaisuuksia, kuten transaktiot, säieturvallisuus (MVCC) ja ACID-mallista atomisuus ja pysyvyys logien (write-ahead log) avulla.

Berkeley DB on lähtöisin UC Berkeleyn BSD-Unixista. 4.3BSD:n julkaisun jälkeen (1986) kehittäjät pyrkivät tekijänoikeussyistä korvaamaan kaikki alkuperäisen AT&T:n Unixin koodin omalla koodilla.

Margo Seltzer ja Keith Bostic kehittivät uuden tietokantaohjelman, joka oli myös vapaa AT&T:n patenteista, jotka koskivat alun perin Ken Thompsonin kirjoittamaa Unixin dbm:ta. Berkeley DB oli myös edeltäjiään nopeampi ja tarkoitettu korvaamaan dbm AT&T:ltä, aiempi Berkeleyn ndbm ja GNU-projektin gdbm. Berkeley DB säilyttää dbm-tyylisen C-kielisen ohjelmointirajapinnan, jota on laajennettu.[1]

Berkeley DB julkaistiin alun perin 1991 ja Berkeley DB 1.85 sisällytettiin 4.4BSD:hen (1992).[1] Vuonna 1996 Netscape pyysi tietokantaan lisäominaisuuksia LDAP-palvelintaan ja selaintaan varten. Alkuperäiset kehittäjät perustivat Sleepycat Softwaren kehittämään ja parantamaan tietokantaa. Versio 2.1 vuodelta 1997 sisälsi uusia ominaisuuksia, kuten usean säikeen yhtäaikaisen tietokannan käsittelyn.[1]

Oracle Corporation osti Sleepycatin helmikuussa 2006. Tuolloin Oraclen lehdistötiedote kertoi Berkeley DB:n olevan maailman käytetyin avoimen lähdekoodin tietokanta, jonka asennuskanta oli noin 200 miljoonaa kopiota. Sitä käytettiin etenkin Linux- ja BSD-järjestelmissä, Apache-palvelimessa, OpenLDAP-hakemistopalvelimessa ja OpenOffice-toimisto-ohjelmassa.[2] Oracle vaihtoi tietokannan lisenssin vuonna 2013 GNU Affero General Public Licenseen,[3] millä oli merkittävä vaikutus tietokannan käyttöön avoimen lähdekoodin ohjelmissa, sillä tietokantaa käyttävien ohjelmien tuli nyt olla levitetty samalla tai yhteensopivalla lisenssillä. Vaihtoehtona on ostaa Oraclelta kaupallinen lisenssi.[4]

Bloomberg L.P. -yhtiö on jatkanut tietokannan vanhan version kehittämistä Comdb2-nimellä. Tietokantaa käytetään tallettamaan suurta osaa Bloombergin käsittelemästä datasta.[5] Tämä versio sisältää mm. High availability -ominaisuudet, SQL-hakukielen SQLitestä ja Lua-kielellä kirjoitetut tallennetut proseduurit.[6][7]

Lähteet

  1. a b c https://www.usenix.org/legacy/events/usenix99/full_papers/olson/olson.pdf
  2. https://www.oracle.com/corporate/pressrelease/oracle-buys-sleepycat-021406.html
  3. https://oss.oracle.com/pipermail/bdb/2013-June/000056.html
  4. https://www.oracle.com/database/technologies/related/berkeleydb-downloads.html
  5. https://bloomberg.github.io/comdb2/overview_home.html
  6. http://www.vldb.org/pvldb/vol9/p1377-scotti.pdf
  7. https://github.com/bloomberg/comdb2/blob/main/LICENSE