Berkeley DB XML probak

Errepikapenik gabeko datu basea

________________________________________________________________________________


Atal honetan, EPEC-eko dokumentuak hartu eta beraietatik FS-ak eskuratu ondoren, datu base berri bat sortu da. Bertan ez daude FSrik errepikatuta, FS bakoitzaren md5-a kalkulatu delako eta md5 desberdina duten elementuak soilik sartu direlako. Probak makina lokalean (sipg35), eramangarri batean eta zerbitzari batean (siuc05) egin dira.


Datu baseratzea, eramangarrian
Galderak eramangarrian
Galderak eramangarrian, konponduta
Datu baseratzea, sipg35
Galderak makina lokalean (sipg35)

Datu baseratzea, eramangarrian

[gora]

EPEC_azken_bertsioa hartuta, file2fs programarekin datu basea hornitu da. [Dokumentazioa]

Denera 160 658 fs gorde dira.

Tamaina 746MB.

Orain gordetako fs guzti horiek desberdinak direla frogatu behar da. Teorian desberdinak dira, sartu baino lehen fs bakoitzaren md5-a kalkulatu dugulako.



Galderak egiterakoan denbora asko behar du. Moteltasun honen zergatia indizeak gaizki definituta daudelako izan da. Indizeen deskribapena hutsik egon behar da, indizeek funtzionatu dezaten. Indizeak:

dbxml> listIndexes
Index: unique-node-metadata-equality-string for node {http://www.sleepycat.com/2002/dbxml}:name
Index: edge-element-equality-string for node {str indizea}:str
Index: edge-element-equality-string for node {sym indizea, agian kentzeko}:sym
Index: edge-attribute-equality-string for node {value indizea}:value
4 indexes found


Hurrengo sorkuntzan edge-attribute-substring-string value atributurako ere definituko da.


Denera 365 601 fs prozesatu dira eta horietatik 183 631 sartu dira datu basean. Printzipioz desberdinak dira baina frogatzeke geratzen da.



Galderak eramangarrian

[gora]

Proba berdinak errepikatu dira. Datu basea USB disko batean dago, ordenagailua eramangarri bat da.

0.

query 'collection("EPEC_fsak.dbxml")/fs[f[@name="lema-osatua"]/str="etxe"]/@id'

Denbora: 101.006 ms (gehiegi da!!)

Erantzun Kopurua: 74 objektu

Programatik: ms

Bigarrena: ms



1.

query 'collection("EPEC_fsak.dbxml")/fs[f[@name="goimailako-ezaugarriak"]/fs[@type="goimailako-ezaugarri-lista"]/f[@name="AZP"]/sym[@value="ERKARR"]]/@id'

Denbora: 104.351 ms

Erantzun Kopurua: 112 objektu

Programatik:

Bigarrena: ms



Galderak eramangarrian, konponduta

[gora]

Indizeak aurretik gaizki definituta zeuden, jarraian ondo definituta azaltzen dira:

dbxml> listIndexes
Index: edge-attribute-equality-string for node {}:id
Index: unique-node-metadata-equality-string for node {http://www.sleepycat.com/2002/dbxml}:name
Index: edge-element-equality-string for node {}:str
Index: edge-element-equality-string for node {}:sym
Index: edge-attribute-equality-string edge-attribute-substring-string for node {}:value
5 indexes found.

Proba berdinak errepikatu dira datu basearen egoera aztertzeko.

0.

query 'collection("EPEC_fsak.dbxml")/fs[f[@name="lema-osatua"]/str="etxe"]/@id'

Denbora: 1.993,05 ms

Erantzun Kopurua: 85 objektu

Programatik: 2.184 ms

Bigarrena: 104 ms


1.

query 'collection("EPEC_fsak.dbxml")/fs[f[@name="goimailako-ezaugarriak"]/fs[@type="goimailako-ezaugarri-lista"]/f[@name="AZP"]/sym[@value="ERKARR"]]/@id'

Denbora: 4.437,08m ms

Erantzun Kopurua: 118 objektu

Programatik: 4.852 ms

Bigarrena: 140 ms

2.

query 'collection("EPEC_fsak.dbxml")/fs[f[@name="lema-osatua"]/str="etxe"]/f[@name="forma"]/str'

Denbora: 43,446 ms

Erantzun Kopurua: 85 objektu

Programatik: 382 ms

Bigarrena: 116 ms


3.

query 'for $x in collection("EPEC_fsak.dbxml")/fs[f[@name="lema-osatua"]/str="etxe"]/@id return $x'

Denbora:

Erantzun kopurua: 85 objektu

Programatik: 116 ms

Bigarrena: 62 ms


4.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"forma\"]/str=\"Bartzelonako\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"][f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/f[@name=\"AZP\"]/sym[@value=\"LIB\"]]/@id

Denbora:

Erantzun kopurua: 0 ??? Datu basean ez dago horrelako fs-rik, agian egon beharko luke

Programatik: 324 ms

Bigarrena:


5.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"forma\"]/str=\"Bartzelonako\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"]]/@id

Denbora:

Erantzun kopurua: 0 ???

Programatik:

Bigarrena:


6.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"forma\"]/str=\"Bartzelonako\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"]/f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/@id

Denbora:

Erantzun kopurua: 0 ???objektu

Programatik: ms

Bigarrena:


7.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"][f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/f[@name=\"AZP\"]/sym[@value=\"LIB\"]]/@id

Denbora:

Erantzun kopurua: 4.779 objektu

Programatik: 52.096 ms

Bigarrena: 6.833 ms


8.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"lema-osatua\"]/str=\"Bartzelona\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"][f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/f[@name=\"AZP\"]/sym[@value=\"LIB\"]]/@id

Denbora:

Erantzun kopurua: 6 objektu

Programatik: 343 ms

Bigarrena: 340 ms


9.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"lema-osatua\"]/str=\"Bartzelona\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"][f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/f[@name=\"AZP\"]/sym[@value=\"LIB\"]]

Denbora:

Erantzun kopurua: 6 objektu

Programatik: 320 ms

Bigarrena: 289 ms


10.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"lema-osatua\"]/str=\"Bartzelona\"\ and\ .//f[@name=\"AZP\"]/sym[@value=\"LIB\"]]

Denbora:

Erantzun kopurua: 16 objektu

Programatik: 142 ms

Bigarrena: 109 ms


11.

collection\(\"EPEC_fsak.dbxml\"\)/fs[.//f[@name=\"KAT\"]/sym[@value=\"IZE_IZEELI\"]]/@id

Denbora:

Erantzun kopurua: 1228 objektu

Programatik: 7.715 ms

Bigarrena: 296 ms


12.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f_goimailako-ezaugarriak/fs_goimailako-ezaugarri-lista[f_KAT/sym=\"IZE_IZEELI\"]]/@id

Denbora:

Erantzun kopurua: 0 objektu, datu base zaharreko galdera da

Programatik: 142 ms

Bigarrena:


13.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f_goimailako-ezaugarriak/fs_goimailako-ezaugarri-lista[f_KAT/sym="ASMATUA"]]/@id

Denbora:

Erantzun kopurua: 0 , datu base zaharreko galdera da eta ez du erantzun behar

Programatik: 120 ms

Bigarrena: 90 ms


14.

collection\(\"EPEC_fsak.dbxml\"\)//@value=\"ERKARR\"

Denbora:

Erantzun kopurua:

Programatik:

Bigarrena:


Irteera:

galdera bat exekutatzen
Found 1 documents for query: 'collection("EPEC_fsak.dbxml")//@value="ERKARR"'
***errorea eguneraketa egitean
Error: Can't convert XmlValue to Document
bukatu da


real 0m55.908s
user 0m11.313s
sys 0m1.360s



15.

collection\(\"EPEC_fsak.dbxml\"\)//@value=\"IZE_IZEELI\"

Denbora:

Erantzun kopurua: 1

Programatik: 122.828 ms

Bigarrena: 93.034 ms


Ezin da bakarra izan! Erantzunak berreskuratu nahi direnean errorea ematen du.

Irteera:

Found 1 documents for query: 'collection("EPEC_fsak.dbxml")//@value="IZE_IZEELI"'
***errorea eguneraketa egitean
Error: Can't convert XmlValue to Document
bukatu da


real 2m31.317s
user 0m15.349s
sys 0m1.492s


16.

[]% time ./galderav2 EPEC_fsak.dbxml "collection('EPEC_fsak.dbxml')/fs[f[@name='forma']/fn:ends-with(str,'ilotu')]"

Denbora:

Erantzun kopurua: 12 objektu

Programatik: 223.165 ms

Bigarrena:

Galdera hau eginda konturatu naiz edge-element-substring-string to node: {}:str indizea falta zela. Definitukoan:

Denbora:

Erantzun kopurua: 12 objektu

Programatik: 2.170 ms

Bigarrena: 1.125 ms

17.

[]% time ./galderav2 EPEC_fsak.dbxml "collection('EPEC_fsak.dbxml')/fs[f[@name='forma']/fn:ends-with(str,'rekin')]"

Denbora:

Erantzun kopurua: 1.197

Programatik: 14.707 ms

Bigarrena: 4.952 ms



18.

[]% time ./galderav2 EPEC_fsak.dbxml "collection('EPEC_fsak.dbxml')/fs[f[@name='forma']/fn:ends-with(str,'havezen')]"

Denbora:

Erantzun kopurua: 0

Programatik: 7.521 ms

Bigarrena: 67 ms



19.

[]% time ./galderav2 EPEC_fsak.dbxml 'collection("EPEC_fsak.dbxml")/fs[@id="M-E-IZE-ARR-12500"]/@id' bai

Denbora:

Erantzun kopurua: 1 objektu

Programatik: 113 ms

Bigarrena: 65 ms


20.

"collection('EPEC_fsak.dbxml')/fs[f[@name='lema-osatua']/fn:starts-with(str,'atx')]"

Denbora:

Erantzun kopurua: 111

Programatik: 5.275 ms

Bigarrena: 894 ms



21.

"collection('EPEC_fsak.dbxml')/fs[f[@name='forma']/fn:starts-with(str,'atx')]"

Denbora:

Erantzun kopurua: 141

Programatik: 1.252 ms

Bigarrena: .867 ms



22.

"collection('EPEC_fsak.bdbxml')/fs[f[@name='forma']/fn:ends-with(str,'uli')]"

Denbora:

Erantzun kopurua: 39 objektu

Programatik: 1.846 ms

Bigarrena: 232 ms

Datu baseratzea, sipg35

[gora]

Prozesu berdina sipg35 makinan probatu da. Datu basea osatzearen denborak:

6450.98user 2392.11system 10:58:09elapsed 22%CPU (0avgtext+0avgdata 0maxresident)k
Hau da: 1 h 47 min 30 s

Sartu eta prozesatu dituen fs kopurua honakoa izan da:

1 066 473elementu (fs) denera prozesatu dira.
414 454 elementu (fs) db-n sartu dira.

Datu basearen tamaina 2,7 GB-etakoa da.

Kasu honetan EPEC guztia hartzen duela esan beharra dago eta benetan fs guztiak prozesatzen dituela. Denbora askoz gehiago behar izan du prozesua osatzeko eta emaitza ere potoloagoa izan da, baina azken batean hau da datu basea osatzeko iragarpen errealista.

Datu baseratze honen alde txarra da dokumentu originalak ukitu eta aldatuta uzten dituela. Agian ondo legoke sortu diren md5 guztiak beste datu base batean (erlazionala edo berkeley db) edo fitxategi batean gordetzea. Sarrera berriak egin behar direnean informazio hori jada eskuragarri eta azkar izan dezagun.

Galderak makina lokalean (sipg35)

[gora]

Indizeak aurretik gaizki definituta zeuden, jarraian ondo definituta azaltzen dira:

dbxml> listIndexes
Index: edge-attribute-equality-string for node {}:id
Index: unique-node-metadata-equality-string for node {http://www.sleepycat.com/2002/dbxml}:name
Index: edge-element-equality-string for node {}:str
Index: edge-element-equality-string for node {}:sym
Index: edge-attribute-equality-string edge-attribute-substring-string for node {}:value
5 indexes found.

Proba berdinak errepikatu dira datu basearen egoera aztertzeko.

0.

query 'collection("EPEC_fsak.dbxml")/fs[f[@name="lema-osatua"]/str="etxe"]/@id'

Denbora: 1.993,05 ms

Erantzun Kopurua: 85 objektu

Programatik: 2.184 ms

Bigarrena: 104 ms

Denbora 1.891,02 ms
Erantzun Kopurua 125 objektu
Programatik ms
Bigarrena 32,384 ms


1.

query 'collection("EPEC_fsak.dbxml")/fs[f[@name="goimailako-ezaugarriak"]/fs[@type="goimailako-ezaugarri-lista"]/f[@name="AZP"]/sym[@value="ERKARR"]]/@id'

Denbora 6.416,81 ms
Erantzun Kopurua 196 objektu
Programatik ms
Bigarrena 110,698 ms

2.

query 'collection("EPEC_fsak.dbxml")/fs[f[@name="lema-osatua"]/str="kotxe"]/f[@name="forma"]/str'

Denbora 232,243 ms
Erantzun Kopurua 16 objektu
Programatik ms
Bigarrena  5,837 ms


3.

query 'for $x in collection("EPEC_fsak.dbxml")/fs[f[@name="lema-osatua"]/str="mehatxu"]/@id return $x'

Denbora 473,55 ms
Erantzun Kopurua 30 objektu
Programatik ms
Bigarrena 8,118 ms

4.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"forma\"]/str=\"Bartzelonako\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"][f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/f[@name=\"AZP\"]/sym[@value=\"LIB\"]]/@id

Denbora 164.073 ms
Erantzun Kopurua 2 objektu
Programatik ms
Bigarrena 3.688 ms

5.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"forma\"]/str=\"Bartzelonako\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"]]/@id

Denbora 2,27 ms
Erantzun Kopurua 2 objektu
Programatik ms
Bigarrena  1,785 ms

6.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"forma\"]/str=\"Bartzelonako\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"]/f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/@id

Denbora 3,079 ms
Erantzun Kopurua 2 objektu
Programatik ms
Bigarrena 3,006 ms

7.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"][f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/f[@name=\"AZP\"]/sym[@value=\"LIB\"]]/@id

Denbora 100.193 ms
Erantzun Kopurua 11.718 objektu
Programatik ms
Bigarrena 8.204,65 ms

8.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"lema-osatua\"]/str=\"Bartzelona\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"][f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/f[@name=\"AZP\"]/sym[@value=\"LIB\"]]/@id

Denbora 13,617 ms
Erantzun Kopurua 12 objektu
Programatik ms
Bigarrena 13,648 ms


9.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"lema-osatua\"]/str=\"Bartzelona\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"][f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/f[@name=\"AZP\"]/sym[@value=\"LIB\"]]

Denbora 13,589 ms
Erantzun Kopurua 12 objektu
Programatik ms
Bigarrena 13,577 ms


10.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f[@name=\"lema-osatua\"]/str=\"Bartzelona\"\ and\ .//f[@name=\"AZP\"]/sym[@value=\"LIB\"]]

Denbora 95,351 ms
Erantzun Kopurua 22 objektu
Programatik ms
Bigarrena 56,154 ms


11.

collection\(\"EPEC_fsak.dbxml\"\)/fs[.//f[@name=\"KAT\"]/sym[@value=\"IZE_IZEELI\"]]/@id

Denbora 13.774,9 ms
Erantzun Kopurua 3.037 objektu
Programatik ms
Bigarrena  468,391 ms


12.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f_goimailako-ezaugarriak/fs_goimailako-ezaugarri-lista[f_KAT/sym=\"IZE_IZEELI\"]]/@id

Denbora 0,175 ms
Erantzun Kopurua 0 objektu
Programatik ms
Bigarrena ms

Ez du erantzun behar


13.

collection\(\"EPEC_fsak.dbxml\"\)/fs[f_goimailako-ezaugarriak/fs_goimailako-ezaugarri-lista[f_KAT/sym="ASMATUA"]]/@id

Denbora  0,162 ms
Erantzun Kopurua 0 objektu
Programatik ms
Bigarrena ms

Ez du erantzun behar


14.

collection\(\"EPEC_fsak.dbxml\"\)//@value=\"ERKARR\"

Denbora  339.662 ms
Erantzun Kopurua 1 objektu
Programatik ms
Bigarrena  109.347 ms

Erantzuna: true

15.

collection\(\"EPEC_fsak.dbxml\"\)//@value=\"IZE_IZEELI\"


Denbora  136.342 ms
Erantzun Kopurua 1 objektu
Programatik ms
Bigarrena 139.409 ms

Erantzuna: true

16.

[]% time ./galderav2 EPEC_fsak.dbxml "collection('EPEC_fsak.dbxml')/fs[f[@name='forma']/fn:ends-with(str,'ilotu')]"

Denbora 1.078,8 ms
Erantzun Kopurua 45 objektu
Programatik ms
Bigarrena 39,566 ms

17.

[]% time ./galderav2 EPEC_fsak.dbxml "collection('EPEC_fsak.dbxml')/fs[f[@name='forma']/fn:ends-with(str,'rekin')]"

Denbora 16.884,5 ms
Erantzun Kopurua 4064 objektu
Programatik ms
Bigarrena 909,722 ms


18.

[]% time ./galderav2 EPEC_fsak.dbxml "collection('EPEC_fsak.dbxml')/fs[f[@name='forma']/fn:ends-with(str,'havezen')]"

Denbora  323,237 ms
Erantzun Kopurua 60 objektu
Programatik ms
Bigarrena 11,069 ms

19.

[]% time ./galderav2 EPEC_fsak.dbxml 'collection("EPEC_fsak.dbxml")/fs[@id="M-A-IZE-ARR-10657"]/@id' bai

Denbora 63,662 ms
Erantzun Kopurua 6 objektu
Programatik ms
Bigarrena 0,423 ms


20.

"collection('EPEC_fsak.dbxml')/fs[f[@name='lema-osatua']/fn:starts-with(str,'atx')]"

Denbora  1.285,55 ms
Erantzun Kopurua 180 objektu
Programatik ms
Bigarrena  73,737 ms

21.

"collection('EPEC_fsak.dbxml')/fs[f[@name='forma']/fn:starts-with(str,'lang')]"

Denbora 1.364,41 ms
Erantzun Kopurua 172 objektu
Programatik ms
Bigarrena 45,06 ms


22.

"collection('EPEC_fsak.dbxml')/fs[f[@name='forma']/fn:ends-with(str,'uli')]"

Denbora  2.161,53 ms
Erantzun Kopurua 44 objektu
Programatik ms
Bigarrena 78.011 ms

[gora]