Перайсці да зместу

MongoDB

З Вікіпедыі, свабоднай энцыклапедыі
MongoDB
Выява лагатыпа
Тып NoSQL сістэма кіравання базамі даных
Распрацоўшчык MongoDB Inc.[d]
Напісана на C++, JavaScript, C і Python[2]
Аперацыйная сістэма Linux, macOS, Windows і OpenBSD
Першы выпуск 2009
Апошняя версія
  • 7.0.5 (5 студзеня 2024)[1]
Ліцэнзія Server Side Public License[d][3][4]
Сайт mongodb.com (англ.)
Лагатып Вікісховішча Медыяфайлы на Вікісховішчы

MongoDB — гэта кросплатформавая дакументаарыентаваная сістэма кіравання базамі даных. З’яўляецца NoSQL-сістэмай і выкарыстоўвае дакументы, падобныя на JSON для захавання даных. Версіі MongoDB ліцэнзуюцца ў адпаведнасці з ліцэнзіяй SSPL, якая лічыцца несвабоднай з-за абмежаванняў у выкарыстанні, аднак прадастаўляе доступ да зыходнага кода. MongoDB з’яўляецца членам альянсу MACH.

Амерыканская кампанія 10gen пачала распрацоўку MongoDB у 2007 годзе ў якасці кампанента запланаванай PaaS-платформы.

У 2009 годзе кампанія перайшла на мадэль распрацоўкі з адкрытым зыходным кодам, пры гэтым прапаноўваючы камерцыйную падтрымку і іншыя паслугі.

У 2013 годзе 10gen змяніла назву на MongoDB Inc.[5]

8 лістапада 2018 г. у версіі 4.0.4 ліцэнзія праграмнага забеспячэння была зменена з AGPL 3.0 на SSPL.[6] [7]

Асноўныя магчымасці

[правіць | правіць зыходнік]

Дакумент MongoDB можа быць праіндэксаваны першаснымі (англ.: primary) і другаснымі (англ.: secondary) індэксамі.

MongoDB забяспечвае высокую даступнасць (англ.: high availability) з выкарыстаннем набораў рэплік. [8] Набор рэплік складаецца з дзвюх ці больш копій. Кожная рэпліка можа выступаць у ролі асноўнай або другаснай ў любы час. Усе запісы і чытанні выконваюцца на асноўнай рэпліцы па змоўчанні. Другасныя рэплікі захоўваюць копію даных асноўнай.

Балансіроўка нагрузкі

[правіць | правіць зыходнік]

MongoDB гарызантальна маштабуецца з выкарыстаннем сегментавання (англ.: sharding). [9] Карыстальнік выбірае ключ фрагмента, які вызначае, як будуць размеркаваны даныя ў калекцыі. Даныя разбіваюцца на дыяпазоны (на аснове ключа сегмента) і размяркоўваюцца па некалькіх фрагментах.

Захоўванне файлаў

[правіць | правіць зыходнік]

MongoDB можна выкарыстоўваць як файлавую сістэму пад назвай GridFS з функцыямі балансіроўкі нагрузкі і рэплікацыі даных на некалькіх машынах для захоўвання файлаў.

Выкананне JavaScript на баку сервера

[правіць | правіць зыходнік]

Мову праграмавання JavaScript можна выкарыстоўваць у запытах і функцыях агрэгацыі, а таксама адпраўляць код JavaScript непасрэдна ў базу даных для выканання.

MongoDB сцвярджае, што цалкам падтрымлівае шматдакументныя транзакцыі ACID пасля выпуску версіі 4.0 у чэрвені 2018 г.[10] Аднак гэтае сцвярджэнне не цалкам адпавядае рэчаіснасці, бо MongoDB парушае правіла ізаляцыі транзакцый узроўню SNAPSHOT.[11]

Зноскі

  1. Release Notes for MongoDB 7.0.5
  2. Languages Праверана 6 жніўня 2018.
  3. https://www.mongodb.com/licensing/server-side-public-license Праверана 13 лістапада 2018.
  4. https://jira.mongodb.org/browse/SERVER-37651 Праверана 13 лістапада 2018.
  5. 10gen embraces what it created, becomes MongoDB Inc. (англ.). Gigaom. Архівавана з першакрыніцы March 5, 2016. Праверана January 29, 2016.
  6. 4.0 Changelog - 4.0.4 Changelog - Build and Packaging(недаступная спасылка). Архівавана з першакрыніцы 4 кастрычніка 2023. Праверана 28 чэрвеня 2023.
  7. Release Notes for MongoDB 4.0 - 4.0.4 - Nov 8, 2018(недаступная спасылка). Архівавана з першакрыніцы 29 верасня 2023. Праверана 28 чэрвеня 2023.
  8. Ridiculously fast MongoDB replica recovery Part 1 of 2(недаступная спасылка). ClusterHQ. Архівавана з першакрыніцы October 30, 2017.
  9. Turning MongoDB Replica Set to a Sharded Cluster. Severalnines (11 мая 2013). Архівавана з першакрыніцы November 25, 2016.
  10. MongoDB Drives NoSQL More Deeply into Enterprise Opportunities (27 чэрвеня 2018). Архівавана з першакрыніцы August 7, 2018. Праверана August 7, 2018.
  11. MongoDB 4.2.6

Знешнія спасылкі

[правіць | правіць зыходнік]