Pierwsze stabilne wydanie grafowej bazy danych Nebula Graph

Zdarzyło się wydanie otwartej bazy danych Nebula Graph 1.0.0, zaprojektowanej do efektywnego przechowywania dużych zestawów powiązanych danych, tworzących graf, który może liczyć miliardy węzłów i tryliony relacji. Projekt napisany jest w języku C++ i rozpowszechniany na licencji Apache 2.0. Biblioteki klienckie do komunikacji z bazą danych zostały przygotowane dla języków Go, Python i Java. Startup rozwijający tę bazę danych, VESoft, kilka dni temu otrzymał otrzymał pierwszą transzę inwestycji w wysokości 8 milionów dolarów.

W bazie danych jest stosowane zastosowano architekturę rozproszoną bez podziału zasobów (shared-nothing), co oznacza uruchomienie niezależnych i samowystarczalnych procesów obsługi zapytań graphd oraz procesów przechowywania storaged. Zarządzaniem przenoszeniem danych oraz dostarczaniem informacji meta o grafie zajmuje się usługa meta. Aby zapewnić spójność danych, używa się protokołu opartego na algorytmie RAFT.

Pierwsze stabilne wydanie grafowej bazy danych Nebula Graph

Główne cechy Nebula Graph:

  • Zapewnienie bezpieczeństwa poprzez udzielanie dostępu tylko uwierzytelnionym użytkownikom, których uprawnienia są definiowane przez system zarządzania dostępem oparty na rolach (RBAC).
  • Możliwość możliwość podłączenia różnych typów silników przechowywania. Wsparcie dla rozszerzenia języka zapytań o nowe algorytmy.
  • Zapewnienie minimalnych opóźnień podczas odczytu lub zapisu danych oraz utrzymywanie wysokiej przepustowości. W przypadku testach klastra z jednym węzłem graphd i trzema węzłami storaged, z bazą danych o rozmiarze 632 GB, zawierającą graf z 1,2 miliarda węzłów i 8,4 miliarda krawędzi, opóźnienia były na poziomie kilku milisekund, a przepustowość osiągała do 140 tysięcy zapytań na sekundę.

    Pierwsze stabilne wydanie grafowej bazy danych Nebula Graph
  • Linowa skalowalność.
  • Język zapytań podobny do SQL, wystarczająco potężny i prosty w użyciu. Obsługiwane są takie operacje jak GO (dwukierunkowe przechodzenie węzłów grafu), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (wykorzystanie wyniku z poprzedniego zapytania). Obsługiwane są indeksy oraz definowane przez użytkownika zmienne.
  • Zapewnienie wysokiej dostępności oraz odporności na awarie.
  • Wsparcie dla tworzenia migawkowych stanów bazy danych w celu uproszczenia tworzenia kopii zapasowych.
  • Gotowość do zastosowań przemysłowych (już wykorzystywana w infrastrukturze firm JD, Meituan i Xiaohongshu).
  • Możliwość zmiany schematu przechowywania i aktualizacji danych bez zatrzymywania ani wpływu na trwające operacje.
  • Wsparcie dla TTL w celu ograniczenia czasu życia danych.
  • Komendy do zarządzania ustawieniami i hostami przechowywania.
  • Narzędzia do zarządzania zadaniami i planowania uruchamiania zadań (w tej chwili wspierane są zadania COMPACT i FLUSH).
  • Operacje wyszukiwania pełnej i najkrótszej drogi między zadanymi wierzchołkami.
  • Interfejs OLAP do integracji z zewnętrznymi platformami analitycznymi.
  • Narzędzia do importu danych z plików CSV lub z Spark.
  • Eksport metryk do monitorowania za pomocą Prometheus i Grafana.
  • Interfejs webowy
    Nebula Graph Studio do wizualizacji operacji na grafie, nawigacji po grafie, projektowania schematu przechowywania i ładowania danych.
    Pierwsze stabilne wydanie grafowej bazy danych Nebula Graph

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster