Tradiční databáze jsou relační databáze, které ukládají data v řádcích a sloupcích a zdůrazňují schopnost denormalizovat data a propojit je s primárními a cizími klíči. To se dobře hodí pro tradiční případy použití, jako je databáze zákazníků a objednávek k ukládání a sledování vašich zákazníků, inventáře, produktů a položek, které zákazník zakoupil.
Databáze grafů řeší jiný problém, zdůrazňují vztahy mezi daty ve velkých připojených sítích a umožňují ukládání, modelování a dotazování těchto nových datových sad a případů použití. Popíšeme kontext a některé příklady použití, kdy je databáze grafů vhodnější než relační databáze.
Co je to databáze grafů
Databáze grafů poskytují přístup k ukládání a dotazování dat na základě prvního vztahu. Ukládají data logickým způsobem, který představuje síť v reálném světě a upřednostňuje reprezentace, zjistitelnost a udržovatelnost datových vztahů.
Databáze grafů používají struktury grafů pro sémantické dotazy s uzly, které se nazývají vrcholy, hrany a vlastnosti k reprezentaci a ukládání dat.
- Vrchol - představuje skutečný objekt, jako je film nebo osoba.
- Okraj - představuje vztah mezi dvěma vrcholy.
- Vlastnosti - podobně jako pole v tabletu, ale flexibilnější. Lze použít na hranu nebo vrchol.
Databáze grafů lze dotazovat pomocí graficky orientovaných jazyků, jako je sparkql, které jsou vhodné pro vyjádření problémů ve velkých doménách grafů.
Nejoblíbenější databáze grafů
Existují desítky open source a komerčních databází grafů, ale nejoblíbenější databází grafů, která je v současné době k dispozici, je rozhodně Neo4j, což je open source databáze grafů, kterou její vývojáři popsali jako transakční databázi vyhovující ACID s nativním ukládáním a zpracováním grafů.
Mezi další oblíbené databáze grafů patří OrientDB (otevřený systém pro správu databází NoSQL napsaný v Javě), ArangoDB (nativní databázový systém pro více modelů vyvinutý společností triAGENS GmbH), MarkLogic (databáze pro více modelů určená pro rychlost a měřítko NoSQL) a AllegroGraph (uzavřený zdrojový triplestore, který je určen k ukládání trojitých RDF), abychom jmenovali alespoň některé.
Případy použití databáze grafů
Databáze grafů jsou použitelné všude, kde jsou datové vztahy cenné v reálném čase:
- Sociální sítě - Snad nejtypičtějším případem použití databáze grafů jsou sociální sítě s jejich složitými vztahy a aktivitou uživatelů.
- Detekce podvodů - K odhalení podvodů v reálném čase je nezbytná rychlá analýza datových vztahů a databáze grafů poskytují potřebný výkon.
- Znalostní grafy - Grafy znalostí, které používají vyhledávače i podniky, shromažďují informace z nejrůznějších zdrojů, což umožňuje lepší správu digitálních aktiv a snazší vyhledávání informací.
- Analýza IT sítí - Správa sítí a IT infrastruktur se točí kolem složitých vzájemných závislostí a databáze grafů jsou pro tento případ použití ze své podstaty vhodnější než relační databáze.
- Doporučení - Společnosti mohou používat databáze grafů k napájení sofistikovaných modulů doporučení k personalizaci produktů, obsahu a služeb.
- Správa identit - Databáze grafů umožňují efektivní sledování aktivity uživatelů a rychlé autorizace a správu aktiv.
Závěr
Databáze grafů řeší dnešní problémy s daty tím, že se zaměřují nejen na data, ale také na propojení mezi jednotlivými položkami databáze. Mají mnoho případů použití a jsou k dispozici jako komunitní softwarové produkty i jako komerční software s podporou podnikové úrovně.