Přejít k navigační liště

Zdroják » Databáze » Přehled grafových databází

Přehled grafových databází

Články Databáze

Předtím, než se pustíme do instalace grafové databáze, tak si ještě představíme jejich základní přehled. Ač nám je nabízeno kolem dvou desítek možností, pro rozhled nám postačí níže zmíněná pětice. Na konci kapitoly si vyhodnotíme nejvhodnější databázi, kterou můžeme využít zdarma v projektu postaveném na jazyku PHP.

Sones GraphDB

Sones GraphDB je vyvíjena v jazyku C# německou společností Sones. Navrženou strukturou se přirovnává k váženému grafu. Jinými slovy se jedná o graf s hranami ohodnocenými reálnými čísly.

Databázi lze provozovat jak na platformě běžící pod Microsoft .NET frameworkem, tak Mono, která zajistí její multiplatformnost. Nadále i jako SaaS (Software as a Service) na cloudové platformě Microsoft Azure nebo Amazon S3, což přináší mnohonásobně větší výkon. Pro přístup k datům je možné využít jedno z mnoha rozhraní (např. Java, C#, WebShell, WebDAV), k nimž se řadí i REST API (Representational State Transfer Application Programming Interface), které nám zaručí nekomplikovaný přístup vzhledem ke zvoleným technologiím aplikace.

Při výběru máme možnost volby ze dvou licencí, pod kterými je GraphDB dostupná. První z nich je open source AGPLv3 (Affero General Public License, version 3) komunitní verze, která nemá tak širokou škálu nabízené funkčnosti jako enterprise verze.

AllegroGraph

AllegroGraph je proprietární produkt tvořený vývojáři Franz, Inc. Návrh databáze je uzpůsoben tak, aby splňoval standardy W3C (World Wide Web Consortium) pro Resource Description Framework, neboli je určen pro manipulaci s propojenými daty a sémantickým webem.

Nabízí početný seznam knihoven pro komunikaci přes REST API s aplikacemi psanými např. v C#, Perl, Ruby a Scala.

Licenční politika popisuje tři verze — Free, Developer a Enterprise, kde první dvě jsou omezeny počtem záznamů v databázi. Mezi širokou klientelu se řadí velikáni jako Ford, Kodak a NASA (National Aeronautics and Space Administration).

Neo4j

Neo4j je jedna z nejpopulárnějších grafových databází ve své kategorii, což implikuje open source řešení, které je implementované v Javě. Pochází z dílny společnosti Neo Technology, kde byla první verze vydána v roce 2007 a od té doby získala celkem velké zastoupení ve vývojářské komunitě, která se nejenom zapojuje do běžných diskuzí https://groups.google.com/group/neo4j, ale i do samotného vývoje https://github.com/neo4j.

Ukládání grafové struktury je v podobě vrcholů, hran a vlastností, pro něž platí limity v řádech desítek miliard. Properties jsou další přidanou hodnotou, kterou může obsahovat každý vrchol nebo hrana v podobě klíč–hodnota. Mluvíme o tzv. property graph database.

Neo4j může být použita buď jako embedded mode (Java, JAR) (Java Archive), nebo jako standalone mode, pomocí kterého můžeme k databázi plnohodnotně přistupovat skrze REST API rozhraní.

FlockDB

FlockDB je tvořena Twitterem pod licencí Apache License, Version 2.0 pro účely analytiky souvisejících vztahů, přičemž doposavad nebyl vyvinut stabilní release. Michael Marr shrnul hlavní rysy FlockDB ve svém článku pro portál DevWebPro:

The biggest difference between FlockDB and other graph databases like Neo4j and OrientDB is graph traversal. Twitter’s model has no need for traversing the social graph. Instead, Twitter is only concerned about the direct edges (relationships) on a given node (account). For example, Twitter doesn’t want to know who follows a person you follow. Instead, it is only interested in the people you follow. By trimming off graph traversal functions, FlockDB is able to allocate resources elsewhere.

Načež mu hned bylo oponováno, že bez traverzování se nejedná o grafovou databázi, ale pouze o tzv. persisted graph.

Ať už se podle definic jedná o cokoliv, od FlockDB můžeme čekat velké věci. Mimo zmiňované cíle se profiluje dalšími, jako je maximální podpora pro operace add/update/remove. Nadále také obsažnost množiny aritmetických funkcí je další atypičností v prostředí grafových databází. Kromě toho dokáže stránkovat výsledky dotazů, které obsahují miliony záznamů. A v neposlední řadě podporuje horizontální škálování s replikací či online migrací dat.

InfiniteGraph

Grafová databáze je implementovaná v jazyce Java (mimo jádro v C++) od Objectivity, kde samotný název společnosti koreluje se strukturou databáze, která je objektově orientovaná. Skládá se z objektů (v grafové terminologii považován za vrchol) a hran pro jejich vzájemné propojení. Prozatím bohužel není možné přistupovat k databázi skrze REST API a je nám nabízeno pouze rozhraní v Javě.

Licence pro použití databáze jsou nabízeny ve dvou variantách. Bezplatná s sebou nese značné limity, jako omezení počtu hran a vrcholů po uplynutí 60denní zkušební verze. Nicméně mezi jedny z hlavních klientů patří vláda Spojených států amerických a poradenská společnost Deloitte.

Shrnutí

Výběr se může zdát „uměle zkreslený“ při pohledu na název seriálu, ale přeci jen svými vlastnostmi nejvíce vyhovuje Neo4j, která mimo jiné přesvědčila i značnou komunitou v pozadí a jejím agilním vývojem. Také podpora REST API, které nám umožní snadnou integraci do projektu vyvíjeného v PHP, se jeví jako ideální řešení.

Zdroje:

Článek původně vyššel na webu neo4j.cz.

Komentáře

Odebírat
Upozornit na
guest
3 Komentářů
Nejstarší
Nejnovější Most Voted
Flajs

Myslím, že by v seznamu rozhodně neměla chybět ani OrientDB.

Karel

neo4j jsme pár týdnů testoval a zkoušel v něm provázat pár milionů entit a jejich vztahů. Nepodařilo se mi vyladit výkon, tak aby dotaz netrval vteřiny. Máte někdo lepší zkušenosti? Provozujete někdo neo4j v produkci?

Frugal computing: architektura pro dobu dražší infrastruktury

Vývojáři se naučili zrychlovat dotazy, přidávat cache, škálovat služby a hlídat účet za cloud. Frugal computing začíná o jednu otázku dřív: musí se výpočet, přesun dat, volání modelu nebo uložení vůbec stát? Rostoucí spotřeba datových center a nové evropské reportování ho posouvají do návrhu architektury, dřív než do závěrečné poznámky o udržitelnosti v prezentaci.

Odysseus: PewDiePie vydal open-source AI workspace, který běží na vašem vlastním hardwaru

AI
Komentáře: 0
Felix Kjellberg, youtuber se 110 miliony odběratelů, strávil rok učením se programovat a fine-tuningem vlastních AI modelů. Výsledkem je Odysseus – bezplatný, open-source workspace pro práci s umělou inteligencí, který neposílá žádná data do cloudu. Projekt má týden, přes 61 000 hvězdiček na GitHubu a znovu otevírá otázku, komu vlastně patří váš digitální kontext.

Když Git už nestačí: jak izolovat databázový stav pro pokusy AI agentů

Gitová větev vývojářům oddělí kód, ale databáze často zůstává společná. U AI agentů je to slabé místo: rychle spouštějí migrace, mění data a zkoušejí víc cest najednou. Databázová větev jim dá vlastní pracovní prostor, jenže tím práce nekončí. Ještě je potřeba řešit citlivá data, oprávnění, životnost větve i zbytek stavu aplikace.