Pagpagawas sa graph-oriented nga DBMS Nebula Graph 3.2

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

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

Panguna nga mga bahin sa Nebula Graph:

  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ бСзопасности Ρ‡Π΅Ρ€Π΅Π· прСдоставлСниС доступа Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, полномочия ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· систСму управлСния доступа Π½Π° основС Ρ€ΠΎΠ»Π΅ΠΉ (RBAC).
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π²ΠΈΠΆΠΊΠΎΠ² хранСния. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ языка формирования запросов Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ высокой пропускной способности. ΠŸΡ€ΠΈ тСстировании Π² кластСрС ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° graphd ΠΈ Ρ‚Ρ€Ρ‘Ρ… ΡƒΠ·Π»ΠΎΠ² storaged Π‘Π” Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 632 GB, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π³Ρ€Π°Ρ„ ΠΈΠ· 1.2 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ 8.4 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° Ρ€Ρ‘Π±Π΅Ρ€ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Ρ‹Π»ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… миллисСкунд, Π° пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ составила Π΄ΠΎ 140 тысяч запросов Π² сСкунду.
  • Linear scalability.
  • Usa ka SQL-sama sa pangutana nga pinulongan nga gamhanan ug sayon ​​sabton. Ang gisuportahan nga mga operasyon naglakip sa GO (bidirectional traversal of graph vertices), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (gamit ang resulta gikan sa miaging pangutana). Gisuportahan ang mga indeks ug mga variable nga gitakda sa gumagamit.
  • Pagsiguro sa taas nga pagkaanaa ug kalig-on sa mga kapakyasan.
  • Suporta alang sa paghimo og mga snapshot nga adunay usa ka hiwa sa estado sa database aron pasimplehon ang paghimo og backup nga mga kopya.
  • Andam alang sa industriyal nga paggamit (nagamit na sa imprastraktura sa JD, Meituan ug Xiaohongshu).
  • Ang katakus sa pagbag-o sa laraw sa pagtipig sa datos ug pag-update niini nga dili mohunong o makaapekto sa nagpadayon nga mga operasyon.
  • Suporta sa TTL aron limitahan ang tibuok kinabuhi sa datos.
  • Mga mando alang sa pagdumala sa mga setting ug mga host sa pagtipig.
  • Mga himan alang sa pagdumala sa trabaho ug pag-iskedyul sa mga paglusad sa trabaho (sa mga buhat nga gisuportahan karon mao ang COMPACT ug FLUSH).
  • Mga operasyon sa pagpangita sa kompleto nga agianan ug ang pinakamubo nga agianan tali sa gihatag nga vertices.
  • Ang interface sa OLAP alang sa panagsama sa mga platform sa analytics sa ikatulo nga partido.
  • Mga gamit alang sa pag-import sa datos gikan sa mga file sa CSV o gikan sa Spark.
  • Экспорт ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Prometheus ΠΈ Grafana.
  • Web-интСрфСйс Nebula Graph Studio для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π³Ρ€Π°Ρ„ΠΎΠΌ, Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π³Ρ€Π°Ρ„Ρƒ, проСктирования схСмы хранСния ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Sa bag-ong pagpagawas:

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

Source: opennet.ru

Idugang sa usa ka comment