ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΎΡΠΊΡΡΡΠΎΠΉ Π‘Π£ΠΠ 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