OrientDB, mai rapid cu indexuri

Categorii: Programare, Stiinta si Tehnologie

19-Feb-2015 21:06 - 622 vizionari

Continuare la OrientDB:
Am inteles de ce cautarea si numararea de cate ori apare un numar in baza de date de 70 de milioane de inregistrari a durat 18 secunde. Desi baza de date a avut un index, nu l-a folosit.

Folosind selectarea din index am obtinut rezultatul in 0.2-0.3 secunde: SELECT COUNT(*) FROM index:test1.rndn WHERE key = xyz

Apasa pentru o imagine mai mare

In baza de date de test am creat o clasa (echivalentul unei tabele in SQL) cu o cheie numar aleator (campul rndn) si alta ca string aleator (numita rnds).

Cautarea unui numar (in rndn) fara index dureaza 18 secunde si dupa index dureaza 0.3 secunde.

Cautatea unui string (in rnds) fara index dureaza peste 1000 de secunde si dupa index nu gaseste valori, desi trebuiau sa fie.

Atunci am sters indexul test1.rnds si am inceput sa-l recreez, in speranta ca voi obtine o cautare mai rapida, nu aproximativ 1000 de secunde ca data trecuta.

(Se pare ca indexul de tip NOTUNIQUE nu este potrivit pentru texte si trebuie sa folosesc FULLTEXT_HASH_INDEX.)

Dar reconstruirea indexului dureaza cateva ore:

Apasa pentru o imagine mai mare

Apasa pentru o imagine mai mare

Am incercat sa refac indexul cu versiuni mai vechi ale serverului (2.0 si 2.0.1), dar de fiecare data mi-a dat eroare la final ca nu mai are memorie.

Acum tocmai am instalat o versiune noua de server (2.0.2) si sper sa mearga bine.

Dar, dupa 3 ore, la ora 20:30, PC-ul s-a resetat din cauza efortului de indexare sau a depasirii de memorie. Se pare ca OrientDB versiunea 2.0.2 nu este prea stabil, dar mai incerc cu baze de date mai mici.



Ultimele pagini: RSS

Alte adrese de Internet

Categorii

Istoric



Contorizari incepand cu 9 iunie 2014:
Flag Counter

Atentie: Continutul acestui server reprezinta ideile mele si acestea pot fi gresite.