Famoahana ny DBMS Nebula Graph 3.2

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

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

Ny endri-javatra lehibe amin'ny Nebula Graph:

  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ бСзопасности Ρ‡Π΅Ρ€Π΅Π· прСдоставлСниС доступа Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, полномочия ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· систСму управлСния доступа Π½Π° основС Ρ€ΠΎΠ»Π΅ΠΉ (RBAC).
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π²ΠΈΠΆΠΊΠΎΠ² хранСния. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ языка формирования запросов Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ высокой пропускной способности. ΠŸΡ€ΠΈ тСстировании Π² кластСрС ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° graphd ΠΈ Ρ‚Ρ€Ρ‘Ρ… ΡƒΠ·Π»ΠΎΠ² storaged Π‘Π” Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 632 GB, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π³Ρ€Π°Ρ„ ΠΈΠ· 1.2 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ 8.4 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° Ρ€Ρ‘Π±Π΅Ρ€ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Ρ‹Π»ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… миллисСкунд, Π° пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ составила Π΄ΠΎ 140 тысяч запросов Π² сСкунду.
  • Linear scalability.
  • Fiteny fanontanina mitovy amin'ny SQL izay mahery sy mora azo. Ny asa tohanana dia ahitana ny GO (fandalovan'ny roa tondro amin'ny vertices graph), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (mampiasa ny valin'ny fanontaniana teo aloha). Fanondroana sy fari-pahalalana voafaritry ny mpampiasa no tohana.
  • Miantoka ny fisian'ny avo sy ny faharetana amin'ny tsy fahombiazana.
  • Fanohanana amin'ny famoronana sary miaraka amin'ny ampahany amin'ny fanjakana angona mba hanatsorana ny famoronana kopia backup.
  • Vonona ho an'ny fampiasana indostrialy (efa nampiasaina tamin'ny fotodrafitrasa JD, Meituan ary Xiaohongshu).
  • Ny fahafahana manova ny rafitra fitahirizana angon-drakitra sy manavao azy tsy mijanona na misy fiantraikany amin'ny asa mitohy.
  • Fanohanana TTL hamerana ny androm-piainan'ny angona.
  • Didy amin'ny fitantanana ny toe-javatra sy ny mpampiantrano fitahirizana.
  • Fitaovana fitantanana ny asa sy ny fandrindrana ny fandefasana asa (amin'ireo asa tohana ankehitriny dia COMPACT sy FLUSH).
  • Hetsika fitadiavana ny lalana feno sy ny lalana fohy indrindra eo anelanelan'ny vertices nomena.
  • Fifandraisana OLAP ho an'ny fampidirana amin'ny sehatra analyse an'ny antoko fahatelo.
  • Fitaovana fanafarana angona avy amin'ny rakitra CSV na avy amin'ny Spark.
  • Экспорт ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Prometheus ΠΈ Grafana.
  • Web-интСрфСйс Nebula Graph Studio для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π³Ρ€Π°Ρ„ΠΎΠΌ, Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π³Ρ€Π°Ρ„Ρƒ, проСктирования схСмы хранСния ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Ao amin'ny famoahana vaovao:

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

Source: opennet.ru

Add a comment