Home / Apple / Mi az a gráfadatbázis (graph database) és mire jó?

Mi az a gráfadatbázis (graph database) és mire jó?

A gráfadatbázisok speciális adatbázisok, melyek olyan komplex adatstruktúrákat tárolnak, melyeket lehetetlen lenne hagyományos relációd adatbázisokban tárolni. Főleg szociális hálózatokban és adatbázisokban használják őket, mivel bizonyos lekérdezéseknél sokkal jobban működnek e téren.graph database

A gráfadatbázisokat olyan esetben ajánlatos használni, amikor az adatok szoros kapcsolatban állnak egymással és a kapcsolatok száma is igen magas. Olyankor hasznosak, amikor maga az adat tartalma fontosabb, mint az adatbázis struktúrája. Tegyük fel, hogy van egy adatbázisunk, ahol minden személynek van egy barát listája, továbbá kapcsolatban áll más emberekkel is barát vagy ismerős szinten. Ezen felül minden személy posztol, ezeket a posztokat pedig mások is láthatják. Minden posztra emberek ezrei reagálhatnak. Szóval, habár egy tweet max 280 karakter lehet, ez jó eséllyel azért van, mert rengeteg egyéb információt kell egy tweet-el kapcsolatban elraktározni.graf adatbazis

Ez persze nem csak az egyetlen szituáció, ahol a gráfadatbázisokat használják, csupán a legkézzelfoghatóbb. Az ilyen adatbázisokat használják például csalások leleplezésére is. Tegyük fel, hogy egy bank vagyunk és a gyanús fiókokat meg akarjuk jelölni. Két külön bankfiók esetében például kicsit fura lehet, ha ugyanarra a címre vannak bejelentve és ugyanaz a telefonszám. Egy gráfadatbázissal felállíthatunk egy kapcsolati hálót a kettő között és hatékonyabban kideríthetjük a csalást.

A gráfok gócokból (node) épülnek fel, és ezek tárolják az adatokat. Számos tulajdonsága lehet egy gócnak, ezáltal hasonlóan működik a gráfadatbázis egy dokumentum adatbázishoz. A különbség az, hogy az utóbbiban a dokumentumok külön vannak tárolva és nincs megjelölve, hogy milyen kapcsolatban állnak egymással. A gráfadatbázisban viszont van ilyen jellegű információ, amit éleknek nevezünk. Ezek kötik össze a gócokat és megadják a kapcsolat jellegét is különböző gócok között. Visszatérve a szociális hálóra, két barát például egy „barát” éllel lenne összekötve, míg egy felhasználó a saját posztjához egy „user” vagy „posted” éllel. Miért jó nekünk mindez?grafadatbazis

Nem az a probléma, hogy a hagyományos relációs adatbázisok, mint a MySQL nem tudnak gráfszerű egységeket eltárolni. A probléma a linkek, élek jellegével és természetével van. A szociális háló esetében például nem akarnánk eltárolni egy felhasználó barátjai nevének teljes listáját, mivel a barát a nevét megváltoztathatja. Éppen ezért inkább az azonosítóját (ID) tároljuk. Ha viszont meg akarjuk tudni az összes személy nevét, akinek közös barátja van egy adott személlyel, akkor a relációs adatbázisok össze-vissza fognak ugrálni az emberek barát listáján és a feladat annál hamarabb felemészti a számítógép erőforrásait, minél nagyobb adatbázisban kell keresgélni. Ehhez képest a gráfadatbázis minden hasonló keresést 2 másodperc alatt lefuttat. Miért? Nos, ez elég bonyolult a matek miatt. Talán egy későbbi részben!

Szerző Fórián Andrea

Olvastad?

Protect Yourself

Mi az a „Credential Stuffing” és hogyan védd magad ellene? (1. rész)

A koronavírus alatt rengetegen váltottak olyan alkalmazásokra, melyek lehetővé teszik a videókonferenciát bárkivel. Ehhez természetesen …

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

A weboldal használatának folytatásával Ön elfogadja a cookie-k használatát Adatkezelési tájékoztató és felhasználási feltételek

A süti beállítások ennél a honlapnál engedélyezett a legjobb felhasználói élmény érdekében. Amennyiben a beállítás változtatása nélkül kerül sor a honlap használatára, vagy az "Elfogadás" gombra történik kattintás, azzal a felhasználó elfogadja a sütik használatát.

Bezárás