Выпуск графа-арыентаванай СКБД Nebula Graph 3.2

Апублікаваны выпуск адкрытай СКБД Nebula Graph 3.2, прызначанай для эфектыўнага захоўвання буйных набораў злучаных паміж сабой дадзеных, якія ўтвараюць граф, які можа налічваць мільярды вузлоў і трыльёны сувязяў. Праект напісаны на мове З++ і распаўсюджваецца пад ліцэнзіяй Apache 2.0. Кліенцкія бібліятэкі для звароту да СКБД падрыхтаваны для моў Go, Python і Java.

У СКБД ужываецца размеркаваная архітэктура без падзелу рэсурсаў (shared-nothing), якая разумее запуск незалежных і самадастатковых працэсаў апрацоўкі запытаў graphd і працэсаў захоўвання storaged. Аркестроўкай перамяшчэння даных і прадастаўленнем мета-інфармацыі аб графе займаецца мета-сэрвіс. Для забеспячэння ўзгодненасці даных выкарыстоўваецца пратакол на базе алгарытму RAFT.

Асноўныя асаблівасці Nebula Graph:

  • Забеспячэнне бяспекі праз падаванне доступу толькі аўтэнтыфікаваным карыстачам, паўнамоцтвы якіх задаюцца праз сістэму кіравання доступу на аснове роляў (RBAC).
  • Магчымасць падлучэння розных тыпаў рухавічкоў захоўвання. Падтрымка пашырэння мовы фармавання запытаў новымі алгарытмамі.
  • Забеспячэнне мінімальных затрымак пры чытанні ці запісе дадзеных і падтрыманне высокай прапускной здольнасці. Пры тэставанні ў кластары з аднаго вузла graphd і трох вузлоў storaged БД памерам 632 GB, у якую ўваходзяць граф з 1.2 мільярда вяршыняў і 8.4 мільярда рэбраў затрымкі былі на ўзроўні некалькіх мілісекунд, а прапускная здольнасць склала да 140 тысяч запытаў у секунду.
  • Лінейная маштабаванасць.
  • SQL-падобная мова запытаў, дастатковай магутны і просты для ўспрымання. Падтрымліваюцца такія аперацыі, як GO (двунакіраваны абыход вяршыняў графа), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (выкарыстанне выніку ад папярэдняга запыту). Падтрымліваюцца азначнікі і вызначаныя карыстачом зменныя.
  • Забеспячэнне высокай даступнасці і ўстойлівасць да збояў.
  • Падтрымка стварэння снапшотаў са зрэзам стану БД для спрашчэння стварэння рэзервовых копій.
  • Гатоўнасць для прамысловага прымянення (ужо выкарыстоўваецца ў інфраструктуры кампаній JD, Meituan і Xiaohongshu).
  • Магчымасць змены схемы захоўвання і абнаўленні дадзеных без прыпынку ці ўплывы на выкананыя аперацыі.
  • Падтрымка TTL для абмежавання часу жыцця даных.
  • Каманды для кіравання наладамі і хастамі захоўвання.
  • Прылады для кіравання працамі і планаваннем запуску прац (з прац пакуль падтрымліваюцца COMPACT і FLUSH).
  • Аперацыі пошуку поўнага шляху і найкароткага шляху паміж зададзенымі вяршынямі.
  • Інтэрфейс OLAP для інтэграцыі са іншымі платформамі аналітыкі.
  • Утыліты для імпарту дадзеных з файлаў CSV ці з Spark.
  • Экспарт метрык для маніторынгу пры дапамозе Prometheus і Grafana.
  • Web-інтэрфейс Nebula Graph Studio для візуалізацыі аперацый з графам, навігацыі па графе, праектаванні схемы захоўвання і загрузкі дадзеных.

У новым выпуску:

  • Дададзена падтрымка функцыі extract() для вымання падрадкі, якая адпавядае зададзенаму выразу.
  • Аптымізаваны налады ў файле канфігурацыі.
  • Дададзены правілы аптымізацыі для выдаленняў бескарыснага аператара AppendVertices і адключэння прымянення фільтраў рэбраў і вяршыняў.
  • Скарочаны аб'ём дадзеных, якія капіююцца для аперацыі JOIN, а таксама для аператараў Traverse і AppendVertices.
  • Аптымізавана прадукцыйнасць SHORTEST PATH і SUBGRAPH
  • Палепшана размеркаванне памяці (задзейнічаны Arena Allocator).

Крыніца: opennet.ru

Дадаць каментар