Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ΅ Π΄ΠΎΡΡΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈ. ΠΠ΅ ΠΈ Π½Π°ΡΠΌΠ°Π»ΠΊΡ Π²Π°ΠΆΠ½ΠΎ, Π½ΠΈΠ²Π½Π°ΡΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΎΡΡ ΡΠ΅ Π΄ΠΎΠ»ΠΆΠΈ Π½Π° ΡΠ»ΠΎΠΆΠ΅Π½ΠΎΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ Π²ΠΎ Π½ΠΈΠ². ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ΡΡΠΎ Π»Π΅ΠΆΠΈ Π²ΠΎ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. Π’Π°ΠΊΠ°, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΡΠ°Π½ΡΠ²Π°Π°Ρ βΠ³ΠΎΠ»Π΅ΠΌΠΈβ, Π΅Π΄Π½Π° ΠΎΠ΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π΅ Π΅ ΡΠ°ΠΌΠΎ Π½ΠΈΠ²Π½ΠΈΠΎΡ Π²ΠΎΠ»ΡΠΌΠ΅Π½ (βΠ²ΠΎΠ»ΡΠΌΠ΅Π½β), ΡΡΠΊΡ ΠΈ Π½ΠΈΠ²Π½Π°ΡΠ° ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ (βΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡβ).
ΠΠΊΠΎ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ Π½Π°ΡΠ΄ΠΎΠ²ΡΠ΅ Π³ΡΠ΅ΡΠΊΠ° Π²ΠΎ ΡΠ°ΡΡΠ΄ΡΠ²Π°ΡΠ΅ΡΠΎ, ΡΠΎΠ³Π°Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡΠ΅.
ΠΠΎΠ»ΠΈΠ³Π»ΠΎΡΠ½Π° ΡΠΏΠΎΡΠ½ΠΎΡΡ
ΠΠΎΡΠ΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° ΠΏΠΎΠ½Π΅ΠΊΠΎΠ³Π°Ρ Π΄ΡΡΠΈ ΠΈ Π²ΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π΅ Π½Π΅ΠΎΠΏΡ
ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ DBMS Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π° Π½ΠΈΠ²Π½Π°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΎΠ΄ ΠΊΠΎΠΈ ΡΠ΅ΠΊΠΎΡΠ° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΡΠ²ΠΎΡ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. Π‘ΠΎ Π»Π΅ΡΠ½Π°ΡΠ° ΡΠ°ΠΊΠ° Π½Π° Π. Π€Π°ΡΠ»Π΅Ρ,
Π€Π°ΡΠ»Π΅Ρ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π³ΠΎ ΠΈΠΌΠ° ΡΠ»Π΅Π΄Π½ΠΈΠΎΠ² ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΡΠ΅Π»ΠΎΡΠ½Π° ΠΎΠΏΡΠ΅ΠΌΠ΅Π½Π° ΠΈ ΠΎΠΏΡΠΎΠ²Π°ΡΠ΅Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π²ΠΎ ΠΎΠ±Π»Π°ΡΡΠ° Π½Π° Π΅-ΡΡΠ³ΠΎΠ²ΠΈΡΠ°.
ΠΠ²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°, Π΅ Π΄ΠΎΠ½Π΅ΠΊΠ°Π΄Π΅ ΠΏΡΠ΅ΡΠ΅ΡΠ°Π½, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΠ΄Π°Ρ Π½Π΅ΠΊΠΎΠΈ ΡΠ°Π·ΠΌΠΈΡΠ»ΡΠ²Π°ΡΠ° Π²ΠΎ ΠΊΠΎΡΠΈΡΡ Π½Π° ΠΈΠ·Π±ΠΎΡΠΎΡ Π½Π° Π΅Π΄Π΅Π½ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ DBMS Π·Π° ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½Π°ΡΠ° ΡΠ΅Π», Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ,
ΠΠ°ΡΠ½ΠΎ Π΅ Π΄Π΅ΠΊΠ° Π΄Π° ΡΠ΅ Π±ΠΈΠ΄Π΅ ΡΠ»ΡΠ³Π° Π²ΠΎ ΡΠ°ΠΊΠ²Π° Π·ΠΎΠΎΠ»ΠΎΡΠΊΠ° Π³ΡΠ°Π΄ΠΈΠ½Π° Π½Π΅ Π΅ Π»Π΅ΡΠ½ΠΎ.
- ΠΠΎΠ»ΠΈΡΠΈΠ½Π°ΡΠ° Π½Π° ΠΊΠΎΠ΄ ΡΡΠΎ Π²ΡΡΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠ°ΡΡΠ΅ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»Π½ΠΎ ΡΠΎ Π±ΡΠΎΡΠΎΡ Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ DBMS; ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π΅ Π΄ΠΎΠ±ΡΠ° Π°ΠΊΠΎ Π½Π΅ Π΅ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»Π½Π° ΡΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΡ Π½Π° ΠΎΠ²ΠΎΡ Π±ΡΠΎΡ.
- ΠΠ°ΠΊΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΠΎΠ΄ Π±ΡΠΎΡΠΎΡ Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ DBMS, ΡΡΠΎΡΠΎΡΠΈΡΠ΅ Π·Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΠΏΡΠ΅ΡΠΏΡΠΈΡΠ°ΡΠΈΠ΅ΡΠΎ (ΠΏΡΠΈΡΠΏΠΎΡΠΎΠ±Π»ΠΈΠ²ΠΎΡΡ, ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠΈΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π²ΠΈΡΠΎΠΊΠ° Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΎΡΡ) Π½Π° ΡΠ΅ΠΊΠΎΡ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈΡΠ΅ DBMS ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°Π°Ρ.
- ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π°Ρ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠ΅ΡΠΏΡΠΈΡΠ°ΡΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΠΊΠΎ ΡΠ΅Π»ΠΈΠ½Π° - ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ°.
ΠΠ΄ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΎΡ Π½Π° Π·ΠΎΠΎΠ»ΠΎΡΠΊΠ°ΡΠ° Π³ΡΠ°Π΄ΠΈΠ½Π°, ΡΓ¨ ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:
- ΠΠΎΠ²Π΅ΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅Π½Π°ΡΠ° Π½Π° Π»ΠΈΡΠ΅Π½ΡΠΈΡΠ΅ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠΊΠ°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° ΠΎΠ΄ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΎΡ Π½Π° DBMS.
- ΠΡΠ΅Π²ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎΡΡ ΠΈ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠΊΠΎΠ²ΠΈ.
- ΠΠΈΡΠ΅ΠΊΡΠ½ΠΈ ΡΠΈΠ½Π°Π½ΡΠΈΡΠΊΠΈ Π·Π°Π³ΡΠ±ΠΈ ΠΈΠ»ΠΈ ΠΊΠ°Π·Π½ΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅Π΄ΠΎΡΠ»Π΅Π΄Π½ΠΎΡΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅.
ΠΠΌΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° Π²ΠΊΡΠΏΠ½ΠΈΡΠ΅ ΡΡΠΎΡΠΎΡΠΈ Π·Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ (TCO). ΠΠ°Π»ΠΈ ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΡ ΠΈΠ·Π»Π΅Π· ΠΎΠ΄ ΡΠΈΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° βΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠΏΡΠΈΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅β?
ΠΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π»
Π’Π΅ΡΠΌΠΈΠ½ΠΎΡ βΠΌΡΠ»ΡΠΈΠ²Π°ΡΠΈΡΠ°ΡΠ½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅β Π²Π»Π΅Π·Π΅ Π²ΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π° Π²ΠΎ 2011 Π³ΠΎΠ΄ΠΈΠ½Π°. Π‘Π²Π΅ΡΠ½ΠΎΡΡΠ° Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ ΠΈ Π±Π°ΡΠ°ΡΠ΅ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π΅ΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π° Π΄ΠΎ 2015 Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΏΡΠ΅ΠΊΡ ΡΡΡΠ°ΡΠ° Π½Π° Π°Π½Π°Π»ΠΈΡΠΈΡΠ°ΡΠΈΡΠ΅ Π½Π° ΠΠ°ΡΡΠ½Π΅Ρ, Π±Π΅ΡΠ΅ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°Π½ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΎΡ:
- ΠΎΠ΄ "
ΠΠ°Π·Π°ΡΠ΅Π½ Π²ΠΎΠ΄ΠΈΡ Π·Π° NoSQL DBMS - 2015 Π³ΠΎΠ΄ΠΈΠ½Π° "
ΠΠ΄Π½ΠΈΠ½Π°ΡΠ° Π½Π° DBMS, Π½ΠΈΠ²Π½ΠΈΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ ΠΈ Π½Π°ΡΠΈΠ½ΠΈ Π½Π° Π½ΠΈΠ²Π½ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π΅ ΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π».
- ΠΎΠ΄ "
ΠΠ°Π³ΠΈΡΠ΅Π½ ΠΊΠ²Π°Π΄ΡΠ°Π½Ρ Π·Π° ODBMS - 2016 Π³ΠΎΠ΄ΠΈΠ½Π° "
ΠΠΎΠ΄Π΅ΡΠΊΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ DBMS ΡΠ΅ ΠΏΠΎΠ½ΡΠ΄Π°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ - ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈ ΠΈ Π½Π΅ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈ - ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ Π΅Π΄Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°.
Π‘Π΅ ΡΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° ΠΎΠ²ΠΎΡ ΠΏΠ°Ρ Π°Π½Π°Π»ΠΈΡΠΈΡΠ°ΡΠΈΡΠ΅ Π½Π° ΠΠ°ΡΡΠ½Π΅Ρ Π±Π΅Π° Π²ΠΎ ΠΏΡΠ°Π²ΠΎ ΡΠΎ ΡΠ²ΠΎΡΠ°ΡΠ° ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°. ΠΠΊΠΎ ΠΎΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΠΎ
Π’Π°Π±Π΅Π»Π°ΡΠ° ΠΏΠΎΠ΄ΠΎΠ»Ρ Π³ΠΈ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π° DBMS - Π»ΠΈΠ΄Π΅ΡΠΈΡΠ΅ Π²ΠΎ ΡΠ΅ΠΊΠΎΡΠ° ΠΎΠ΄ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΈΠ½Π·ΠΈ, ΠΊΠΎΠΈ ΡΠ²ΡΠ΄Π°Ρ Π΄Π΅ΠΊΠ° ΡΠ΅ ΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π». ΠΠ° ΡΠ΅ΠΊΠΎΡ DBMS Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΠΎΡ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ ΠΌΠΎΠ΄Π΅Π» (ΠΊΠΎΡ Π½Π΅ΠΊΠΎΠ³Π°Ρ Π±Π΅ΡΠ΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΠΎΡ) ΠΈ Π·Π°Π΅Π΄Π½ΠΎ ΡΠΎ Π½Π΅Π³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅ ΡΡΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ. ΠΠ°Π²Π΅Π΄Π΅Π½ΠΈ ΡΠ΅ ΠΈ DBMS ΠΊΠΎΠΈ ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ°Π°Ρ ΠΊΠ°ΠΊΠΎ βΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎ ΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π»β ΠΈ, ΡΠΏΠΎΡΠ΅Π΄ ΠΊΡΠ΅Π°ΡΠΎΡΠΈΡΠ΅, Π½Π΅ΠΌΠ°Π°Ρ ΠΏΠΎΡΠ΅ΡΠ΅Π½ Π½Π°ΡΠ»Π΅Π΄Π΅Π½ ΠΌΠΎΠ΄Π΅Π».
ΠΠΠΠ‘ | ΠΠΎΡΠ΅ΡΠ΅Π½ ΠΌΠΎΠ΄Π΅Π» | ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ |
---|---|---|
Oracle | Π Π΅Π»Π°ΡΠΈΡΠΊΠΈ | ΠΡΠ°ΡΠΈΠΊΠΎΠ½, Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ |
MS SQL | Π Π΅Π»Π°ΡΠΈΡΠΊΠΈ | ΠΡΠ°ΡΠΈΠΊΠΎΠ½, Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ |
PostgreSQL | Π Π΅Π»Π°ΡΠΈΡΠΊΠΈ | ΠΡΠ°ΡΠΈΠΊΠΎΠ½*, Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ |
MarkLogic | ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠ΅Ρ | ΠΡΠ°ΡΠΈΠΊΠΎΠ½, ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈ |
MongoDB | ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠ΅Ρ | ΠΠ»ΡΡ-Π²ΡΠ΅Π΄Π½ΠΎΡΡ, Π³ΡΠ°ΡΠΈΠΊΠΎΠ½* |
DataStax | Π¨ΠΈΡΠΎΠΊΠ° ΠΊΠΎΠ»ΠΎΠ½Π° | ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠ΅Π½ ΡΠΈΠ»ΠΌ, Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ |
Redis | ΠΠ»ΡΡ-Π²ΡΠ΅Π΄Π½ΠΎΡΡ | Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠ΅Π½ ΡΠΈΠ»ΠΌ, Π³ΡΠ°ΡΠΈΠΊΠΎΠ½* |
ΠΡΠ°Π½Π³ΠΎΠΠ | - | ΠΡΠ°ΡΠΈΠΊΠΎΠ½, Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ |
OrientDB | - | ΠΡΠ°ΡΠΈΠΊΠΎΠ½, Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈ |
Azure CosmosDB | - | ΠΡΠ°ΡΠΈΠΊΠΎΠ½, Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈ |
ΠΠ΅Π»Π΅ΡΠΊΠΈ Π½Π° ΠΌΠ°ΡΠ°ΡΠ°
Π Π²Π΅Π·Π΄ΠΈΡΠΊΠΈΡΠ΅ Π²ΠΎ ΡΠ°Π±Π΅Π»Π°ΡΠ° ΠΎΠ·Π½Π°ΡΡΠ²Π°Π°Ρ ΠΈΠ·ΡΠ°Π²ΠΈ Π·Π° ΠΊΠΎΠΈ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π°ΡΠΈΡΠ°:
- PostgreSQL DBMS Π½Π΅ Π³ΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ, Π½ΠΎ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ Π³ΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°
Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΎΠ° , ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ AgensGraph. - ΠΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° MongoDB, ΠΏΠΎΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π° Π·Π° ΠΏΡΠΈΡΡΡΡΠ²ΠΎ Π½Π° Π³ΡΠ°ΡΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π²ΠΎ ΡΠ°Π·ΠΈΠΊΠΎΡ Π·Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ (
,$lookup
) ΠΎΡΠΊΠΎΠ»ΠΊΡ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΎΡ, ΠΈΠ°ΠΊΠΎ, ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°, Π½ΠΈΠ²Π½ΠΎΡΠΎ Π²ΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π±Π°ΡΠ°ΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΡΠΈΠ·ΠΈΡΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π²ΠΎ Π½Π°ΡΠΎΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΡ.$graphLookup
- ΠΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° Π Π΅Π΄ΠΈΡ ΠΌΠΈΡΠ»ΠΈΠΌΠ΅ Π½Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ°ΡΠ°
RedisGraph .
Π‘Π»Π΅Π΄Π½ΠΎ, Π·Π° ΡΠ΅ΠΊΠΎΡΠ° ΠΎΠ΄ ΠΊΠ»Π°ΡΠΈΡΠ΅, ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π²ΠΎ DBMS ΠΎΠ΄ ΠΎΠ²Π°Π° ΠΊΠ»Π°ΡΠ°. ΠΠ΅ Π³ΠΈ ΡΠΌΠ΅ΡΠ°ΠΌΠ΅ ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈΡΠ΅, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ ΠΊΠ°ΠΊΠΎ Π½Π°ΡΠ²Π°ΠΆΠ½ΠΈ ΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ DBMS Π·Π° Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π°Ρ βΠΎΠ½ΠΈΠ΅ ΡΡΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ²Π°Π°Ρβ.
ΠΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π» DBMS Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»
ΠΠΎΠ΄Π΅ΡΠΊΠΈΡΠ΅ DBMS Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΅ ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈ; ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°ΡΠ° Π½Π° ΠΠ°ΡΡΠ½Π΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΌΠ΅ΡΠ° Π·Π° Π²ΠΈΡΡΠΈΠ½ΠΈΡΠ° Π°ΠΊΠΎ RDBMS Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ°Ρ Π΄Π²ΠΈΠΆΠ΅ΡΠ΅ Π²ΠΎ Π½Π°ΡΠΎΠΊΠ° Π½Π° ΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°ΡΠ΅. Π Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°Π°Ρ. Π‘Π΅Π³Π° ΠΈΠ΄Π΅ΡΠ°ΡΠ° Π΄Π΅ΠΊΠ° ΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π» DBMS Π΅ ΠΊΠ°ΠΊΠΎ ΡΠ²Π°ΡΡΠ°ΡΡΠΊΠΈ Π½ΠΎΠΆ, ΠΊΠΎΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ Π½ΠΈΡΡΠΎ Π΄ΠΎΠ±ΡΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΠΎΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄ΠΎ ΠΠ°ΡΠΈ ΠΠ»ΠΈΡΠΎΠ½.
ΠΠ²ΡΠΎΡΠΎΡ, ΡΠ΅ΠΏΠ°ΠΊ, ΠΏΡΠ΅ΡΠΏΠΎΡΠΈΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°ΡΠ΅ Π²ΠΎ Microsoft SQL Server, Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ Π½Π° ΠΊΠΎΡ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΎΠΏΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° RDBMS Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ.
ΠΠΎΠ΄Π΅Π» Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π²ΠΎ MS SQL Server
ΠΠ΅ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ Π΄Π²Π΅ ΠΎΠ΄Π»ΠΈΡΠ½ΠΈ ΡΡΠ°ΡΠΈΠΈ Π½Π° Π₯Π°Π±ΡΠ΅ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ MS SQL Server ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ; ΡΠ΅ ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°ΠΌ Π½Π° ΠΊΡΠ°ΡΠΊΠΎ ΠΏΡΠ΅ΡΠ°ΡΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ ΠΈ ΠΊΠΎΠΌΠ΅Π½ΡΠ°Ρ:
ΠΠ°ΡΠΈΠ½ΠΎΡ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ Π²ΠΎ MS SQL Server Π΅ ΡΠΎΡΠ΅ΠΌΠ° ΡΠΈΠΏΠΈΡΠ΅Π½ Π·Π° ΡΠ΅Π»Π°ΡΠΈΠΎΠ½ΠΈΡΠ΅ DBMS: Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅ JSON ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π°Ρ Π΄Π° ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ Π²ΠΎ ΠΎΠ±ΠΈΡΠ½ΠΈ ΡΠ΅ΠΊΡΡΡΠ°Π»Π½ΠΈ ΠΏΠΎΠ»ΠΈΡΠ°. ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π΅ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΎΠ²ΠΎΡ JSON:
Π΄Π° ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ°Ρ ΡΠΊΠ°Π»Π°ΡΠ½ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΎΡ,JSON_VALUE
Π΄Π° ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ°Ρ ΠΏΠΎΠ΄Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ.JSON_QUERY
ΠΡΠΎΡΠΈΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π½Π° Π΄Π²Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π΅ ΠΈΠ·ΡΠ°Π· Π²ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠ°ΡΠ° ΡΠ»ΠΈΡΠ½Π° Π½Π° JSONPath.
ΠΠΏΡΡΡΠ°ΠΊΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΎΠ²ΠΎΡ Π½Π°ΡΠΈΠ½ Π½Π΅ ΡΠ΅ βΠΏΡΠ²ΠΎΠΊΠ»Π°ΡΠ½ΠΈ Π΅Π½ΡΠΈΡΠ΅ΡΠΈβ Π²ΠΎ ΡΠ΅Π»Π°ΡΠΈΡΠΊΠ° DBMS, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ ΡΠΎΡΠΊΠΈΡΠ΅. ΠΠΎΡΠΎΡΠ½ΠΎ, Π²ΠΎ MS SQL Server ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ Π½Π΅ΠΌΠ° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π½Π° ΠΏΠΎΠ»ΠΈΡΠ°ΡΠ° Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅ JSON, ΡΡΠΎ Π³ΠΎ ΠΎΡΠ΅ΠΆΠ½ΡΠ²Π° ΡΠΏΠΎΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠ°Π±Π΅Π»ΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡΠ°, ΠΏΠ° Π΄ΡΡΠΈ ΠΈ ΠΈΠ·Π±ΠΎΡΠΎΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΈ ΠΎΠ²ΠΈΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. Π‘Π΅ΠΏΠ°ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΠΏΡΠ΅ΡΠΌΠ΅ΡΠ°Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π° Π·Π° ΡΠ°ΠΊΠ²ΠΎ ΠΏΠΎΠ»Π΅ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° Π½Π΅Π³ΠΎ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, MS SQL Server ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ JSON ΠΎΠ΄ ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ°Π±Π΅Π»ΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΡ FOR JSON PATH
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, MS SQL Server Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΡΠ΅ΡΠΈΡΠ΅ ΡΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠ°ΡΠ° Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅: ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΡΠ°Π·Π»ΠΎΠΆΠΈΡΠ΅ JSON Π½Π° ΡΠ°Π±Π΅Π»ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ OPENJSON
CROSS APPLY
.
ΠΡΠ°ΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π» Π²ΠΎ MS SQL Server
ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π³ΡΠ°Ρ (LPG) Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΠΈ Π²ΠΎ Microsoft SQL Server CREATE TABLE AS NODE
ΠΈ CREATE TABLE AS EDGE
ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ.
Π’Π°Π±Π΅Π»ΠΈΡΠ΅ ΠΎΠ΄ ΠΏΡΠ²ΠΈΠΎΡ ΡΠΈΠΏ ΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈ Π½Π° ΠΎΠ±ΠΈΡΠ½ΠΈΡΠ΅ ΡΠ°Π±Π΅Π»ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΡΡΠΎ ΡΠ°Π±Π΅Π»Π°ΡΠ° ΡΠΎΠ΄ΡΠΆΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΎ ΠΏΠΎΠ»Π΅ $node_id
β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΡΠ°Π·ΠΎΠ» Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
Π‘Π»ΠΈΡΠ½ΠΎ Π½Π° ΡΠΎΠ°, ΡΠ°Π±Π΅Π»ΠΈΡΠ΅ ΠΎΠ΄ Π²ΡΠΎΡΠΈΠΎΡ ΡΠΈΠΏ ΠΈΠΌΠ°Π°Ρ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ»ΠΈΡΠ° $from_id
ΠΈ $to_id
, Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π²ΠΎ ΡΠ°ΠΊΠ²ΠΈΡΠ΅ ΡΠ°Π±Π΅Π»ΠΈ ΡΠ°ΡΠ½ΠΎ Π³ΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π°Ρ Π²ΡΡΠΊΠΈΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ΅. ΠΠΎΡΠ΅Π±Π½Π° ΡΠ°Π±Π΅Π»Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° Π²ΡΡΠΊΠΈ ΠΎΠ΄ ΡΠ΅ΠΊΠΎΡ ΡΠΈΠΏ.
ΠΠ° Π³ΠΎ ΠΈΠ»ΡΡΡΡΠΈΡΠ°ΠΌΠ΅ ΠΎΠ²Π° ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ΅ΠΊΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΎΡ ΠΈΠΌΠ°Π°Ρ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ ΠΊΠ°ΠΊΠΎ ΠΎΠ½ΠΎΡ ΠΏΡΠΈΠΊΠ°ΠΆΠ°Π½ Π½Π° ΡΠ»ΠΈΠΊΠ°ΡΠ°. ΠΠΎΡΠΎΠ°, Π·Π° Π΄Π° ΡΠ° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΈ ΠΈΠ·Π²ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ DDL Π±Π°ΡΠ°ΡΠ°:
CREATE TABLE Person (
ID INTEGER NOT NULL,
name VARCHAR(100)
) AS NODE;
CREATE TABLE Cafe (
ID INTEGER NOT NULL,
name VARCHAR(100),
) AS NODE;
CREATE TABLE likes (
rating INTEGER
) AS EDGE;
CREATE TABLE friendOf
AS EDGE;
ALTER TABLE likes
ADD CONSTRAINT EC_LIKES CONNECTION (Person TO Cafe);
ΠΠ»Π°Π²Π½Π°ΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΡΡ Π½Π° Π²Π°ΠΊΠ²ΠΈΡΠ΅ ΡΠ°Π±Π΅Π»ΠΈ Π΅ ΡΠΎΠ° ΡΡΠΎ Π²ΠΎ Π±Π°ΡΠ°ΡΠ°ΡΠ° ΠΏΡΠΎΡΠΈΠ² Π½ΠΈΠ² Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΠ΅ΠΌΠΈ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ ΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠ° ΡΠ»ΠΈΡΠ½Π° Π½Π° Cypher (ΡΠ΅ΠΏΠ°ΠΊ, β*
βΠΈΡΠ½. ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ). ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΌΠ΅ΡΠ΅ΡΠ°ΡΠ° Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΠΈ Π΄Π΅ΠΊΠ° Π½Π°ΡΠΈΠ½ΠΎΡ Π½Π° ΠΊΠΎΡ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΡΡΠ²Π°Π°Ρ Π²ΠΎ ΠΎΠ²ΠΈΠ΅ ΡΠ°Π±Π΅Π»ΠΈ Π΅ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΠΎΠ΄ Π½Π°ΡΠΈΠ½ΠΎΡ Π½Π° ΠΊΠΎΡ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ Π²ΠΎ ΠΎΠ±ΠΈΡΠ½ΠΈΡΠ΅ ΡΠ°Π±Π΅Π»ΠΈ ΠΈ Π΄Π΅ΠΊΠ° Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ°ΠΊΠ²ΠΈ Π±Π°ΡΠ°ΡΠ° Π·Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ.
SELECT Cafe.name
FROM Person, likes, Cafe
WHERE MATCH (Person-(friendOf)-(likes)->Cafe)
AND Person.name = 'John';
ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, Π΄ΠΎΡΡΠ° Π΅ ΡΠ΅ΡΠΊΠΎ Π΄Π° Π½Π΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΎΠ²ΠΈΠ΅ ΡΠ΅ΠΌΠΈ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΡΠ°ΠΊΠ²ΠΈ ΡΠ°Π±Π΅Π»ΠΈ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π²ΠΎ ΠΎΠ±ΠΈΡΠ½ΠΈΡΠ΅ SQL ΠΏΡΠ°ΡΠ°ΡΠ° Π·Π° ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ΅ Π±ΠΈΠ΄Π΅ Π½Π΅ΠΎΠΏΡ
ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΠΏΠΎΡΠΈ Π·Π° Π΄Π° ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠ°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° ΡΠ°Π·Π»ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ (Π³ΡΠ°ΡΠΈΠΊΠΎΠ½).$node_id
, $from_id
, $to_id
; ΠΠ΄ ΠΈΡΡΠ°ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π°, Π±Π°ΡΠ°ΡΠ°ΡΠ° Π·Π° Π²ΠΌΠ΅ΡΠ½ΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π΅ ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ°Π½ΠΈ ΠΎΠ²Π΄Π΅ Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ Π½Π΅Π·Π³ΠΎΠ΄Π½ΠΈ).
ΠΠ° Π³ΠΎ ΡΠ΅Π·ΠΈΠΌΠΈΡΠ°ΠΌΠ΅ ΠΎΠΏΠΈΡΠΎΡ Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ Π²ΠΎ MS SQL Server, Π±ΠΈ Π·Π°Π±Π΅Π»Π΅ΠΆΠ°Π» Π΄Π΅ΠΊΠ° ΡΠ°ΠΊΠ²ΠΈΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° Π΅Π΄Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π²ΡΠ· Π΄ΡΡΠ³ Π½Π΅ ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ ΡΡΠΏΠ΅ΡΠ½ΠΈ, ΠΏΡΠ²Π΅Π½ΡΡΠ²Π΅Π½ΠΎ ΠΎΠ΄ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΡΠ°Π·ΠΈΡΠ½ΠΈΠΎΡ Π΄ΠΈΠ·Π°ΡΠ½. ΠΠ΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠΈ Π΅Π΄Π΅Π½ ΡΠ°Π·ΠΈΠΊ ΡΠΎ Π΄ΡΡΠ³, ΡΠ°Π·ΠΈΡΠΈΡΠ΅ Π½Π΅ ΡΠ΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ βΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»Π½ΠΈβ, ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π°Ρ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π±ΠΈΠ·Π°ΡΠ½ΠΈ.
ΠΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π» DBMS Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΡ
ΠΠΎ ΠΎΠ²ΠΎΡ Π΄Π΅Π», Π±ΠΈ ΡΠ°ΠΊΠ°Π» Π΄Π° ΡΠ° ΠΈΠ»ΡΡΡΡΠΈΡΠ°ΠΌ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π» Π²ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ DBMS ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ Π½Π° Π½Π΅ Π½Π°ΡΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΈΠΎΡ ΠΎΠ΄ Π½ΠΈΠ², MongoDB (ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π±Π΅ΡΠ΅ ΠΊΠ°ΠΆΠ°Π½ΠΎ, ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ ΡΡΠ»ΠΎΠ²Π½ΠΈ Π³ΡΠ°ΡΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ $lookup
ΠΈ $graphLookup
, Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΡΠ°ΡΠΏΠ°ΡΡΠ΅Π½ΠΈ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈ), ΡΡΠΊΡ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ Π½Π° ΠΏΠΎΠ·ΡΠ΅Π» ΠΈ βΠΏΡΠ΅ΡΠΏΡΠΈΡΠ°ΡΠ΅Π½β DBMS
ΠΠ½Π°ΡΠΈ, Π΄ΠΎΠ·Π²ΠΎΠ»Π΅ΡΠ΅ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΠ°ΡΠ° Π΄Π° ΡΠΎΠ΄ΡΠΆΠΈ Π·Π±ΠΈΡ Π½Π° XML Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΎΠ΄ ΡΠ»Π΅Π΄Π½ΠΈΠΎΠ² ΡΠΈΠΏ (MarkLogic ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ JSON Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ):
<Person INN="631803299804">
<name>John</name>
<surname>Smith</surname>
</Person>
Π Π΅Π»Π°ΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π» Π²ΠΎ MarkLogic
ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ° ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈ ΠΏΡΠΈΠΊΠ°Π· Π½Π° Π·Π±ΠΈΡΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ value
Π²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ ΠΏΠΎΠ΄ΠΎΠ»Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° XPath):
<template >
<context>/Person</context>
<rows>
<row>
<view-name>Person</view-name>
<columns>
<column>
<name>SSN</name>
<value>@SSN</value>
<type>string</type>
</column>
<column>
<name>name</name>
<value>name</value>
</column>
<column>
<name>surname</name>
<value>surname</value>
</column>
</columns>
</row>
<rows>
</template>
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π°Π΄ΡΠ΅ΡΠΈΡΠ°ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΈΠΎΡ ΠΏΡΠΈΠΊΠ°Π· ΡΠΎ SQL Π±Π°ΡΠ°ΡΠ΅ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅ΠΊΡ ODBC):
SELECT name, surname FROM Person WHERE name="John"
ΠΠ° ΠΆΠ°Π», ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΈΠΊΠ°Π· ΡΠΎΠ·Π΄Π°Π΄Π΅Π½ ΠΎΠ΄ ΡΠ°Π±Π»ΠΎΠ½ΠΎΡ Π·Π° ΠΏΡΠΈΠΊΠ°Π· Π΅ ΡΠ°ΠΌΠΎ Π·Π° ΡΠΈΡΠ°ΡΠ΅. ΠΠΎΠ³Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° Π±Π°ΡΠ°ΡΠ΅ Π·Π° Π½Π΅Π³ΠΎ, MarkLogic ΡΠ΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ
ΠΡΠ°ΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π» Π²ΠΎ MarkLogic
Π‘ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π³ΡΠ°ΡΠΈΠΊ (RDF), ΡΓ¨ Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ ΠΈΡΡΠΎ. ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠΎ ΠΏΠΎΠΌΠΎΡ
<template >
<context>/Person</context>
<vars>
<var>
<name>PREFIX</name>
<val>"http://example.org/example#"</val>
</var>
</vars>
<triples>
<triple>
<subject><value>sem:iri( $PREFIX || @SSN )</value></subject>
<predicate><value>sem:iri( $PREFIX || surname )</value></predicate>
<object><value>xs:string( surname )</value></object>
</triple>
<triple>
<subject><value>sem:iri( $PREFIX || @SSN )</value></subject>
<predicate><value>sem:iri( $PREFIX || name )</value></predicate>
<object><value>xs:string( name )</value></object>
</triple>
</triples>
</template>
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π°Π΄ΡΠ΅ΡΠΈΡΠ°ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΠΎΡ RDF Π³ΡΠ°ΡΠΈΠΊ ΡΠΎ SPARQL Π±Π°ΡΠ°ΡΠ΅:
PREFIX : <http://example.org/example#>
SELECT ?name ?surname {
:631803299804 :name ?name ; :surname ?surname .
}
ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈΠΎΡ, MarkLogic Π³ΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π» Π½Π° Π΄Π²Π° Π΄ΡΡΠ³ΠΈ Π½Π°ΡΠΈΠ½ΠΈ:
- DBMS ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ»Π½ΠΎΠΏΡΠ°Π²Π½ΠΎ ΠΏΠΎΡΠ΅Π±Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° RDF ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ (ΡΡΠΎΡΠΊΠΈ Π²ΠΎ Π½Π΅Π³ΠΎ ΡΠ΅ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π°Π°Ρ
ΡΡΠΏΠ΅Π° Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ ΠΎΠ½ΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ³ΠΎΡΠ΅ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π° ). - RDF Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½Π° ΡΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ Π΄Π° ΡΠ΅ Π²ΠΌΠ΅ΡΠ½Π΅ Π²ΠΎ XML ΠΈΠ»ΠΈ JSON Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ (Π° ΠΏΠΎΡΠΎΠ° ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ°Π°Ρ ΡΡΠΎΡΠΊΠΈ
Π½Π΅ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½ΠΎ ). ΠΠ²Π° Π΅ Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈΡΠ΅idref
ΠΈΡΠ½
ΠΠΎΠ±ΡΠ° ΠΈΠ΄Π΅ΡΠ° Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ βΠ½Π°Π²ΠΈΡΡΠΈΠ½Π°β ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π°Ρ Π²ΠΎ MarkLogic Π΅ Π΄Π°Π΄Π΅Π½Π° ΠΎΠ΄
ΠΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π» DBMS βΠ±Π΅Π· Π³Π»Π°Π²Π΅Π½ ΠΌΠΎΠ΄Π΅Π»β
ΠΠ° ΠΏΠ°Π·Π°ΡΠΎΡ ΠΈΠΌΠ° ΠΈ DBMS ΠΊΠΎΠΈ ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ°Π°Ρ ΠΊΠ°ΠΊΠΎ ΠΏΡΠ²ΠΈΡΠ½ΠΎ ΠΌΡΠ»ΡΠΈΠΌΠΎΠ΄Π΅Π», Π±Π΅Π· Π½Π°ΡΠ»Π΅Π΄Π΅Π½ Π³Π»Π°Π²Π΅Π½ ΠΌΠΎΠ΄Π΅Π». Π’ΠΈΠ΅ Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ
ΠΡΡΡΠ½ΠΎΡΡ, ΠΏΠΎΡΡΠΎΡΠ°Ρ βΠΎΡΠ½ΠΎΠ²Π½ΠΈβ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎ ArangoDB ΠΈ OrientDB. ΠΠΎ Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°ΠΈ, ΠΎΠ²Π° ΡΠ΅ Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΊΠΎΠΈ ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΡ. ΠΠ΅Π½Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΡΠ΅ Π³Π»Π°Π²Π½ΠΎ Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ»Π΅ΡΠ½ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠ°ΡΠ°ΡΠ° ΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ ΠΈ ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π° ΠΏΡΠΈΡΠΎΠ΄Π°.
ΠΠ²ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π²ΠΎ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΎΡ DBMS; Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΡΠ°Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ ΡΠ΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ Π½ΠΈΠ². Π‘Π΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΡΠ°ΠΊΠ²ΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ DBMS ΡΠ΅ Π²Π΅ΡΡΠ²Π°ΡΠΊΠΈ, Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊΠΎΡ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΡΠ°Π·ΠΈΡΠΈ Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° ΠΎΠ²ΠΈΠ΅ DBMS Π²ΠΎ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ - Π·Π° Π·Π°ΠΌΠ΅Π½Π° Π½Π° DBMS ΡΡΠΎ Π²Π΅ΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΠ°ΠΌΡ.
ΠΠ΅ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½Π° ΡΡΠ°ΡΠΈΡΠ° Π·Π° ArangoDB ΠΈ OrientDB Π½Π° HabrΓ©:
ΠΡΠ°Π½Π³ΠΎΠΠ
ArangoDB ΡΠ²ΡΠ΄ΠΈ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ.
ΠΠ°Π·Π»ΠΈΡΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΡ Π²ΠΎ ArangoDB ΡΠ΅ ΠΎΠ±ΠΈΡΠ½ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ, Π° ΡΠ°Π±ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΎΠ΄ ΠΏΠΎΡΠ΅Π±Π΅Π½ ΡΠΈΠΏ ΠΊΠΎΠΈ, Π·Π°Π΅Π΄Π½ΠΎ ΡΠΎ ΡΠ΅Π΄ΠΎΠ²Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ»ΠΈΡΠ°, ΠΈΠΌΠ°Π°Ρ (_key
, _id
, _rev
) ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ»ΠΈΡΠ° _from
ΠΈ _to
. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π²ΠΎ DBMS Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½ΠΎ ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π°Ρ Π²ΠΎ Π·Π±ΠΈΡΠΊΠΈ. ΠΠΎΠ»Π΅ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΊΠΎΠΈ ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π°Π°Ρ ΡΠ°Π±ΠΎΠ²ΠΈ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π°Π°Ρ Π·Π±ΠΈΡΠΊΠΈ Π½Π° ΡΠ°Π±ΠΎΠ²ΠΈ Π²ΠΎ ArangoDB. ΠΠ°ΡΠ΅ΠΌ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΠ²ΠΈ ΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ, ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠ°Π±ΠΎΠ²ΠΈΡΠ΅ Π²ΠΎ ArangoDB ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π΄Π΅ΡΡΡΠ²ΡΠ²Π°Π°Ρ ΠΊΠ°ΠΊΠΎ ΡΠ°Π·Π»ΠΈ.
Π‘ΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ
ΠΠΎΠ·Π²ΠΎΠ»Π΅ΡΠ΅ Π½ΠΈ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΠ° persons
, ΡΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ Π²Π°ΠΊΠ°:
[
{
"_id" : "people/alice" ,
"_key" : "alice" ,
"name" : "ΠΠ»ΠΈΡΠ°"
},
{
"_id" : "people/bob" ,
"_key" : "bob" ,
"name" : "ΠΠΎΠ±"
}
]
ΠΠ΅ΠΊΠ° ΠΈΠΌΠ° ΠΈ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΠ° cafes
:
[
{
"_id" : "cafes/jd" ,
"_key" : "jd" ,
"name" : "ΠΠΆΠΎΠ½ ΠΠΎΠ½Π½"
},
{
"_id" : "cafes/jj" ,
"_key" : "jj" ,
"name" : "ΠΠ°Π½-ΠΠ°ΠΊ"
}
]
ΠΠΎΡΠΎΠ° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΠ°ΡΠ° likes
ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:
[
{
"_id" : "likes/1" ,
"_key" : "1" ,
"_from" : "persons/alice" ,
"_to" : "cafes/jd",
"since" : 2010
},
{
"_id" : "likes/2" ,
"_key" : "2" ,
"_from" : "persons/alice" ,
"_to" : "cafes/jj",
"since" : 2011
} ,
{
"_id" : "likes/3" ,
"_key" : "3" ,
"_from" : "persons/bob" ,
"_to" : "cafes/jd",
"since" : 2012
}
]
ΠΡΠ°ΡΠ°ΡΠ° ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ
ΠΡΠ°ΡΠ°ΡΠ΅ΡΠΎ Π²ΠΎ ΡΡΠΈΠ»ΠΎΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΎΡ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ AQL ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ArangoDB, Π²ΡΠ°ΡΠ°ΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΈΡΠ»ΠΈΠ²ΠΈ ΠΎΠ΄ Π»ΡΡΠ΅ Π·Π° ΡΠΎΠ° ΠΊΠΎΡ ΡΠ°ΠΊΠ° ΠΊΠ°ΡΡΠ»Π΅, ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:
FOR p IN persons
FOR c IN OUTBOUND p likes
RETURN { person : p.name , likes : c.name }
ΠΠΎ ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈ ΡΡΠΈΠ», ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π³ΠΈ βΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΠΌΠ΅β ΠΎΠ΄Π½ΠΎΡΠΈΡΠ΅ Π½Π°ΠΌΠ΅ΡΡΠΎ Π΄Π° Π³ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΠΌΠ΅, ΠΎΠ²Π° Π±Π°ΡΠ°ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΈ Π²Π°ΠΊΠ° (ΠΏΠ°ΡΠ΅ΠΌ, Π±Π΅Π· Π·Π±ΠΈΡΠΊΠ°ΡΠ° likes
ΠΌΠΎΠΆΠ΅ Π±Π΅Π·):
FOR p IN persons
FOR l IN likes
FILTER p._key == l._from
FOR c IN cafes
FILTER l._to == c._key
RETURN { person : p.name , likes : c.name }
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΎΡ Π²ΠΎ Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°ΠΈ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΈΡΡ:
[
{ "person" : "ΠΠ»ΠΈΡΠ°" , likes : "ΠΠ°Π½-ΠΠ°ΠΊ" } ,
{ "person" : "ΠΠ»ΠΈΡΠ°" , likes : "ΠΠΆΠΎΠ½ ΠΠΎΠ½Π½" } ,
{ "person" : "ΠΠΎΠ±" , likes : "ΠΠΆΠΎΠ½ ΠΠΎΠ½Π½" }
]
ΠΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠ°ΡΠ°ΡΠ° ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ
ΠΠΊΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΡ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΏΠΎΠ³ΠΎΡΠ΅ ΡΠ΅ ΡΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° Π΅ ΠΏΠΎΡΠΈΠΏΠΈΡΠ΅Π½ Π·Π° ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π° DBMS ΠΎΡΠΊΠΎΠ»ΠΊΡ Π·Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ DBMS, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΈΡΠΏΡΠΎΠ±Π°ΡΠ΅ ΠΎΠ²Π° Π±Π°ΡΠ°ΡΠ΅ (ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ COLLECT
FOR p IN persons
RETURN {
person : p.name,
likes : (
FOR c IN OUTBOUND p likes
RETURN c.name
)
}
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΡΠ΅ ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:
[
{ "person" : "ΠΠ»ΠΈΡΠ°" , likes : ["ΠΠ°Π½-ΠΠ°ΠΊ" , "ΠΠΆΠΎΠ½ ΠΠΎΠ½Π½"] } ,
{ "person" : "ΠΠΎΠ±" , likes : ["ΠΠΆΠΎΠ½ ΠΠΎΠ½Π½"] }
]
OrientDB
ΠΡΠ½ΠΎΠ²Π°ΡΠ° Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π» Π½Π° Π²ΡΠ²ΠΎΡ Π½Π° ΠΌΠΎΠ΄Π΅Π» Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π²ΠΎ OrientDB Π΅ LINK
, LINKLIST
, LINKSET
, LINKMAP
ΠΈ LINKBAG
. ΠΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΏΠΎΠ²ΠΈ ΡΠ΅ Π²ΡΡΠΊΠΈ ΠΈΠ»ΠΈ Π·Π±ΠΈΡΠΊΠΈ Π½Π° Π²ΡΡΠΊΠΈ Π΄ΠΎ
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΡ Π΄ΠΎΠ΄Π΅Π»Π΅Π½ ΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΈΠΌΠ° βΡΠΈΠ·ΠΈΡΠΊΠΎ Π·Π½Π°ΡΠ΅ΡΠ΅β, ΡΡΠΎ ΡΠ° ΠΎΠ·Π½Π°ΡΡΠ²Π° ΠΏΠΎΠ·ΠΈΡΠΈΡΠ°ΡΠ° Π½Π° Π·Π°ΠΏΠΈΡΠΎΡ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°: @rid : #3:16
. Π’Π°ΠΊΠ°, Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡΠ΅ ΡΠ²ΠΎΡΡΡΠ²Π° ΡΠ΅ Π½Π°Π²ΠΈΡΡΠΈΠ½Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈ (ΠΊΠ°ΠΊΠΎ Π²ΠΎ Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π») Π½Π°ΠΌΠ΅ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈ Π·Π° ΠΈΠ·Π±ΠΎΡ (ΠΊΠ°ΠΊΠΎ Π²ΠΎ ΡΠ΅Π»Π°ΡΠΈΠΎΠ½ΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π»).
ΠΠ°ΠΊΠΎ ArangoDB, ΡΠ°Π±ΠΎΠ²ΠΈΡΠ΅ Π²ΠΎ OrientDB ΡΠ΅ ΠΏΡΠ΅ΡΡΡΠ°Π²Π΅Π½ΠΈ ΠΊΠ°ΠΊΠΎ ΠΏΠΎΡΠ΅Π±Π½ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ (ΠΈΠ°ΠΊΠΎ Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡ ΡΠ°Π± Π½Π΅ΠΌΠ° ΡΠ²ΠΎΠΈ ΡΠ²ΠΎΡΡΡΠ²Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ
Π‘ΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ
ΠΠΎ ΡΠΎΡΠΌΠ°Ρ Π±Π»ΠΈΠ·ΠΎΠΊ Π΄ΠΎ
[
{
"@type": "document",
"@rid": "#11:0",
"@class": "Person",
"name": "ΠΠ»ΠΈΡΠ°",
"out_likes": [
"#30:1",
"#30:2"
],
"@fieldTypes": "out_likes=LINKBAG"
},
{
"@type": "document",
"@rid": "#12:0",
"@class": "Person",
"name": "ΠΠΎΠ±",
"out_likes": [
"#30:3"
],
"@fieldTypes": "out_likes=LINKBAG"
},
{
"@type": "document",
"@rid": "#21:0",
"@class": "Cafe",
"name": "ΠΠ°Π½-ΠΠ°ΠΊ",
"in_likes": [
"#30:2",
"#30:3"
],
"@fieldTypes": "in_likes=LINKBAG"
},
{
"@type": "document",
"@rid": "#22:0",
"@class": "Cafe",
"name": "ΠΠΆΠΎΠ½ ΠΠΎΠ½Π½",
"in_likes": [
"#30:1"
],
"@fieldTypes": "in_likes=LINKBAG"
},
{
"@type": "document",
"@rid": "#30:1",
"@class": "likes",
"in": "#22:0",
"out": "#11:0",
"since": 1262286000000,
"@fieldTypes": "in=LINK,out=LINK,since=date"
},
{
"@type": "document",
"@rid": "#30:2",
"@class": "likes",
"in": "#21:0",
"out": "#11:0",
"since": 1293822000000,
"@fieldTypes": "in=LINK,out=LINK,since=date"
},
{
"@type": "document",
"@rid": "#30:3",
"@class": "likes",
"in": "#21:0",
"out": "#12:0",
"since": 1325354400000,
"@fieldTypes": "in=LINK,out=LINK,since=date"
}
]
ΠΠ°ΠΊΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅, ΡΠ΅ΠΌΠΈΡΠ°ΡΠ° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° Π΄ΠΎΡΠ΄ΠΎΠ²Π½ΠΈΡΠ΅ ΠΈ ΠΏΠΎΡΠ΄ΠΎΠ²Π½ΠΈΡΠ΅ ΡΠ°Π±ΠΎΠ²ΠΈ. ΠΠ°
ΠΡΠ°ΡΠ°ΡΠ° ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ
ΠΠ°ΡΠ°ΡΠ΅ΡΠΎ ΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎ ΡΠ΅Π» Π½Π° Π±Π°ΡΠ°ΡΠ΅ΡΠΎ ΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ Π·Π° ArangoDB Π²ΠΎ OrientDB ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:
SELECT name AS person_name, OUT('likes').name AS cafe_name
FROM Person
UNWIND cafe_name
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΡΠ΅ ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅ Π²ΠΎ ΡΠ»Π΅Π΄Π½Π°Π²Π° ΡΠΎΡΠΌΠ°:
[
{ "person_name": "ΠΠ»ΠΈΡΠ°", "cafe_name": "ΠΠΆΠΎΠ½ ΠΠΎΠ½Π½" },
{ "person_name": "ΠΠ»ΠΈΡΠ°", "cafe_name": "ΠΠ°Π½-ΠΠ°ΠΊ" },
{ "person_name": "ΠΠΎΠ±", "cafe_name": "ΠΠ°Π½-ΠΠ°ΠΊ" }
]
ΠΠΊΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΡ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΏΡΠ΅ΠΌΠ½ΠΎΠ³Ρ βΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈβ, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° ΠΎΡΡΡΡΠ°Π½ΠΈΡΠ΅ Π»ΠΈΠ½ΠΈΡΠ°ΡΠ° ΡΠΎ UNWIND()
[
{ "person_name": "ΠΠ»ΠΈΡΠ°", "cafe_name": [ "ΠΠΆΠΎΠ½ ΠΠΎΠ½Π½", "ΠΠ°Π½-ΠΠ°ΠΊ" ] },
{ "person_name": "ΠΠΎΠ±", "cafe_name": [ "ΠΠ°Π½-ΠΠ°ΠΊ" ' }
]
ΠΠ°Π·ΠΈΠΊΠΎΡ Π·Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ Π½Π° OrientDB ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ΅ ΠΊΠ°ΠΊΠΎ SQL ΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈ Π½Π° Gremlin. ΠΠΎ Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° 2.2, ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ ΡΠΎΡΠΌΡΠ»Π°Ρ Π·Π° Π±Π°ΡΠ°ΡΠ΅ ΡΠ»ΠΈΡΠ΅Π½ Π½Π° Cypher, MATCH
MATCH {CLASS: Person, AS: person}-likes->{CLASS: Cafe, AS: cafe}
RETURN person.name AS person_name, LIST(cafe.name) AS cafe_name
GROUP BY person_name
Π€ΠΎΡΠΌΠ°ΡΠΎΡ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΈΡΡ ΠΊΠ°ΠΊΠΎ ΠΈ Π²ΠΎ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎΡΠΎ Π±Π°ΡΠ°ΡΠ΅. Π Π°Π·ΠΌΠΈΡΠ»Π΅ΡΠ΅ ΡΡΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΎΡΡΡΡΠ°Π½ΠΈ Π·Π° Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΠΎ βΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π°β, ΠΊΠ°ΠΊΠΎ Π²ΠΎ ΠΏΡΠ²ΠΎΡΠΎ Π±Π°ΡΠ°ΡΠ΅.
Azure CosmosDB
ΠΠΎ ΠΏΠΎΠΌΠ°Π»Π° ΠΌΠ΅ΡΠ°, ΠΎΠ½Π° ΡΡΠΎ Π±Π΅ΡΠ΅ ΠΊΠ°ΠΆΠ°Π½ΠΎ ΠΏΠΎΠ³ΠΎΡΠ΅ Π·Π° ArangoDB ΠΈ OrientDB ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π° Π½Π° Azure CosmosDB. CosmosDB Π³ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ API Π·Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ: SQL, MongoDB, Gremlin ΠΈ Cassandra.
SQL API ΠΈ MongoDB API ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π·Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΡ. Gremlin API ΠΈ Cassandra API - Π·Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ. ΠΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π²ΠΎ ΡΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ Π·Π°ΡΡΠ²ΡΠ²Π°Π°Ρ Π²ΠΎ ΡΠΎΡΠΌΠ°Ρ Π½Π° Π²Π½Π°ΡΡΠ΅ΡΠ΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° CosmosDB:
ΠΠΎ, ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈΠ·Π±ΡΠ°Π½ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈΠΎΡ API ΡΠ΅ ΡΠΈΠΊΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ Π½Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠΌΠ΅ΡΠΊΠ° Π²ΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ°. ΠΠ΅ Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏΠΈ Π΄ΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π²ΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π΅Π΄Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π²ΠΎ ΡΠΎΡΠΌΠ°Ρ Π½Π° Π΄ΡΡΠ³ ΠΌΠΎΠ΄Π΅Π», ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ ΠΈΠ»ΡΡΡΡΠΈΡΠ°Π½ΠΎ ΡΠΎ Π½Π΅ΡΡΠΎ ΠΊΠ°ΠΊΠΎ ΠΎΠ²Π°:
Π’Π°ΠΊΠ°, ΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π²ΠΎ Azure CosmosDB Π΄Π΅Π½Π΅Ρ Π΅ ΡΠ°ΠΌΠΎ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΊΠΎΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ΄ Π΅Π΄Π΅Π½ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π», ΡΡΠΎ Π½Π΅ Π³ΠΈ ΡΠ΅ΡΠ°Π²Π° ΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²Π°ΡΠΈΡΠ°Π½ΡΠΈ.
ΠΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π» DBMS Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»?
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° Π½Π° ΠΏΠ°Π·Π°ΡΠΎΡ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ΠΌΠ° DBMS ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠΎΠΈ ΡΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π°Π°Ρ Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π» (ΠΎΡΠ²Π΅Π½ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ Π΄Π²Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ: RDF ΠΈ LPG; Π²ΠΈΠ΄Π΅ΡΠ΅ Π³ΠΎ ΠΎΠ²Π° Π²ΠΎ
ΠΡΠ°ΡΠ°ΡΠ΅ΡΠΎ ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π» Π½Π° Π²ΡΠ²ΠΎΡ Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π» Π±Π΅ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°Π½ΠΎ Π΄ΡΡΠΈ ΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΎΡΠΌΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π²ΡΠΎΡΠΈΠΎΡ. ΠΠ°ΠΊΠΎ
ΠΠ΅ΠΌΠ° Π½ΠΈΡΡΠΎ ΠΈΠ½Ρ Π΅ΡΠ΅Π½ΡΠ½ΠΎ Π²ΠΎ ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΎΡ ΡΡΠΎ Π³ΠΎ ΡΠΏΡΠ΅ΡΡΠ²Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ΡΠΎ ΡΠ»ΠΎΡ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°ΡΠ΅) Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΡΠ΅Π»Π°ΡΠΈΡΠΊΠΈ ΠΏΡΠΈΠΊΠ°Π· ΡΠΎ (1) Π²ΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΡΠΎΡΠΊΠΈΡΠ΅ ΠΎΠ΄ Π²ΠΎΠΎΠ±ΠΈΡΠ°Π΅Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠΎΠ²ΠΈ Π½Π° ΠΊΠ»ΡΡΠ½ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΈ (2) Π³ΡΡΠΏΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΎΡΠΊΠΈ ΠΏΠΎ ΡΠΈΠΏ Π½Π° ΡΠ΅Π»Π°ΡΠΈΡΠ°.
ΠΠΎΠ³Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΠΌΠΎΠ΄Π΅Π» Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π½Π° Π²ΡΠ²ΠΎΡ Π½Π° ΠΌΠΎΠ΄Π΅Π» Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½, ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½Π° ΡΠΌ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄Π½ΠΎΠ²ΠΎ:
- ΠΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° Π½ΠΈΠ·Π°ΡΠ° JSON ΡΠ΅ ΡΠΌΠ΅ΡΠ°Π°Ρ Π·Π° ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ, Π½ΠΎ ΠΎΠ½ΠΈΠ΅ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·Π»Π΅Π³ΡΠ²Π°Π°Ρ ΠΎΠ΄ ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΡ Π½Π΅ ΡΠ΅;
- ΠΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π²ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΎΠ±ΠΈΡΠ½ΠΎ ΡΠ΅ Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°Π°Ρ; ΡΠ΅ΠΏΠ°ΠΊ Π½Π΅ ΡΠ°ΠΊΠ°ΡΠ΅ Π΄Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ΄ ΠΈΡΡΠΈΠΎΡ Π²Π³ΡΠ°Π΄Π΅Π½ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, Π° ΠΏΠΎΠ΄Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅ ΠΎΠ±ΠΈΡΠ½ΠΎ Π½Π΅ΠΌΠ°Π°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ;
- ΠΠ΄ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΡΠ°ΡΠ° Π½Π° DBMS Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ Π΅ Π΄Π΅ΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅ ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΈ βΠ°Π³ΡΠ΅Π³Π°ΡΠΈβ ΠΊΠΎΠΈ Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ Π³ΡΠ°Π΄Π°Ρ ΠΎΠ΄Π½ΠΎΠ²ΠΎ ΡΠ΅ΠΊΠΎΡ ΠΏΠ°Ρ. ΠΠΎΡΡΠ΅Π±Π½ΠΎ Π΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΡ Π΄Π° ΠΌΡ ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π±ΡΠ·ΠΎ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅ ΠΏΠΎΠ΄Π³ΡΠ°Ρ ΡΡΠΎ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π½Π° Π³ΠΎΡΠΎΠ²ΠΈΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.
ΠΠ°Π»ΠΊΡ ΡΠ΅ΠΊΠ»Π°ΠΌΠΈΡΠ°ΡΠ΅
ΠΠ²ΡΠΎΡΠΎΡ Π½Π° ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ ΡΠΎ ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° NitrosBase DBMS, ΡΠΈΡ Π²Π½Π°ΡΡΠ΅ΡΠ΅Π½ ΠΌΠΎΠ΄Π΅Π» Π΅ Π³ΡΠ°ΡΠΈΠΊ, Π° Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ - ΡΠ΅Π»Π°ΡΠΈΠΎΠ½ΠΈ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΈ - ΡΠ΅ Π½Π΅Π³ΠΎΠ²ΠΈ ΠΏΡΠ΅ΡΡΡΠ°Π²ΠΈ. Π‘ΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ Π΅Π΄Π½Π°ΠΊΠ²ΠΈ: ΡΠ΅ΡΠΈΡΠΈ ΡΠ΅ΠΊΠΎΡ ΠΏΠΎΠ΄Π°ΡΠΎΠΊ Π΅ Π΄ΠΎΡΡΠ°ΠΏΠ΅Π½ Π²ΠΎ ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ ΠΎΠ΄ Π½ΠΈΠ² ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ°Π·ΠΈΠΊ Π·Π° ΠΏΡΠ°ΡΠ°ΡΠ° ΡΡΠΎ Π΅ ΠΏΡΠΈΡΠΎΠ΄Π΅Π½ Π·Π° Π½Π΅Π³ΠΎ. ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, Π²ΠΎ ΡΠ΅ΠΊΠΎΡ ΠΏΠΎΠ³Π»Π΅Π΄, ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π°Ρ. ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ ΡΠ΅ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΡΠ°Π°Ρ Π²ΠΎ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π» ΠΈ, ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ, Π²ΠΎ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄ΠΈ.
Π‘Π΅ Π½Π°Π΄Π΅Π²Π°ΠΌ Π΄Π΅ΠΊΠ° ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌ ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π° ΡΠΎΠ²ΠΏΠ°ΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Π²ΠΎ NitrosBase Π²ΠΎ Π΅Π΄Π½Π° ΠΎΠ΄ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½Π°ΠΏΠΈΡΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠΎΠΊ
Π‘Π΅ Π½Π°Π΄Π΅Π²Π°ΠΌ Π΄Π΅ΠΊΠ° ΠΎΠΏΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΡΠΈ Π½Π° ΠΎΠ½Π° ΡΡΠΎ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° ΠΌΡΠ»ΡΠΈΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°ΡΠ΅ ΡΡΠ°Π½Π°Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΡΠ°ΡΠ½ΠΈ Π½Π° ΡΠΈΡΠ°ΡΠ΅Π»ΠΎΡ. ΠΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π»ΡΠΊΠΈΡΠ΅ DBMS ΡΠ΅ ΡΠΎΡΠ΅ΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ, Π° βΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈβ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΏΠΎΠΈΠ½Π°ΠΊΡ. ΠΠ° Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΎΠ½Π° ΡΡΠΎ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° βΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π»β Π²ΠΎ ΡΠ΅ΠΊΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΡΠΈΡΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈ Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΠ²Π΅ ΠΏΡΠ°ΡΠ°ΡΠ°:
- ΠΠ°Π»ΠΈ Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠ°ΠΊΠΎΠ² βΡ ΠΈΠ±ΡΠΈΠ΄Π΅Π½β ΠΌΠΎΠ΄Π΅Π»?
- ΠΠ°Π»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅ ΡΠ΅ βΠ΅Π΄Π½Π°ΠΊΠ²ΠΈβ ΠΈΠ»ΠΈ Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½ΠΈΠ² Π΅ ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π½Π° Π΄ΡΡΠ³ΠΈΠΎΡ?
- ΠΠ°Π»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅ ΡΠ΅ βΡΠ°ΠΌΠ½ΠΎΠ΄ΡΡΠ½ΠΈβ Π΅Π΄Π½ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ? ΠΠ°Π»ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π΅Π΄Π΅Π½ ΠΌΠΎΠ΄Π΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΈΡΠ°Π°Ρ Π²ΠΎ Π΄ΡΡΠ³ ΠΈΠ»ΠΈ Π΄ΡΡΠΈ ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΏΠΈΡΠ°Ρ?
ΠΠΈΡΠ»Π°ΠΌ Π΄Π΅ΠΊΠ° Π½Π° ΠΏΡΠ°ΡΠ°ΡΠ΅ΡΠΎ Π·Π° ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎΡΡΠ° Π½Π° ΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π» DBMS Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠ²Π½ΠΎ, Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠ°ΡΠ°ΡΠ΅ Π΅ ΠΊΠΎΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ ΠΎΠ΄ Π½ΠΈΠ² ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ Π±Π°ΡΠ°Π½ΠΈ Π²ΠΎ Π±Π»ΠΈΡΠΊΠ° ΠΈΠ΄Π½ΠΈΠ½Π°. Π‘Π΅ ΡΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ΠΌΠΎΠ΄Π΅Π»Π½ΠΈΡΠ΅ DBMS ΠΊΠΎΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΡΠ²Π΅Π½ΡΡΠ²Π΅Π½ΠΎ ΡΠ΅Π»Π°ΡΠΈΠΎΠ½ΠΈ, ΡΠ΅ Π±ΠΈΠ΄Π°Ρ Π²ΠΎ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΏΠΎΠ±Π°ΡΡΠ²Π°ΡΠΊΠ°; ΠΠΎΠΏΡΠ»Π°ΡΠ½ΠΎΡΡΠ° Π½Π° DBMS ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΠΈ Π½ΡΠ΄Π°Ρ Π½ΠΎΠ²ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠΎΠΈ Π³ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π°Ρ ΠΏΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½ΠΈ, Π΅ ΠΏΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Π»Π΅ΡΠ½Π° ΠΈΠ΄Π½ΠΈΠ½Π°.
Π‘Π°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π°Ρ Π²ΠΎ Π°Π½ΠΊΠ΅ΡΠ°ΡΠ°.
ΠΠ°Π»ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π» DBMS?
-
ΠΠΈΠ΅ Π½Π΅ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅, ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΠΌΠ΅ ΡΓ¨ Π²ΠΎ Π΅Π΄Π΅Π½ DBMS ΠΈ Π²ΠΎ Π΅Π΄Π΅Π½ ΠΌΠΎΠ΄Π΅Π»
-
ΠΠΈΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π» ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π½Π° ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ DBMS
-
ΠΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ»ΠΈΠ³Π»ΠΎΡΠ½Π° ΡΠΏΠΎΡΠ½ΠΎΡΡ
-
ΠΠΈΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π½ΠΎΠ²ΠΈ ΠΌΡΠ»ΡΠΈ-ΠΌΠΎΠ΄Π΅Π»ΡΠΊΠΈ DBMS (Arango, Orient, CosmosDB)
ΠΠ»Π°ΡΠ°Π° 19 ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ. 4 ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΡΠ΅ Π²ΠΎΠ·Π΄ΡΠΆΠ°Π°.
ΠΠ·Π²ΠΎΡ: www.habr.com