EXtensible Markup Language (XML) -tietokanta on ohjelmistojärjestelmä, joka mahdollistaa tietojen tallentamisen XML -muodossa. XML on sisällönkuvauskieli, jota käytetään tietojen hallintaan ja joka käyttää käyttäjän muokattavia tunnisteita tietojen järjestämiseen. Kielen joustavuus, joka mahdollistaa mukautettujen tietorakenteiden ja organisaatiojärjestelmien luomisen, on johtanut sen laajaan käyttöön tietojen vaihtamisessa useissa muodoissa. XML -tietokantoja käytetään usein sovelluksissa, kuten tietoportaaleissa, asiakirjojen vaihdoissa ja tuoteluetteloissa.
Tietojen muuntamiskustannusten kannalta katsotaan yleensä tehokkaammaksi käyttää XML -tietokantaa, koska tätä kieltä käytetään laajasti tiedonsiirrossa. Näitä tietokantoja on kaksi pääluokkaa: XML-yhteensopivat tietokannat ja Native XML-tietokannat (NXD). Jokaista XML -tietokantatyyppiä käytetään erityyppisten tietojen tallentamiseen.
XML-yhteensopiva tietokanta jakaa tiedot perinteiseen relaatiotietokantaan XML-muodossa. Tiedot käännetään tallennettavaksi ja palautetaan alkuperäiseen muotoonsa tulostettaessa. Tämän tyyppistä tietokantaa käytetään datakeskeisten asiakirjojen tallentamiseen, jotka sisältävät erittäin jäsenneltyä tietoa, kuten potilastietueita, ja käytetään vain XML-tiedostoja tiedonsiirtoon.
Alkuperäiset XML-tietokannat tallentavat XML-asiakirjat kokonaisuutena sen sijaan, että ne erottaisivat tiedot toisistaan, ja ne on suunniteltu tallentamaan puoliksi strukturoituja tietoja, kuten markkinointiesitteitä tai terveystietoja. XML-asiakirjoja, jotka sisältävät puolistrukturoituja tietoja, kutsutaan dokumenttikeskeisiksi. Alkuperäinen XML-tietokanta ei ole tietyn fyysisen tallennusmallin mukainen, ja se pystyy käyttämään suhteellisia, hierarkisia tai oliorakenteisia rakenteita sekä mukautettuja tallennusmuotoja. Se hallinnoi asiakirjoja ryhmittelemällä ne loogisiin kokoelmiin ja voi perustaa ja hallita useita kokoelmia samanaikaisesti. Tämän tyyppinen tietokanta sallii käyttäjän tallentaa minkä tahansa tyyppisiä XML -asiakirjoja rakenteesta riippumatta samaan kokoelmaan. Kyselyt voidaan rakentaa koko kokoelmaan, mikä yleensä tekee tietojen järjestämisestä ja käsittelystä joustavampaa.
XML -tietokanta käyttää erityistä ohjelmointikieltä, joka on suunniteltu erityisesti XML -asiakirjojen poimimiseen ja käsittelyyn, joka tunnetaan nimellä XQuery. XQueryn tarkoituksena on mahdollistaa joustavien kyselyiden rakentaminen, jotka voivat poimia ja käsitellä tietoja XML -asiakirjoista sekä muista lähteistä, jotka voidaan kääntää XML -muotoon. Jotkin sovellukset, joissa XQueryä voidaan käyttää, sisältävät tekstidokumenttien etsimistä verkosta tarvittavien tietojen löytämiseksi ja tulosten kokoamisen, tietojen poimimisen tietokannoista sovellusten integrointia varten ja raporttien luomisen XML -tietokannan sisältämistä tiedoista.
XML -tietokantoja käyttävät usein organisaatiot, joiden on hallittava monimutkaista ja monipuolista sisältöä, jotta ne voivat käsitellä ja käyttää tietoja tehokkaasti eri liiketoimintatavoitteisiin. XML -asiakirjojen ja tietokantojen joustavuuden ansiosta organisaatiot voivat tallentaa ja käsitellä tietoja eri ohjelmistoalustoilla ja -ympäristöissä. Asiakirjoja voidaan luoda ja hallita siten, että samoja tietoja voidaan käyttää eri projekteissa, kuten käsikirjoissa tai tuoteluetteloissa, sekä tarjota useita tulostusmuotoja erilaisten loppukäyttäjien vaatimusten mukaisesti.