ການປ່ອຍຕາຕະລາງ DBMS 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 (ທາງຜ່ານ bidirectional traversal of graph vertices), 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

ເພີ່ມຄວາມຄິດເຫັນ