Π”ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° Π‘Π£Π‘Π” MongoDB 5.0

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Π½ Π΅ новият Ρ€Π΅Π»ΠΈΠ· Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ MongoDB 5.0, която Π·Π°Π΅ΠΌΠ° ниша ΠΌΠ΅ΠΆΠ΄Ρƒ Π±ΡŠΡ€Π·ΠΈΡ‚Π΅ ΠΈ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΈ систСми, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ с Π΄Π°Π½Π½ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠ»ΡŽΡ‡/стойност, ΠΈ Ρ€Π΅Π»Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ Π‘Π£Π‘Π”, ΠΊΠΎΠΈΡ‚ΠΎ са Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΈ Π·Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° запитвания. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° MongoDB Π΅ написан Π½Π° C++ ΠΈ сС разпространява ΠΏΠΎΠ΄ лицСнзия SSPL, която Π΅ Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° AGPLv3, Π½ΠΎ Π½Π΅ Π΅ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° дискриминационно изискванС Π·Π° доставка ΠΏΠΎΠ΄ лицСнзия SSPL Π½Π΅ само Π½Π° ΠΊΠΎΠ΄Π° Π½Π° самото ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈ Π½Π° изходния ΠΊΠΎΠ΄ Π½Π° всички ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, участвали Π² прСдоставянСто Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½Π°Ρ‚Π° услуга.

MongoDB ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π² JSON-ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π° с Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ гъвкав Π΅Π·ΠΈΠΊ Π·Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° запитвания, ΠΌΠΎΠΆΠ΅ Π΄Π° създава индСкси Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈ, Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ осигурява ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ добавянС Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π‘Π”, ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°Ρ‚Π° Map/Reduce, ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° рСпликация ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° отказоустойчиви ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π’ MongoDB са Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ срСдства Π·Π° осигуряванС Π½Π° сСгмСнтиранС (Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΊΠ»ΡŽΡ‡), ΠΊΠΎΠ΅Ρ‚ΠΎ Π² комбинация с рСпликацията позволява ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΠΉΡ‚ΠΎ няма Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΎΡ‚ΠΊΠ°Π· (спад Π² Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° някой ΠΎΡ‚ ΡƒΠ·Π»ΠΈΡ‚Π΅ Π½Π΅ влияС Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π‘Π”), ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ слСд нСуспСх ΠΈ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ ΠΎΡ‚ поврСдСния ΡƒΠ·Π΅Π». Π Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΡΡŠΡ€Π²ΡŠΡ€ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π±Π΅Π· спиранС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π‘Π” Ρ‡Ρ€Π΅Π· просто добавянС Π½Π° Π½ΠΎΠ²ΠΈ машини.

Π₯арактСристики Π½Π° Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:

  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ Π·Π° Π΄Π°Π½Π½ΠΈ във Ρ„ΠΎΡ€ΠΌΠ° Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·Ρ€Π΅Π·ΠΈ ΠΎΡ‚ стойности Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, записвани Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ (Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ΠΈ стойности). НуТдата ΠΎΡ‚ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π΄Π°Π½Π½ΠΈ възниква Π² систСми Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, финансови ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ ΠΈ систСми Π·Π° ΠΏΡ€ΠΎΡƒΡ‡Π²Π°Π½Π΅ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° сСнзори. Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° с Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π° ΠΊΠ°Ρ‚ΠΎ с ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ, Π½ΠΎ индСкситС ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π·Π° тях са ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΈ с ΠΎΠ³Π»Π΅Π΄ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π²Π°Ρ‚Π° ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎΡΡ‚, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ намаляванС Π½Π° Ρ€Π°Π·Ρ…ΠΎΠ΄Π° Π½Π° дисково пространство, намаляванС Π½Π° забавянията ΠΏΡ€ΠΈ изпълнСниС Π½Π° заявки ΠΈ ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅.

    MongoDB Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° запис Π½Π΅ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ прСдставяния, създадСни Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈ вмъкванС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π³Ρ€ΡƒΠΏΠΈΡ€Π°Ρ‰ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅. Π’ Ρ‚ΠΎΠ·ΠΈ случай всяка ΡΠ²ΡŠΡ€Π·Π°Π½Π° с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ записа ΠΏΡ€ΠΈ заявка сС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€Π° ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π”Π°Π½Π½ΠΈΡ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ сС ΠΏΠΎΠ΄Ρ€Π΅ΠΆΠ΄Π°Ρ‚ ΠΈ индСксират ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ (Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явното създаванС Π½Π° индСкси ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅).

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ (Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), ΠΊΠΎΠΈΡ‚ΠΎ позволяват ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° дСйствия с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π² колСкция. Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ свиват групирания Π½Π°Π±ΠΎΡ€, Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° "ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°", Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΎΡ‚ рСзултатния Π½Π°Π±ΠΎΡ€. Π—Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ с подмноТСство ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½ΠΎΠ²Π° ΡΡ‚ΡŠΠΏΠΊΠ° $setWindowFields, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° която ΠΌΠΎΠΆΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° сС опрСдСлят Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² колСкция, Π΄Π° сС изчисли Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ±ΠΈΡ‚Π΅ ΠΈ Π΄Π° сС Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° информацията Π² слоТни Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° вСрсиониранСто Π½Π° API, позволяваща ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° API ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° рисковСтС, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π΅Π²Π΅Π½Ρ‚ΡƒΠ°Π»Π½ΠΎΡ‚ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ вСрсии Π½Π° Π‘Π£Π‘Π”. ВСрсиониранСто Π½Π° API отдСля ТизнСния Ρ†ΠΈΠΊΡŠΠ» Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚ ТизнСния Ρ†ΠΈΠΊΡŠΠ» Π½Π° Π‘Π£Π‘Π” ΠΈ позволява Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΄Π° правят ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС нуТдаят ΠΎΡ‚ Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° Π½Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° Π½Π° Π½ΠΎΠ²Π° вСрсия Π½Π° Π‘Π£Π‘Π”.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Live Resharding, позволяваща Π½Π° лСтящата промяна Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ Π·Π° сСгмСнтиранС ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ (shard key) Π±Π΅Π· спиранС Π½Π° Π‘Π£Π‘Π”.
  • Π Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»Π΅Ρ‚Π° ΠΎΡ‚ страната Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Client-Side Field Level Encryption). Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° прСнастройка Π½Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈ Π·Π° ΠΎΠ΄ΠΈΡ‚ ΠΈ ротация Π½Π° сСртификати x509 Π±Π΅Π· спиранС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π‘Π£Π‘Π”. Π”ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° настройка Π½Π° Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ ΡˆΠΈΡ„Ρ€ΠΈ Π·Π° TLS 1.3.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π·Π° MongoDB Shell (mongosh), която сС Ρ€Π°Π·Π²ΠΈΠ²Π° ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, написан Π½Π° JavaScript с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Node.js ΠΈ сС разпространява ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·Π° Apache 2.0. MongoDB Shell прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с Π‘Π£Π‘Π”, промяна Π½Π° настройки ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° запитвания. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ допълванС Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ MQL, синтактична окраска, контСкстуални подсказки, Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Π½Π΅ Π½Π° функционалността Ρ‡Ρ€Π΅Π· Π΄ΠΎΠ±Π°Π²ΠΊΠΈ. Π‘Ρ‚Π°Ρ€Π°Ρ‚Π° CLI ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° "mongo" Π΅ обявСна Π·Π° остаряла ΠΈ Ρ‰Π΅ бъдС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π° Π² Π±ΡŠΠ΄Π΅Ρ‰Π° вСрсия.
    Π”ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° Π‘Π£Π‘Π” MongoDB 5.0
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate ΠΈ $rand.
  • ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½Π° Π΅ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° индСкси ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ $eq, $lt, $lte, $gt ΠΈ $gte Π² ΠΈΠ·Ρ€Π°Π·Π° $expr.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ aggregate, find, findAndModify, update, delete ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() ΠΈ db.collection.remove() Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° опцията "let" Π·Π° опрСдСлянС Π½Π° списък с ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ ΠΏΠΎ-Ρ‡Π΅Ρ‚ΠΈΠΌΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° отдСлянСто Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ ΠΎΡ‚ тСкста Π½Π° Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ.
  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ find, count, distinct, aggregate, mapReduce, listCollections ΠΈ listIndexes Π²Π΅Ρ‡Π΅ Π½Π΅ сС Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚, Π°ΠΊΠΎ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ сС изпълнява опСрация, поставяща ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π²ΡŠΡ€Ρ…Ρƒ колСкция ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ.
  • Π’ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π°Ρ‚Π° Π·Π° избавянС ΠΎΡ‚ Π½Π΅ΠΏΠΎΠ»ΠΈΡ‚ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ, Π΅ΠΊΠΈΠΏΡŠΡ‚ isMaster ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ db.isMaster() са ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½ΠΈ Π½Π° hello ΠΈ db.hello().
  • ΠŸΡ€ΠΎΠΌΠ΅Π½Π΅Π½Π° Π΅ схСмата Π·Π° Π½ΠΎΠΌΠ΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° вСрсиитС ΠΈ Π΅ ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²Π΅Π½ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ към прСдсказуСм Π³Ρ€Π°Ρ„ΠΈΠΊ Π·Π° ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Ρ€Π΅Π»ΠΈΠ·ΠΈ. Всяка Π³ΠΎΠ΄ΠΈΠ½Π° Ρ‰Π΅ сС ΠΈΠ·Π΄Π°Π²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ Ρ€Π΅Π»ΠΈΠ· (5.0, 6.0, 7.0), Π½Π° всСки Ρ‚Ρ€ΠΈ мСсСца Ρ‰Π΅ сС появяват ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ вСрсии с Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (5.1, 5.2, 5.3) ΠΈ ΠΏΡ€ΠΈ нСобходимост ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‰ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π° ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ уязвимости (5.1.1, 5.1.2, 5.1.3). Π’ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈΡ‚Π΅ вСрсии Ρ‰Π΅ сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ функционалности Π·Π° слСдващия Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ Ρ€Π΅Π»ΠΈΠ·, Ρ‚.Π΅. Π² MongoDB 5.1, 5.2 ΠΈ 5.3 Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ създадСни Π½ΠΎΠ²ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° Ρ€Π΅Π»ΠΈΠ·Π° Π½Π° MongoDB 6.0.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster