Π‘Π»Π΅Π΄ Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΈΠ·Π»Π΅Π·Π΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½Π°ΡΠ° Π‘Π£ΠΠ MongoDB 6.0, ΠΊΠΎΡΡΠΎ Π·Π°Π΅ΠΌΠ° ΠΌΡΡΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΡΠ·ΠΈΡΠ΅ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΎΠΏΠ΅ΡΠΈΡΠ°ΡΠΈ Ρ Π΄Π°Π½Π½ΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ ΠΊΠ»ΡΡ/ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΈ ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ Π‘Π£ΠΠ, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΈ Π·Π° ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ. ΠΠΎΠ΄ΡΡ Π½Π° MongoDB Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++ ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· SSPL, ΠΊΠΎΠΉΡΠΎ Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π»ΠΈΡΠ΅Π½Π·Π° AGPLv3, Π½ΠΎ Π½Π΅ Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°ΡΠΈΠΎΠ½Π½ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· SSPL Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΡΠ°ΠΌΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΡΡΠ°ΡΡΠ²Π°ΡΠΈ Π² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΎΠ±Π»Π°ΡΠ½Π° ΡΡΠ»ΡΠ³Π°.
MongoDB ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ Π² JSON-ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΡΠΎΡΠΌΠ°Ρ, ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° Ρ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π³ΡΠ²ΠΊΠ°Π² Π΅Π·ΠΈΠΊ Π·Π° ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ, Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΆΡΡΠ½Π°Π»ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΠΠ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°ΡΠ° Map/Reduce, ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
Π MongoDB ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅ (ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΡΡΡΠ²ΡΡΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ»ΡΡ), ΠΊΠΎΠ΅ΡΠΎ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌ ΠΊΠ»ΡΡΡΠ΅Ρ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΠΉΡΠΎ Π½ΡΠΌΠ° Π΅Π΄ΠΈΠ½ΠΈΡΠ½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΎΡΠΊΠ°Π· (ΡΠΏΠ°Π΄ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π½ΡΠΊΠΎΠΉ ΠΎΡ ΡΠ·Π»ΠΈΡΠ΅ Π½Π΅ Π²Π»ΠΈΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΠ), ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΡΠ»Π΅Π΄ Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡ ΠΏΠΎΠ²ΡΠ΅Π΄Π΅Π½ΠΈΡ ΡΠ·Π΅Π». Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΡΡΡΠ²ΡΡ Π² ΠΊΠ»ΡΡΡΠ΅Ρ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π±Π΅Π· ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΠ ΡΡΠ΅Π· ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ, ΠΎΠ±Ρ Π²Π°ΡΠ°ΡΠΈ Π΄Π°Π½Π½ΠΈ, ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π² ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ Π²ΠΈΠ΄ (Queryable Encryption). ΠΠ°Π½Π½ΠΈΡΠ΅ ΡΠ΅ Π΄Π΅ΡΠΈΡΡΠΈΡΠ°Ρ Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΠΎΡΡΠ°Π²Π°Ρ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ (Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π½Π°Π΄ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, Π±Π΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡ Π½ΠΎΡΠΎ Π΄Π΅ΡΠΈΡΡΠΈΡΠ°Π½Π΅). Π ΡΠ΅ΠΊΡΡΠΈΡ Π²Π°ΡΠΈΠ°Π½Ρ Π² Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΈ ΡΠ°ΠΌΠΎ ΠΈΠ·ΡΠ°Π·ΠΈ Π·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ Π² Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ, ΠΏΡΠ΅ΡΠΈΠΊΡΠΈ, ΡΡΡΠΈΠΊΡΠΈ, ΠΏΠΎΠ΄Π½ΠΈΠ·ΠΎΠ²Π΅ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
- Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅ (time series collections), ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΡΠ΅Π·ΠΈ ΠΎΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈ ΠΏΡΠ΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ (Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠΈ Π½Π° ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π²ΡΠ·Π½ΠΈΠΊΠ²Π° Π² ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π΄Π°ΡΡΠΈΡΠΈ. Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π²ΡΠΎΡΠΈΡΠ½ΠΈ ΠΈ ΡΡΡΡΠ°Π²Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Ρ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΈΠΊΡΠ΅ΠΏΡΠ½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π³Π΅ΠΎΠ³ΡΠ°ΡΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·ΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΠΈ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΠΎΠ²ΠΈΡΠ΅Π½Π° Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΡΠΎΡΡΠΈΡΠ°Π½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡΠ° ("ΠΏΠΎΡΠΎΡΠΈ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ", API Change Streams), ΡΡΠ΅Π· ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΠΠ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠ΄Π²Π° Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΈ ΠΈ ΡΡΠ±ΠΈΡΠΈΠΉΠ½ΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅. Π‘ΡΠ±ΠΈΡΠΈΡΡΠ° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΡΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Π° watch, Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΡΠ±ΠΈΡΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠΈΠ»ΡΡΠΈΡΠ°Ρ ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Ρ ΡΡΠ΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ $match, $project ΠΈ $redact. Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎΡΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡΡ Π΅ ΠΈΠ·ΡΡΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½). ΠΡΠ²Π΅Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° DML (ΡΠ·ΡΠΊ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ), Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² DDL (ΡΠ·ΡΠΊ Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ), ΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΈ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ.
- Π ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ $lookup ΠΈ $graphlookup Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½ΠΈ (sharded) Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° $lookup, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠ° ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ Π²ΡΠ½ΡΠ΅Π½ ΠΊΠ»ΡΡ, ΡΡΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΌΠ°Π»ΡΠΊ Π±ΡΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° 5-10 ΠΏΡΡΠΈ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ, Π° Π½Π° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ β Π΄Π²Π° ΠΏΡΡΠΈ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ. ΠΠ° ΡΡΠΏΠΎΡΡΠ°Π²ΡΠ½ΠΈΡ Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π½Π΅ 100 ΠΏΡΡΠΈ.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ Π²ΡΡΡ Ρ Π½Π΅ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠ²ΠΈ ΡΡΠ΅Π·ΠΎΠ²Π΅ (snapshot) Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠΊΡΠΈΠ²Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° MongoDB.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ $maxN, $minN ΠΈ $lastN Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π² Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ $sortArray Π·Π° ΡΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π² ΠΌΠ°ΡΠΈΠ².
- Π‘ΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π΅ ΠΏΠΎΠ²ΠΈΡΠ΅Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π±Π»ΠΎΠΊΠ° Π·Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ Π½Π° 128 ΠΠ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° configureCollectionBalancing Π·Π° Π΄Π΅ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π°ΡΠ° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ.
- Π ΡΡΠ΅Π΄ΡΡΠ²Π°ΡΠ° Π·Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΠΎΠ»Π΅ΡΠ° (CSFLE, client-side field-level encryption) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° KMIP-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΎΠ΄ΠΈΡ, ΠΎΡΡΠ°Π·ΡΠ²Π°ΡΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π² Π‘Π£ΠΠ.
- ΠΠ·Π³ΡΠ°Π΄Π΅Π½ Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ MongoDB (Cluster-to-Cluster Sync).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
