Π”ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° Π‘Π£Π‘Π” 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