Citat:
Branimir Maksimovic:
Za koju klasu problema je graf baza bolja od relacione baze?
Pretpostavljam da to treba nekom ko previse zvralja seme na tabli..
Ignorisacu da je ovo MadZone, pa cu probati da ti odgovorim koliko mogu... ;) (Imam NDA ovo je forum):
Graph baze su napravljene da resavaju probleme, sto neko rece, "koliko imam prijatelja i prijatelja prijatelja". Cela ta fora sa indexima unutar noda omogucava da u odnosu na relacione baze, koristis pretragu po dubini graph-a - a ne brdo LEFT JOIN upita. Ovo je jako efikasno ako imas nekoliko velikih tabela (milioni slogova) i nekoliko n-n relacija izmedju njih (again, milioni relacija), gde jedan slog sam po sebi ima nekoliko relacija, ali zato ukupni broj relacija bude veliki.
Nije dobro resenje da zameni EAV model. Vrlo je zanimljivo resenje za recomendation sisteme i natural language procesing.... Tipa, kad te hoces interakciju sa klijentom koji trazi nesto povezano sa necim....
Ako ce pomoci, pogledaj ovo:
https://neo4j.com/developer/graph-db-vs-rdbms/
Na jednom projektu sam podizao komercijalni Neo4J, prebacili su neke sulude upite sa baze na njega, bas je pomoglo da se rastereti ceo sistem. Jednostavno, fora je da kad pises node, odma upises i brdo date sa njim - i onda time ubrzavas citanje. Dodatno, time sto pises indexe na istom mestu ubrzavas i pisanje, u poredjenju sa update-om index-a na milionskim tabelama. Mane su sto je pisanje rasuto, sto je bio problem pre SSD-ova i mana je sto pises vise date po disku.
Please do not feed the Trolls!
Blasphemy? How can I blaspheme? I'm a god!'