Най-добрите графични бази данни

Графичните бази данни, които изрично изразяват връзките между възлите, са по-ефективни при анализа на мрежи (компютърни, човешки, географски или по друг начин), отколкото релационните бази данни. Това дава база данни на графиките предимство за приложения като системи за откриване на измами и препоръки.

Едно от основните чертежи на графични бази данни е възможността да се изпълняват алгоритми за изчисляване на графики. Те се използват за задачи, които не се поддават добре на релационни бази данни, като търсене на графики, намиране на пътеки, централност, PageRank и откриване на общността. Графичните алгоритми се поддържат най-вече в аналитични (OLAP и HTAP) графични бази данни, въпреки че някои транзакционни (OLTP) графични бази данни като Neo4j ги поддържат.

Всички обсъдени тук графични бази данни имат добра хоризонтална мащабируемост. Някои също поддържат реплики за четене, глобално разпространение и автоматично хоризонтално рязко заличаване.

Амазонка Нептун

Amazon Neptune е напълно управлявана транзакционна (OLTP) услуга на базата данни на графики с ACID свойства и незабавна последователност, която има в основата си специално изграден, високоефективен механизъм за бази данни на графики, който е оптимизиран за съхраняване на милиарди връзки и заявка за графика с милисекунди латентност. Neptune поддържа два от най-популярните езици за графични заявки с отворен код, Apache TinkerPop Gremlin и W3C SPARQL.

Клъстерите на база данни на Нептун могат да имат до 64 TB съхранение с автоматично мащабиране в шест реплики на вашите данни в три зони за наличност и повече, ако активирате висока наличност, като използвате четени реплики в допълнителни зони. Neptune автоматично открива сривове на базата данни и рестартира - обикновено за 30 секунди или по-малко - без да се налага да извършва възстановяване при срив или да възстановява кеша на базата данни, тъй като кешът е изолиран от процесите на базата данни и може да оцелее при рестартиране. Ако цял първичен екземпляр се провали, Neptune автоматично ще се провали в една от до 15 четени реплики. Архивите се предават непрекъснато към Amazon S3.

Можете да мащабирате клъстерите на Нептун нагоре или надолу, или като модифицирате екземпляри, или, за да избегнете престой, като добавите екземпляр с желания размер и изключите стария екземпляр, след като копие на данните мигрира и сте повишили новия екземпляр до първичен. Размерите на екземпляра на Neptune VM варират от db.r4.large (два vCPU и 16 GiB RAM) до db.r4.8xlarge (32 vCPU и 244 GiB RAM), което дава на Neptune 16x динамичен диапазон за запис и 256x динамичен диапазон за чете (броене на прочетените реплики).

Прочетете ревюто ми за Amazon Neptune.

AnzoGraph

AnzoGraph е масивна паралелна база данни на OLAP в памет, която работи с корпоративни източници на данни и извършва паралелни зареждания на данни в RDF и CSV формати. AnzoGraph може да бъде разположен в пясъчници с един възел или в клъстери с толкова възли, колкото е необходимо за производството. AnzoGraph има свойства на транзакциите ACID.

AnzoGraph използва стандартни за W3C RDF тройни и четворни данни и заявки SPARQL 1.1. Той поддържа обозначени графики на свойства като част от RDF хранилището, съответстващи на предложените стандарти RDF * и SPARQL *, и има разширения към SPARQL за поддръжка на алгоритми на графики, представяне, агрегати на прозорци, BI функции и изгледи с имена. Планира се поддръжка на съвместимия с Neo4j език OpenCypher и болта на протокола Neo4j.

AnzoGraph предлага високопроизводително изпълнение на графични заявки и мащабируемост до милиарди и дори трилиони тройки, както и бързи паралелни зареждания на данни, които не изискват извеждането на базата данни офлайн. Клъстерите AnzoGraph могат да бъдат разположени на CentOS, Kubernetes и AWS. Внедряването на Google Cloud Platform и Azure на AnzoGraph обикновено се третира като внедряване на Kubernetes. AnzoGraph демонстрира мащабируемост до 40 възли в синтетичен бенчмарк.

Прочетете ревюто ми за AnzoGraph.

Neo4j

Neo4j е мащабируема база данни на OLTP графики с някои възможности на OLAP. Neo4j е оригиналната база данни с графики, създадена за първи път през 1999 г. и продължава да бъде лидер на пазара.

Докато изданието с отворен код Neo4j Community е ограничено до един сървър, Neo4j Enterprise Edition ви позволява да добавяте толкова възли към клъстер, колкото са ви необходими за целите на производителността.

Всеки възел в клъстер с висока наличност Neo4j съдържа базата данни и компонент за управление на клъстера и клъстерът може да бъде достъпен чрез балансиращ товар. Пълната графика се репликира към всеки екземпляр на клъстера и капацитетът за четене на всеки HA клъстер се увеличава линейно с броя на екземплярите на сървъра. Neo4j може да извърши десетки хиляди записи в секунда, като същевременно поддържа изцяло ACID транзакции.

В каузален клъстер на Neo4j основният клъстер на сървъри за четене-запис се комбинира с един или повече асинхронно актуализирани клъстери на реплики за четене. Всяко приложение е с гарантирана причинно-следствена последователност, което означава, че е гарантирано да чете поне собствените си записи, дори когато хардуерът и мрежите се провалят. Репликите за четене в каузален клъстер могат да бъдат географски разпределени, за да се подобри производителността на заявките за потребители в близост до репликите.

Прочетете ревюто ми за Neo4j.

TigerGraph

TigerGraph е база данни в реално време, паралелна, HTAP графика, достъпна за внедряване в облака или локално. TigerGraph поддържа ACID свойства, има вградено компресиране на данни, автоматично разделя графика в клъстер и твърди, че е по-бързо от конкуренцията. Той използва архитектура за предаване на съобщения, която по своята същност е паралелна по начин, който се мащабира с размера на данните.

TigerGraph е проектиран, за да може да извършва анализ на дълбоки връзки, както и онлайн обработка на транзакции в реално време и зареждане на голям обем данни. Под „анализ на дълбоките връзки“ TigerGraph има предвид проследяване на връзките от връх през графиката за три или повече скока и анализ на резултатите.

Докато няколко езика с графични заявки с отворен код са широко възприети, като Cypher, Gremlin и SPARQL, TigerGraph има нов език за заявки, GSQL. GSQL комбинира подобен на SQL синтаксис на заявката с подобна на Cypher графична навигация, плюс процедурно програмиране и дефинирани от потребителя функции. TigerGraph може да конвертира Cypher в GSQL за хора, които се преместват от база данни Neo4j.

TigerGraph има управляван облак, който в момента е с ограничен преглед. TigerGraph демонстрира 6.7x ускорение при стартиране на клъстер за четене и запис с осем машини, но не каза нищо за реплики за четене или географско разпространение.

Прочетете ревюто ми за TigerGraph.