Paglabas ng graph-oriented na DBMS Nebula Graph 3.2

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Π‘Π£Π‘Π” Nebula Graph 3.2, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для эффСктивного хранСния ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² связанных ΠΌΠ΅ΠΆΠ΄Ρƒ собой Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΡ… Π³Ρ€Π°Ρ„, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Ρ‹ ΡƒΠ·Π»ΠΎΠ² ΠΈ Ρ‚Ρ€ΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ связСй. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ написан Π½Π° языкС Π‘++ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для обращСния ΠΊ Π‘Π£Π‘Π” ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для языков Go, Python ΠΈ Java.

Π’ Π‘Π£Π‘Π” примСняСтся распрСдСлённая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π±Π΅Π· раздСлСния рСсурсов (shared-nothing), ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‰Π°Ρ запуск нСзависимых ΠΈ самодостаточных процСссов ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов graphd ΠΈ процСссов хранСния storaged. ΠžΡ€ΠΊΠ΅ΡΡ‚Ρ€ΠΎΠ²ΠΊΠΎΠΉ пСрСмСщСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ прСдоставлСниСм ΠΌΠ΅Ρ‚Π°-ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π³Ρ€Π°Ρ„Π΅ занимаСтся ΠΌΠ΅Ρ‚Π°-сСрвис. Для обСспСчСния согласованности Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π½Π° Π±Π°Π·Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° RAFT.

Mga pangunahing tampok ng Nebula Graph:

  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ бСзопасности Ρ‡Π΅Ρ€Π΅Π· прСдоставлСниС доступа Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, полномочия ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· систСму управлСния доступа Π½Π° основС Ρ€ΠΎΠ»Π΅ΠΉ (RBAC).
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π²ΠΈΠΆΠΊΠΎΠ² хранСния. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ языка формирования запросов Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ высокой пропускной способности. ΠŸΡ€ΠΈ тСстировании Π² кластСрС ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° graphd ΠΈ Ρ‚Ρ€Ρ‘Ρ… ΡƒΠ·Π»ΠΎΠ² storaged Π‘Π” Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 632 GB, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π³Ρ€Π°Ρ„ ΠΈΠ· 1.2 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ 8.4 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° Ρ€Ρ‘Π±Π΅Ρ€ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Ρ‹Π»ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… миллисСкунд, Π° пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ составила Π΄ΠΎ 140 тысяч запросов Π² сСкунду.
  • Linear scalability.
  • Isang mala-SQL na query language na makapangyarihan at madaling maunawaan. Kasama sa mga sinusuportahang operasyon ang GO (bidirectional traversal ng graph vertices), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (gamit ang resulta mula sa nakaraang query). Sinusuportahan ang mga index at mga variable na tinukoy ng gumagamit.
  • Tinitiyak ang mataas na kakayahang magamit at katatagan sa mga pagkabigo.
  • Suporta para sa paglikha ng mga snapshot na may isang slice ng estado ng database upang pasimplehin ang paglikha ng mga backup na kopya.
  • Handa para sa pang-industriya na paggamit (ginamit na sa imprastraktura ng JD, Meituan at Xiaohongshu).
  • Ang kakayahang baguhin ang scheme ng pag-iimbak ng data at i-update ito nang hindi humihinto o nakakaapekto sa mga patuloy na operasyon.
  • TTL support para limitahan ang buhay ng data.
  • Mga utos para sa pamamahala ng mga setting at mga host ng storage.
  • Mga tool para sa pamamahala ng trabaho at pag-iskedyul ng mga paglulunsad ng trabaho (sa mga gawaing kasalukuyang sinusuportahan ay COMPACT at FLUSH).
  • Mga operasyon ng paghahanap ng kumpletong landas at ang pinakamaikling landas sa pagitan ng mga ibinigay na vertice.
  • OLAP interface para sa pagsasama sa mga third-party na analytics platform.
  • Mga utility para sa pag-import ng data mula sa mga CSV file o mula sa Spark.
  • Экспорт ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Prometheus ΠΈ Grafana.
  • Web-интСрфСйс Nebula Graph Studio для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π³Ρ€Π°Ρ„ΠΎΠΌ, Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π³Ρ€Π°Ρ„Ρƒ, проСктирования схСмы хранСния ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Sa bagong release:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ extract() для извлСчСния подстроки, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ настройки Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΉ бСсполСзного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° AppendVertices ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ примСнСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² Ρ€Ρ‘Π±Π΅Ρ€ ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½.
  • Π‘ΠΎΠΊΡ€Π°Ρ‰Ρ‘Π½ ΠΎΠ±ΡŠΡ‘ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ JOIN, Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Traverse ΠΈ AppendVertices.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ SHORTEST PATH ΠΈ SUBGRAPH
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ распрСдСлСниС памяти (задСйствован Arena Allocator).

Pinagmulan: opennet.ru

Magdagdag ng komento