pátek 26. prosince 2014

Grafové databáze


Databázový konzept označovaný zkratkou NoSQL (často vysvětlován jako "no only SQL" [1]) je specifický svým alternativním přístupem k ukládání dat a dotazováním nad nimi. S daty se nepracuje jako v klasických relačních databázích (tedy v tabulkách). Možným příkladem jsou grafové databáze, kde jsou data uložena v orientovaných grafech.

Grafové databáze využívají následujících 3 stavebních bloků
  • vrchol
  • hrana
  • vlastnost

Vrchol grafu (node) představuje záznamy databáze. Například vrchol 1 a 2 v následujícím obrázku. Hrany (relationships) představují vztahy mezi vrcholy v databázi. Nutným parametrem hrany je směr a typ. Podle následujícího obrázku je tak zřejmé, že vrchol 1 je ve vztahu s vrcholem 2. Tento vztah je otypován jako PART_OF, tedy objekt zastoupený záznamem vrchol 1 je pravděpodobně součástí jiného objektu zastoupeného záznamem vrchol 2. Posledním stavebním blokem je vlastnost (property). Lze takto blíže specifikovat jak vrchol, tak i hranu. Dle následujícího příkladu je tak už snadno pochopitelné, že vrchol 1, tedy kolo (wheel) je součástí vrcholu 1, tedy auta (které je mimochodem červené barvy) a že tyto součásti jsou hned 4 (number=4).

Stavební bloky grafové databáze [2]


Výhodou grafových databází je přirozený popis dat s podobnou strukturou. Příkladem může být mapování struktury objektově orientovaných aplikací bez pevně stanoveného schématu [1]. Dalším častým využitím grafových databazí je popis vztahů mezi lidmi (facebook, google+). Z následujícího komplexnějšího příkladu lze vyčíst, že se Alice a Bob znají (obousměrný vztah) a že oba jsou členové skupiny šachových hráčů.
Příklad grafové databáze [3]



Zdroje:
[1] https://otik.uk.zcu.cz/bitstream/handle/11025/7596/diplomova_prace.pdf?sequence=1
[2] http://www.infoq.com/articles/graph-nosql-neo4j
[3] http://en.wikipedia.org/wiki/Graph_database

Žádné komentáře:

Okomentovat