Kuburitswa kweiyo graph-inotungamirwa DBMS Nebula Girafu 3.2

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

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

Zvinonyanya kukosha zveNebula Graph:

  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ бСзопасности Ρ‡Π΅Ρ€Π΅Π· прСдоставлСниС доступа Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, полномочия ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· систСму управлСния доступа Π½Π° основС Ρ€ΠΎΠ»Π΅ΠΉ (RBAC).
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π²ΠΈΠΆΠΊΠΎΠ² хранСния. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ языка формирования запросов Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ высокой пропускной способности. ΠŸΡ€ΠΈ тСстировании Π² кластСрС ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° graphd ΠΈ Ρ‚Ρ€Ρ‘Ρ… ΡƒΠ·Π»ΠΎΠ² storaged Π‘Π” Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 632 GB, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π³Ρ€Π°Ρ„ ΠΈΠ· 1.2 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ 8.4 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° Ρ€Ρ‘Π±Π΅Ρ€ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Ρ‹Π»ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… миллисСкунд, Π° пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ составила Π΄ΠΎ 140 тысяч запросов Π² сСкунду.
  • Linear scalability.
  • Mutauro wemubvunzo weSQL une simba uye uri nyore kunzwisisa. Mashandiro anotsigirwa anosanganisira GO (bidirectional traversal of graph vertices), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (uchishandisa zvabuda kubva pamubvunzo wapfuura). Ma indexes uye mashandisi-anotsanangurwa akasiyana anotsigirwa.
  • Kuve nechokwadi chekuwanikwa kwepamusoro uye kusimba kune kukundikana.
  • Tsigiro yekugadzira snapshots ine chidimbu cheiyo dhatabhesi state kurerutsa kusikwa kwemakopi ekuchengetedza.
  • Yakagadzirira kushandiswa kwemaindasitiri (yakatoshandiswa mune zvivakwa zveJD, Meituan uye Xiaohongshu).
  • Iko kugona kushandura chirongwa chekuchengeta data uye kuigadzirisa pasina kumira kana kukanganisa mashandiro anoenderera.
  • TTL rutsigiro kudzikamisa data hupenyu.
  • Mirairo yekutarisira marongero uye mauto ekuchengetera.
  • Zvishandiso zvekutarisira basa uye kuronga kutangwa kwebasa (emabasa anotsigirwa parizvino COMPACT uye FLUSH).
  • Mashandiro ekutsvaga nzira yakakwana uye nzira ipfupi pakati pema vertices akapihwa.
  • OLAP interface yekubatanidza neyechitatu-bato analytics mapuratifomu.
  • Zvishandiso zvekupinza data kubva kuCSV mafaera kana kubva kuSpark.
  • Экспорт ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Prometheus ΠΈ Grafana.
  • Web-интСрфСйс Nebula Graph Studio для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π³Ρ€Π°Ρ„ΠΎΠΌ, Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π³Ρ€Π°Ρ„Ρƒ, проСктирования схСмы хранСния ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Mukuburitswa kutsva:

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

Source: opennet.ru

Voeg