Опубликован выпуск открытой СУБД Nebula Graph 3.2, предназначенной для эффективного хранения крупных наборов связанных между собой данных, образующих граф, который может насчитывать миллиарды узлов и триллионы связей. Проект написан на языке С++ и распространяется под лицензией Apache 2.0. Клиентские библиотеки для обращения к СУБД подготовлены для языков Go, Python и Java.
В СУБД применяется распределённая архитектура без разделения ресурсов (shared-nothing), подразумевающая запуск независимых и самодостаточных процессов обработки запросов graphd и процессов хранения storaged. Оркестровкой перемещения данных и предоставлением мета-информации о графе занимается мета-сервис. Для обеспечения согласованности данных используется протокол на базе алгоритма RAFT.
नेबुला ग्राफका मुख्य विशेषताहरू:
- Обеспечение безопасности через предоставление доступа только аутентифицированным пользователям, полномочия которых задаются через систему управления доступа на основе ролей (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 समर्थन।
- सेटिङहरू र भण्डारण होस्टहरू प्रबन्ध गर्नका लागि आदेशहरू।
- कामको प्रबन्ध गर्न र कार्य प्रक्षेपणको समयतालिका बनाउनका लागि उपकरणहरू (हाल समर्थित कार्यहरू मध्ये कम्प्याक्ट र फ्लश हुन्)।
- दिइएको ठेगानाहरू बीचको पूर्ण मार्ग र सबैभन्दा छोटो बाटो पत्ता लगाउने कार्यहरू।
- तेस्रो-पक्ष एनालिटिक्स प्लेटफर्महरूसँग एकीकरणको लागि OLAP इन्टरफेस।
- CSV फाइलहरू वा स्पार्कबाट डाटा आयात गर्नका लागि उपयोगिताहरू।
- Экспорт метрик для мониторинга при помощи Prometheus и Grafana.
- Web-интерфейс Nebula Graph Studio для визуализации операций с графом, навигации по графу, проектирования схемы хранения и загрузки данных.
नयाँ रिलीज मा:
- Добавлена поддержка функции extract() для извлечения подстроки, соответствующей заданному выражению.
- Оптимизированы настройки в файле конфигурации.
- Добавлены правила оптимизации для удалений бесполезного оператора AppendVertices и отключения применения фильтров рёбер и вершин.
- Сокращён объём данных, копируемых для операции JOIN, а также для операторов Traverse и AppendVertices.
- Оптимизирована производительность SHORTEST PATH и SUBGRAPH
- Улучшено распределение памяти (задействован Arena Allocator).
स्रोत: opennet.ru