MongoDB
MongoDB | |
---|---|
![]() | |
![]() | |
Тып | NoSQL сістэма кіравання базамі даных |
Распрацоўшчык | MongoDB Inc.[d] |
Напісана на | C++, Go, JavaScript, C і Python[2] |
Аперацыйная сістэма | Linux, macOS, Windows і OpenBSD |
Першы выпуск | 2009 |
Апошняя версія |
|
Ліцэнзія | 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]
Гл. таксама
[правіць | правіць зыходнік]Зноскі
- ↑ Release Notes for MongoDB 7.0.5
- ↑ Languages Праверана 6 жніўня 2018.
- ↑ https://www.mongodb.com/licensing/server-side-public-license Праверана 13 лістапада 2018.
- ↑ https://jira.mongodb.org/browse/SERVER-37651 Праверана 13 лістапада 2018.
- ↑ 10gen embraces what it created, becomes MongoDB Inc. (англ.) . Gigaom. Архівавана з першакрыніцы March 5, 2016. Праверана January 29, 2016.
- ↑ 4.0 Changelog - 4.0.4 Changelog - Build and Packaging(недаступная спасылка). Архівавана з першакрыніцы 4 кастрычніка 2023. Праверана 28 чэрвеня 2023.
- ↑ Release Notes for MongoDB 4.0 - 4.0.4 - Nov 8, 2018(недаступная спасылка). Архівавана з першакрыніцы 29 верасня 2023. Праверана 28 чэрвеня 2023.
- ↑ Ridiculously fast MongoDB replica recovery Part 1 of 2(недаступная спасылка). ClusterHQ. Архівавана з першакрыніцы October 30, 2017.
- ↑ Turning MongoDB Replica Set to a Sharded Cluster . Severalnines (11 мая 2013). Архівавана з першакрыніцы November 25, 2016.
- ↑ MongoDB Drives NoSQL More Deeply into Enterprise Opportunities (27 чэрвеня 2018). Архівавана з першакрыніцы August 7, 2018. Праверана August 7, 2018.
- ↑ MongoDB 4.2.6
Знешнія спасылкі
[правіць | правіць зыходнік]- mongodb.com (англ.) — афіцыйны сайт