Berkeley DB

Wikipediasta
Siirry navigaatioon Siirry hakuun

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]