ΠΠ΅ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½Π°ΡΠ° Π‘Π£ΠΠ Nebula Graph 3.2, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΡΠ·Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Ρ Π³ΡΠ°ΡΠΈΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°Π±ΡΠΎΡΠ²Π° ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄ΠΈ Π²ΡΠ·Π»ΠΈ ΠΈ ΡΡΠΈΠ»ΠΈΠΎΠ½ΠΈ Π²ΡΡΠ·ΠΊΠΈ. ΠΡΠΎΠ΅ΠΊΡΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++ ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· Apache 2.0. ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π‘Π£ΠΠ Π·Π° Π΅Π·ΠΈΡΠΈΡΠ΅ Go, Python ΠΈ Java.
Π‘Π£ΠΠ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π±Π΅Π· ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ (ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΎ Π½ΠΈΡΠΎ), ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΠΈ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. ΠΠ΅ΡΠ°-ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΌΠ΅ΡΠ°-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π³ΡΠ°ΡΠΈΠΊΠ°ΡΠ°. ΠΠ° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ», Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° RAFT.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Nebula Graph:
- ΠΠ°ΡΠ°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΡΡΠ΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° ΡΠ°ΠΌΠΎ Π΄ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΡΠΈΠΈΡΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ° Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΡΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΠΎΠ»ΠΈ (RBAC).
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ Ρ Π½ΠΎΠ²ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ.
- ΠΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. ΠΡΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π² ΠΊΠ»ΡΡΡΠ΅Ρ ΠΎΡ Π΅Π΄ΠΈΠ½ graphd Π²ΡΠ·Π΅Π» ΠΈ ΡΡΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈ Π²ΡΠ·Π΅Π»Π°, Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ 632 GB, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° ΠΎΡ 1.2 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° Π²ΡΡΡ Π° ΠΈ 8.4 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° ΡΠ΅Π±ΡΠ°, Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° Π±ΡΡ Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π±Π΅ΡΠ΅ Π΄ΠΎ 140 Ρ ΠΈΠ»ΡΠ΄ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°.
- ΠΠΈΠ½Π΅ΠΉΠ½Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ.
- ΠΠ·ΠΈΠΊ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° SQL, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΌΠΎΡΠ΅Π½ ΠΈ Π»Π΅ΡΠ΅Π½ Π·Π° ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Ρ GO (Π΄Π²ΡΠΏΠΎΡΠΎΡΠ½ΠΎ ΠΎΠ±Ρ ΠΎΠΆΠ΄Π°Π½Π΅ Π½Π° Π²ΡΡΡ ΠΎΠ²Π΅ΡΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ°ΡΠ°), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΎΡ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π° Π·Π°ΡΠ²ΠΊΠ°). ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ.
- ΠΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΠΈΡΠΎΠΊΠ° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ Ρ ΡΠ°ΡΡ ΠΎΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ.
- ΠΠΎΡΠΎΠ² Π·Π° ΠΏΡΠΎΠΌΠΈΡΠ»Π΅Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° (Π²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° JD, Meituan ΠΈ Xiaohongshu).
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΡ Π΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΉ Π±Π΅Π· ΡΠΏΠΈΡΠ°Π½Π΅ ΠΈΠ»ΠΈ Π·Π°ΡΡΠ³Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
- TTL ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅.
- ΠΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅.
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° (ΠΎΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΠΈ ΡΠ° COMPACT ΠΈ FLUSH).
- ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ»Π½ΠΈΡ ΠΏΡΡ ΠΈ Π½Π°ΠΉ-ΠΊΡΠ°ΡΠΊΠΈΡ ΠΏΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π°Π΄Π΅Π½ΠΈ Π²ΡΡΡ ΠΎΠ²Π΅.
- OLAP ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ.
- ΠΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ CSV ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΎΡ Spark.
- ΠΠΊΡΠΏΠΎΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Prometheus ΠΈ Grafana.
- Π£Π΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° Nebula Graph Studio Π·Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΈ, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡ Π΅ΠΌΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° extract() Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π½ΠΈΠ·, ΠΊΠΎΠΉΡΠΎ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° Π΄Π°Π΄Π΅Π½ ΠΈΠ·ΡΠ°Π·.
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ».
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ AppendVertices ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠ»ΡΡΠΈ Π·Π° ΡΡΠ±ΠΎΠ²Π΅ ΠΈ Π²ΡΡΡ ΠΎΠ²Π΅.
- ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΏΠΈΡΠ°Π½ΠΈ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° JOIN, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ Traverse ΠΈ AppendVertices, Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ.
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΠΠΠ-ΠΠ ΠΠ’ΠͺΠ ΠΠͺΠ’ ΠΈ ΠΠΠΠΠ ΠΠ€
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° (ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Π» Π½Π° Π°ΡΠ΅Π½Π° Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru