Dokumentuzko datutegi

Dokumentuzko datutegi programa multzo batek osatzen du; programa horiek dokumentuetako datuak edo nolabait egituratutako datuak biltegiratzen, berreskuratzen eta kudeatzen dituzte. Datu-base mota hau NoSQL datu-baseen azpikategoria nagusietako bat da. Datu-base erlazionalak ez bezala, datu-base hauek "Dokumentua" nozio abstraktu baten inguruan diseinatuta daude. Informazioa biltegiratzeko, taula-egitura sinple batean eta dokumentuetan oinarritzen dira.

Dokumentuetako datu-baseen kudeatzaileak ez dira gainerako datu-baseen kudeatzaileak bezalakoak, egokiak baitira egituratu gabeko informaziorako (multimedia, testua...), hau da, eremutan banatu ez dagoen informaziorako. Gainera, programa horiek dokumentu-tratamendu orotan beharrezkoak diren funtzio guztiak dituzte testu-informazioa biltegiratzeko, indexatzeko, kontsultatzeko eta aldatzeko. Batez ere garrantzitsuak dira, informazio asko kudeatzen dutelako homogeneotasun-maila handiarekin, eta horri esker hainbat erabiltzailek partekatzen dutelako. Hauek dira oinarri erlazionalen kudeatzaileekiko alde handienak:

* Erregistroak dokumentuak dira, eta ez fitxak edo taulak.
* Eremuek edo atributuek luzera aldakorra dute, eta ez finkoa.
* Baliteke erregistro batek egiturarik ez izatea, eremu bakar batek osatzen duelako.
* Informazioa libreki berreskuratzeko aukera ematen dute; nahikoa da edukia adieraztea eremua zehaztu beharrik gabe.
* Berreskuratze-abiadura handiagoa.
* Sartutako hitz bakoitza indexatua da eta eremu bakoitzean indizeak eratzen dira.

## Barne ezaugarriak 
Dokumentuzko datutegiak, datu erdiegituratuak administratzeko erabiltzen dira. Egitura finko bati jarraitzen ez dioten datuak dira, egitura ia-ia bere horretan daramatenak. Hala ere, datu horien barruan markatzaileen (etiketen) laguntzarekin, informazioa ordenatu egin daiteke. Egitura argirik ez dagoenez, datu horiek ez dira egokiak datu-base erlazionaletarako, haien informazioa ezin delako tauletan sailkatu.

Datu-base dokumental batek pare sinple bat sortzen du: dokumentu espezifiko bat gako bati esleitzen zaio. XML, JSON edo YAML formatua izan dezakeen dokumentu horretan, informazioa bera aurki daiteke. Datu-baseak eskema espezifikorik behar ez duenez, dokumentu-biltegi batean hainbat dokumentu-mota sar daitezke. Dokumentuetako aldaketek ez dute eraginik datu-basean.

Beste modu batean azalduta, dokumentuetara bideratutako datu-basearen kontzeptu nagusia Dokumentuaren kontzeptua bera da. Dokumentuetara bideratutako datu-basearen inplementazio bakoitza xehetasunetan desberdina den bitartean, oro har, guztiek partekatzen dute *dokumentuek* datuak edo informazioa formatu estandarren bati jarraiki kapsulatzen eta kodetzen dutela dioen printzipioa. Gaur egun erabiltzen diren kodifikazioen artean XML, YAML eta JSON daude, baita BSON bezalako formatu bitarrak ere. Formaturik ohikoena JSON (Javascript Object Notation) da, SQL baino trinkoagoa eta irakurgarriagoa den lengoaia.

Gorago apiatu den bezala, informazioa erregistroaren ezaugarri guztiak dituzten dokumentuetan biltegiratzen da, eta kontsultak dokumentu horietan oinarrituta egiten dira. Hori dela eta, informazioa tauletan antolatzen duten oinarri erlazionalen eta kontsulten arteko aldea taula horien eremuen (zutabeen) arabera egiten da.

### Egitura 
Dokumentuetara bideratutako datu-base bateko dokumentuak erlaziozko datu-base bateko erregistroen, tuplen edo errenkaden antzekoak dira, baina ez hain zurrunak. Ez dute zertan eskema estandar batera egokitu, eta ez dituzte atal, atributu, gako edo antzeko gauza guztiak eduki behar. Adibidez, dokumentu bat honelakoa izan daiteke:
  {
 izena:Conchi Arratibel Dorronsoro
 Helbidea:Tolosa
 Lanbidea: "Etxekoandre"
 }
Eta beste batek:
  {
 izena:Jesús Lozano Barandiaran
 Helbidea:Donostia
 Seme-alabak:[
 {Izena:"Kristina"},
 {Izena:"Karmele"},
 {Izena:"Yolanda"},
 Emaztea:[
 {Izena:"Conchi},
Dokumentu horiek antzeko informazioren bat dute, eta beste bat desberdina. Erlaziozko datu-base batean ez bezala, non erregistro guztiek atributu berak izan behar dituzten (hutsik gera daitezke), dokumentu batean ez dago 'eremu' hutsik. Hala, informazio berria gehitu daiteke, zer informazio geratzen den kanpoan zehaztu beharrik gabe.

## Funtzionamendua 
### Funtzionamenduan desberdintasunak 
Teorian, dokumentuzko datutegi batek hainbat formatutan gorde ditzake datuak, eskema koherenterik gabe. Praktikan, ordea, datu-basearekin lan egitea errazteko, artxibo-formatu bat erabiltzen da dokumentuetarako, eta egitura finko bat datuetarako. Horrek aukera ematen du, adibidez, datu-baseari egindako kontsultak hobeto prozesatzeko. Oro har, ekintza berak egin daitezke datu-base dokumental batekin eta sistema erlazional batekin: informazioa txertatu, aldatu, ezabatu eta kontsultatu daiteke.

Ekintza horiek egin ahal izateko, dokumentu bakoitzak identifikatzaile bakar bat jasotzen du: gakoa esaten zaio horrri. Identifikatzaile hori karaktere-kate soil batez nahiz haraino daraman ibilbide osoaz osa daiteke. Datuak bilatzen direnean, dokumentuak berak egiaztatzen dira, hau da, ez dira zutabe guztiak zeharkatzen datu-basean datu horien bila, baizik eta dokumentu berberetatik ateratzen dira.      

### Gakoak 
Dokumentua identifikatzen duen gako bakarraren bidez helbideratzen dira dokumentuak. Normalean, gako hau *kate* sinple batez osatzen da. Kasu batzuetan, URI bat edo bide bat (haraino daraman ibilbide osoa) izan daiteke, eta dokumentua datu-basetik erreskatatzeko balio du. Oro har, dokumentuzko datutegiek gako horien indize bat izaten du, eta, beraz, azkar berreskuratzen da.

### Berreskuratzea 
Dokumentuetara bideratutako datu-basea definitzen duen beste ezaugarrietako bat da, dokumentu bat berreskuratzeko erabilitako gako-dokumentu (edo gako-balio) korrespondentzia sinpleaz harago, datu-baseak API bat edo galdera-lengoaia bat eskaintzen duela da, dokumentuak edukiaren arabera berreskuratzeko. Adibidez, eremu batean balio jakin bat duten dokumentu guztiei buruz galdetzeko. APIaren edo galdera-hizkuntzaren ezaugarrien multzoa eta lortzen dena asko alda dasiteke inplementazio batetik bestera.

### Antolaketa 
Dokumentuak oso modu desberdinetan antola ditzakegu dokumentuzko datutegien inplementazio desberdinak, besteak beste:

* Bildumak
* Etiketak
* Metadatu ezkutuak
* Direktorioen hierarkiak

## Erabilera 
Egitura eta ezaugarri horien arabera, datu-base dokumentalak datu-kopuru handiak gordetzeko erabiltzen dira nagusiki, edo gutxi egituratutako informazioa denean.

## Onurak eta desabantailak 
### Onurak 
* Informazio erdiegituratua duten dokumentuak egitura zehatzik gabe biltegiratzeko eta kontsultatzeko aukera ematen dute.
* Oso eredu malgua da, eta datu mota asko har ditzake.
* Datuak gehitzeko edo eguneratzeko zereginak sinplifikatzen dituzte. Adibidez, web-aplikazio edo app mugikor gehienetan etengabeko aldaketak izaten dira. Dokumentuzko datutegiei esker, datu berriak edo analisi-ereduak gehitu daitezke, askoz ere modu malguagoan.
* Idazketa azkarra ziurtatzen dute, eta lehentasuna ematen diote idazketaren erabilgarritasunari datuen trinkotasunaren gainetik. Horri esker, bizkortasuna ziurta daiteke, baita hardwarean edo sarean akatsak daudenean ere; izan ere, beste datu-base batzuetan atzerapenak ekarriko lituzke datuen aldaketa prozesuan, eta eragin negatiboa izango luke datuen koherentzian.
* Errendimendu ona bermatzen dute. Dokumentuzko datutegi gehienek bilaketa-motor indartsuak eta indexazio-propietate aurreratuak dituzte, eta horrek informazioa kontsultatzeko orduan bizkortasun handiagoa ziurtatzen du.
* Eskalagarritasun handia dute, eta informazio-bolumen handiak biltegiratzeko metodorik onenetako bat dira.

### Deabantailak 
* Datu-base erlazionalak ez bezala, ez dago lengoaia estandarizaturik datu-base horiek sortzeko.
* Ezin dituzte beti bermatu  ACID ( Atomicity, Consistency, Isolation and Durability = atomizazioa, trinkotasuna, osotasuna eta iraunkortasuna) propietateak.
* Ez dute komunitate handirik atzean, eta askoz ere informazio gutxiago dago datu-base mota hauei buruz.
* Indizeek RAM memoria handia har dezakete, batez ere datu-bolumen handia maneiatzen duten oinarri dokumentaletan.

## Motak 
Teknikoa ez den erabiltzailearen ikuspuntutik, dokumentuzko datutegiak hainbat motatan sailka daitezke, edukiaren, hartzen dituen gaien edo sartzeko moduaren arabera.      .

* Dokumentuen edukiaren arabera
** Datutegi bibliografikoak (dokumentu edo testu zati bateko datu nagusiak gordetzen dituzte).
** Testu osoko datutegiak (testu edo eduki osoa gordetzen dute).

* Gordetzen duten gaiaren arabera
** Diziplina anitzeko).
** Espezializatuak (adibidez, oso ohikoak dira medikutzan espezializatutako datutegiak, testu medikuak bakrrik gordetzen dituztenak).

* Sartzeko moduaren arabera
** Tokiko sarrera
** On-line
** Kanpoko memoria gordetzaile bidezkoa: disko zurruna, pen-drive, CD-Rom...

## Inplementazioak 
### XML datu-baseak 
XML datu-base gehienak dokumentuetara bideratuta daude.

## Erreferentziak 
## Kanpo estekak