stringtranslate.com

МонгоБД

MongoDB — это кроссплатформенная документо - ориентированная база данных с доступным исходным кодом . MongoDB, классифицированная как продукт базы данных NoSQL , использует JSON -подобные документы с дополнительными схемами . MongoDB разработан компанией MongoDB Inc. , а текущие версии лицензируются по лицензии Server Side Public License (SSPL). MongoDB в настоящее время является пятым по популярности движком баз данных. [5]

История

Американская компания-разработчик программного обеспечения 10gen начала разработку MongoDB в 2007 году как компонента запланированного продукта «платформа как услуга» . В 2009 году компания перешла на модель разработки с открытым исходным кодом и начала предлагать коммерческую поддержку и другие услуги. В 2013 году 10gen сменила название на MongoDB Inc, [6] и MongoDB получила награду DB-Engines в 2013 и 2014 годах за механизм базы данных, получивший наибольшую популярность в те годы.

8 ноября 2018 г. в стабильной версии 4.0.4 лицензия на программное обеспечение была изменена с AGPL 3.0 на SSPL. [7] [8]

30 октября 2019 года MongoDB Inc. объединилась с Alibaba Cloud , чтобы предложить клиентам Alibaba Cloud решение MongoDB как услуга. Клиенты могут использовать управляемое предложение из глобальных центров обработки данных Alibaba. [9]

Основные особенности

Специальные запросы

MongoDB поддерживает запросы по полям, диапазонам и поиск по регулярным выражениям . [33] Запросы могут возвращать определенные поля документов, а также включать определяемые пользователем функции JavaScript . Запросы также можно настроить на возврат случайной выборки результатов заданного размера.

Индексирование

Поля в документе MongoDB можно индексировать с помощью первичных и вторичных индексов.

Репликация

MongoDB обеспечивает высокую доступность с помощью наборов реплик. [34] Набор реплик состоит из двух или более копий данных. Каждый член набора реплик может выступать в роли первичной или вторичной реплики в любое время. По умолчанию все операции записи и чтения выполняются в первичной реплике. Вторичные реплики сохраняют копию данных первичной с помощью встроенной репликации. При сбое первичной реплики набор реплик автоматически проводит процесс выбора, чтобы определить, какая вторичная реплика должна стать первичной. Вторичные устройства могут дополнительно выполнять операции чтения, но по умолчанию эти данные являются согласованными только в конечном итоге.

Если реплицированное развертывание MongoDB имеет только один дополнительный элемент, в набор необходимо добавить отдельный демон , называемый арбитром. Он несет единственную ответственность за принятие решения по выборам новых праймериз. [35] Как следствие, идеальное распределенное развертывание MongoDB требует как минимум трех отдельных серверов, даже если только один основной и один дополнительный. [35]

Балансировка нагрузки

MongoDB масштабируется горизонтально с помощью шардинга . [36] Пользователь выбирает сегментный ключ, который определяет, как будут распределяться данные в коллекции. Данные разбиваются на диапазоны (на основе ключа сегмента) и распределяются по нескольким сегментам, которые являются мастерами с одной или несколькими репликами. Альтернативно, ключ сегмента может быть хеширован для сопоставления с сегментом, что обеспечивает равномерное распределение данных.

MongoDB может работать на нескольких серверах, балансируя нагрузку или дублируя данные, чтобы поддерживать работоспособность системы в случае сбоя оборудования.

Файловое хранилище

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

Эта функция, называемая файловой системой сетки , [37] включена в драйверы MongoDB. MongoDB предоставляет разработчикам функции для манипулирования файлами и контентом. Доступ к GridFS можно получить с помощью утилиты mongofiles или плагинов для Nginx [38] и Lighttpd . [39] GridFS делит файл на части или фрагменты и сохраняет каждый из этих фрагментов как отдельный документ. [40]

Агрегация

MongoDB предоставляет три способа выполнения агрегации: конвейер агрегации, функцию уменьшения карты и одноцелевые методы агрегации. [41]

Map-reduce можно использовать для пакетной обработки данных и операций агрегирования. Однако, согласно документации MongoDB, конвейер агрегации обеспечивает более высокую производительность для большинства операций агрегации. [42]

Платформа агрегирования позволяет пользователям получать результаты, аналогичные тем, которые возвращаются запросами, включающими предложение SQL GROUP BY. Операторы агрегации могут быть объединены в конвейер, аналогичный каналам Unix . Платформа агрегирования включает оператор $lookup, который может объединять документы из нескольких коллекций, а также статистические операторы, такие как стандартное отклонение.

Выполнение JavaScript на стороне сервера

JavaScript можно использовать в запросах, функциях агрегирования (таких как MapReduce ) и отправлять непосредственно в базу данных для выполнения.

Ограниченные коллекции

MongoDB поддерживает коллекции фиксированного размера, называемые ограниченными коллекциями. Этот тип коллекции поддерживает порядок вставки и после достижения указанного размера ведет себя как циклическая очередь .

Транзакции

MongoDB поддерживает многодокументные транзакции ACID с момента выпуска версии 4.0 в июне 2018 года. [43]

Издания

Сервер сообщества MongoDB

MongoDB Community Edition бесплатен и доступен для Windows, Linux и macOS. [44]

Корпоративный сервер MongoDB

MongoDB Enterprise Server — это коммерческая версия MongoDB, доступная как часть подписки MongoDB Enterprise Advanced. [45]

Атлас MongoDB

MongoDB также доступен как полностью управляемый сервис по требованию. MongoDB Atlas работает на AWS, Microsoft Azure и Google Cloud Platform. [46]

10 марта 2022 года MongoDB предупредила своих пользователей в России и Белоруссии , что их данные, хранящиеся на платформе MongoDB Atlas, будут уничтожены в результате американских санкций, связанных с российско-украинской войной . [47]

Архитектура

Доступность языка программирования

MongoDB имеет официальные драйверы для основных языков программирования и сред разработки. [48] ​​Существует также большое количество неофициальных или поддерживаемых сообществом драйверов для других языков программирования и платформ.

Бессерверный доступ

Управление и графический интерфейс

Вставка записи в MongoDB с помощью Robomongo 0.8.5

Основным интерфейсом к базе данных была оболочка mongo. Начиная с MongoDB 3.2, MongoDB Compass представлен как собственный графический интерфейс. Существуют продукты и сторонние проекты, предлагающие пользовательские интерфейсы для администрирования и просмотра данных. [49]

Лицензирование

Сервер сообщества MongoDB

По состоянию на октябрь 2018 года MongoDB выпускается под лицензией Server Side Public License (SSPL), несвободной лицензией, разработанной в рамках проекта. Она заменяет Стандартную общественную лицензию GNU Affero и почти идентична Стандартной общественной лицензии GNU версии 3 , но требует, чтобы те, кто делает программное обеспечение общедоступным как часть «услуги», сделали весь исходный код службы (в той степени, в которой пользователь смогут сами воссоздать услугу), доступную по этой лицензии. Напротив, AGPL требует, чтобы исходный код лицензионного программного обеспечения был предоставлен пользователям только тогда, когда программное обеспечение передается по сети. [50] [51] SSPL был представлен на сертификацию Open Source Initiative , но позже отозван. [52] В январе 2021 года Инициатива открытого исходного кода заявила, что SSPL не является лицензией с открытым исходным кодом. [53] Языковые драйверы доступны по лицензии Apache . Кроме того, MongoDB Inc. предлагает собственные лицензии для MongoDB. Последние версии, лицензированные как AGPL версии 3, — это 4.0.3 (стабильная) и 4.1.4. [54]

MongoDB был удален из дистрибутивов Debian , Fedora и Red Hat Enterprise Linux из-за изменения лицензии. Fedora определила, что SSPL версии 1 не является лицензией свободного программного обеспечения, поскольку она «намеренно создана с целью агрессивной дискриминации» по отношению к коммерческим пользователям. [55] [56]

Сообщения об ошибках и критика

Безопасность

Из-за конфигурации безопасности MongoDB по умолчанию, которая предоставляет любому пользователю полный доступ к базе данных, данные из десятков тысяч установок MongoDB были украдены. Кроме того, многие серверы MongoDB были задержаны с целью получения выкупа . [57] [58] В сентябре 2017 года Дэви Оттенхаймер, руководитель отдела безопасности продуктов MongoDB, заявил, что были приняты меры для защиты от этих рисков. [59]

Начиная с версии MongoDB 2.6, двоичные файлы официальных пакетов MongoDB RPM и DEB по умолчанию привязываются к localhost . Начиная с MongoDB 3.6, это поведение по умолчанию было распространено на все пакеты MongoDB на всех платформах. В результате все сетевые подключения к базе данных запрещаются, если это явно не настроено администратором. [60]

Техническая критика

В некоторых сценариях сбоя, когда приложение может получить доступ к двум различным процессам MongoDB, которые не могут получить доступ друг к другу, MongoDB может вернуть устаревшие операции чтения. MongoDB также может откатить записи, которые были подтверждены. [61] Проблема была решена в версии 3.4.0, выпущенной в ноябре 2016 года, [62] и распространялась на более ранние выпуски, начиная с версии 3.2.12. [63]

До версии 2.2 блокировки реализовывались отдельно для каждого процесса сервера. В версии 2.2 блокировки были реализованы на уровне базы данных. [64] Начиная с версии 3.0, [65] доступны подключаемые механизмы хранения, и каждый механизм хранения может реализовывать блокировки по-разному. [65] В MongoDB 3.0 блокировки реализованы на уровне коллекции для механизма хранения MMAPv1, [66] в то время как механизм хранения WiredTiger использует протокол оптимистического параллелизма, который эффективно обеспечивает блокировку на уровне документа. [67] Даже в версиях до 3.0 одним из способов повышения параллелизма является использование сегментирования . [68] В некоторых ситуациях операции чтения и записи снимают блокировки. Если MongoDB прогнозирует, что страница вряд ли будет находиться в памяти, операции заблокируют ее во время загрузки страниц. Использование возможности блокировки значительно расширилось в версии 2.2. [69]

До версии 3.3.11 MongoDB не могла выполнять сортировку на основе сопоставления и ограничивалась побайтовым сравнением через memcmp , что не обеспечивало правильного порядка для многих неанглийских языков при использовании с кодировкой Unicode . Проблема устранена 23 августа 2016 г.

До MongoDB 4.0 запросы к индексу не были атомарными. Документы, которые были обновлены во время выполнения запросов, могли быть пропущены. [70] Введение проблемы чтения снимков в MongoDB 4.0 устранило этот риск. [71]

MongoDB заявила, что версия 3.6.4 прошла «самые жесткие в отрасли тесты на безопасность, правильность и согласованность данных» от Jepsen и что «MongoDB предлагает одни из самых надежных гарантий согласованности, правильности и безопасности данных среди всех доступных сегодня баз данных». [72] Jepsen, которая называет себя «компанией, занимающейся исследованием безопасности распределенных систем», оспорила оба утверждения в Твиттере, заявив: «В этом отчете MongoDB по умолчанию потеряла данные и нарушила причинно-следственную связь». В своем отчете о MongoDB версии 4.2.6 за май 2020 года Джепсен написал, что MongoDB упомянула только тесты, которые прошла версия 3.6.4, а версия 4.2.6 создала больше проблем. [73] Краткое описание испытаний Джепсена частично гласит:

Джепсен оценил MongoDB версии 4.2.6 и обнаружил, что даже при самых высоких уровнях сложности чтения и записи не удалось сохранить изоляцию моментальных снимков. Вместо этого Джепсен наблюдал перекосы при чтении, циклический поток информации, повторяющиеся записи и нарушения внутренней согласованности. Слабые значения по умолчанию означали, что транзакции могли потерять записи и разрешить грязное чтение, даже понижая запрошенные уровни безопасности на уровне базы данных и коллекции. Более того, проблема чтения моментальных снимков не гарантировала моментальный снимок, если она не сочеталась с проблемой большинства записи — даже для транзакций только для чтения. Такие конструктивные решения усложняют безопасное использование транзакций MongoDB. [74]

26 мая Джепсен обновил отчет, заявив: «MongoDB обнаружила ошибку в механизме повтора транзакций, которая, по их мнению, является причиной аномалий, наблюдаемых в этом отчете; исправление запланировано на версию 4.2.8». [74] Проблема была исправлена ​​в этой версии, и «Критика Джепсена в отношении проблем записи по умолчанию также была рассмотрена, при этом проблема записи по умолчанию теперь повышена до уровня проблемы большинства (w: большинство) из MongoDB 5.0». [75]

конференция MongoDB

MongoDB Inc. проводит ежегодную конференцию разработчиков под названием MongoDB World или MongoDB.live. [76]

Смотрите также

Рекомендации

  1. ^ «Состояние MongoDB, март 2010 г.». DB-двигатели . Архивировано из оригинала 18 сентября 2017 года . Проверено 5 июля 2017 г.
  2. ^ «Примечания к выпуску MongoDB 6.0» .
  3. ^ «Как настроить NoSQL-кластер MongoDB с использованием зон Oracle Solaris» . Оракул . Архивировано из оригинала 12 августа 2017 года . Проверено 5 июля 2017 г.
  4. ^ «Инструкции: MongoDB на FreeBSD 10.x» . Новости FreeBSD . Архивировано из оригинала 28 декабря 2017 года . Проверено 5 июля 2017 г.
  5. ^ "Рейтинг DB-движков" . DB-двигатели . DB-двигатели . Проверено 24 февраля 2024 г.
  6. ^ «10gen охватывает то, что оно создало, становится MongoDB Inc» . Гигаом . Архивировано из оригинала 5 марта 2016 года . Проверено 29 января 2016 г.
  7. ^ «Журнал изменений 4.0 — Журнал изменений 4.0.4 — Сборка и упаковка» . Проверено 28 июня 2023 г.
  8. ^ «Примечания к выпуску MongoDB 4.0–4.0.4 — 8 ноября 2018 г.» . Проверено 28 июня 2023 г.
  9. Бетц, Брэнди (30 октября 2019 г.). «Команды MongoDB с Alibaba Cloud». В поисках Альфа . Проверено 31 октября 2019 г.
  10. ^ «Выпущена 1.0 общедоступная версия | Блог MongoDB» . МонгоБД . Проверено 19 мая 2022 г.
  11. ^ «Примечания к выпуску MongoDB 1.2.x» . mongodb.com .
  12. ^ «Примечания к выпуску MongoDB 1.4» . mongodb.com .
  13. ^ «Примечания к выпуску MongoDB 1.6» . mongodb.com .
  14. ^ «Примечания к выпуску MongoDB 1.8» . mongodb.com .
  15. ^ «Примечания к выпуску MongoDB 2.0» . mongodb.com .
  16. ^ «Примечания к выпуску MongoDB 2.2» . mongodb.com .
  17. ^ «Примечания к выпуску MongoDB 2.4» . mongodb.com .
  18. ^ «Примечания к выпуску MongoDB 2.6» . mongodb.com .
  19. ^ «Примечания к выпуску MongoDB 3.0» . mongodb.com .
  20. ^ «Примечания к выпуску MongoDB 3.2» . mongodb.com .
  21. ^ «Примечания к выпуску MongoDB 3.4» . mongodb.com .
  22. ^ «Примечания к выпуску MongoDB 3.6» . mongodb.com .
  23. ^ «Примечания к выпуску MongoDB 4.0» . mongodb.com .
  24. ^ «Примечания к выпуску MongoDB 4.2» . mongodb.com .
  25. ^ «Примечания к выпуску MongoDB 4.4» . mongodb.com .
  26. ^ «Примечания к выпуску MongoDB 4.4» . mongodb.com .
  27. ^ «Примечания к выпуску MongoDB 4.4» . mongodb.com .
  28. ^ «Примечания к выпуску MongoDB 5.0» . mongodb.com .
  29. ^ «Пресс-обложка MongoDB 5.0» . хостадвайс.com .
  30. ^ «Белая книга MongoDB 5.0» . mongodb.com .
  31. ^ «Выпущена MongoDB 6.0» . mongodb.com .
  32. ^ «Примечания к выпуску MongoDB 7.0» . mongodb.com .
  33. ^ Дэвис Керби. «Почему MongoDB — лучший вариант». ДЗона. Архивировано из оригинала 12 июня 2018 года . Проверено 6 июля 2017 г.
  34. ^ «Смешно быстрое восстановление реплики MongoDB. Часть 1 из 2» . КластерHQ. Архивировано из оригинала 30 октября 2017 года.
  35. ^ ab «Документация MongoDB — Арбитр набора реплик» . Проверено 9 апреля 2021 г.
  36. ^ «Превращение набора реплик MongoDB в сегментированный кластер» . Несколько девяток . 11 мая 2013 г. Архивировано из оригинала 25 ноября 2016 г.
  37. ^ «GridFS и MongoDB: плюсы и минусы» . Составьте . 5 июня 2014 г. Архивировано из оригинала 10 сентября 2017 г.
  38. ^ «Плагин NGINX для исходного кода MongoDB» . Гитхаб . Архивировано из оригинала 11 апреля 2016 года . Проверено 10 сентября 2016 г.
  39. ^ «Плагин Lighthttpd для исходного кода MongoDB». Битбакет . Архивировано из оригинала 7 августа 2011 года . Проверено 28 июня 2010 г.
  40. ^ Малик, Мэриленд «Обзор MongoDB». Экспертстаун . Архивировано из оригинала 5 марта 2014 года . Проверено 27 февраля 2014 г.
  41. ^ «Агрегация — Руководство MongoDB». docs.mongodb.com . Архивировано из оригинала 29 ноября 2018 года . Проверено 14 августа 2018 г.
  42. ^ «Map-Reduce — Руководство MongoDB». docs.mongodb.com . Архивировано из оригинала 14 августа 2018 года . Проверено 14 августа 2018 г.
  43. ^ «MongoDB более глубоко внедряет NoSQL в возможности предприятия» . 27 июня 2018 года. Архивировано из оригинала 7 августа 2018 года . Проверено 7 августа 2018 г.
  44. ^ "Центр загрузки MongoDB" . МонгоБД . Архивировано из оригинала 14 августа 2018 года . Проверено 14 августа 2018 г.
  45. ^ "Центр загрузки MongoDB" . МонгоБД . Архивировано из оригинала 14 августа 2018 года . Проверено 14 августа 2018 г.
  46. ^ «MongoDB запускает глобальные кластеры, чтобы сделать контроль географических данных доступным для всех» . МонгоБД . Архивировано из оригинала 27 июня 2018 года . Проверено 27 июня 2018 г.
  47. ^ "MongoDB уничтожит все данные россиян и белорусов" .
  48. ^ МонгоБД. «GitHub — монгодб/монго». Гитхаб. Архивировано из оригинала 29 июля 2017 года . Проверено 6 июля 2017 г.
  49. ^ Ма, Джейсон. «Визуализация ваших данных с помощью MongoDB Compass». Дзоне . Dzone.com. Архивировано из оригинала 22 мая 2018 года . Проверено 6 июля 2017 г.
  50. ^ Баер, Тони. «Пришла очередь MongoDB изменить свою лицензию с открытым исходным кодом». ЗДНет . Архивировано из оригинала 31 октября 2018 года . Проверено 16 октября 2018 г.
  51. ^ «MongoDB меняет лицензию с открытым исходным кодом» . ТехКранч . Архивировано из оригинала 16 октября 2018 года . Проверено 16 октября 2018 г.
  52. ^ Персонал, Арс (16 октября 2019 г.). «В 2019 году несколько компаний с открытым исходным кодом изменили курс — правильный ли это шаг?». Арс Техника .
  53. OSI (19 января 2021 г.). «SSPL не является лицензией с открытым исходным кодом». ОСИ . Архивировано из оригинала 20 августа 2022 года . Проверено 20 августа 2022 г.
  54. ^ «GitHub — mongodb/mongo в версии r4.0.3» . Гитхаб . Проверено 18 января 2024 г.
  55. ^ Воан-Николс, Стивен Дж. «Публичная серверная лицензия MongoDB с открытым исходным кодом отклонена» . ЗДНет . Архивировано из оригинала 16 января 2019 года . Проверено 17 января 2019 г.
  56. ^ «Изменения в лицензировании MongoDB привели к тому, что Red Hat удалила базу данных из последней версии своей серверной ОС» . GeekWire . 16 января 2019 года. Архивировано из оригинала 17 января 2019 года . Проверено 17 января 2019 г.
  57. ^ Кребс, Брайан. «Вымогатели стирают тысячи баз данных, жертвы, которые платят деньги, застывают» . krebsonsecurity.com . Брайан Кребс. Архивировано из оригинала 11 января 2017 года . Проверено 11 января 2017 г.
  58. Константин, Лукиан (6 января 2017 г.). «Группы программ-вымогателей удалили более 10 000 баз данных MongoDB». Компьютерный мир . ИДГ. Архивировано из оригинала 10 января 2017 года . Проверено 11 января 2017 г.
  59. ^ Оттенхаймер, Дави. «Как избежать злонамеренной атаки с целью выкупа ваших данных». www.mongodb.com . Проверено 22 июня 2021 г.
  60. ^ «Совместимость IP-привязки MongoDB» . МонгоБД . МонгоДБ. Архивировано из оригинала 6 марта 2019 года . Проверено 5 марта 2019 г.
  61. Кайл Кингсбери (20 апреля 2015 г.). «Позвоните мне, может быть: MongoDB устарел». Архивировано из оригинала 15 августа 2015 года . Проверено 4 июля 2015 г.
  62. ^ «Примечания к выпуску MongoDB 3.4» . Руководство по MongoDB . Архивировано из оригинала 14 августа 2018 года . Проверено 6 апреля 2018 г.
  63. Кингсбери, Кайл (7 февраля 2017 г.). «MongoDB 3.4.0-rc3». Джепсен . Архивировано из оригинала 23 октября 2017 года.
  64. ^ «Атомарность, изоляция и параллелизм в MongoDB». Scalegrid.io . Архивировано из оригинала 10 сентября 2017 года . Проверено 28 июня 2017 г.
  65. ^ ab «MongoDB становится подключаемым к механизмам хранения». datanami.com. 5 марта 2015 года. Архивировано из оригинала 4 июля 2017 года . Проверено 28 июня 2017 г.
  66. ^ Арбориан Консалтинг. «MongoDB, MMAPv1, WiredTiger, блокировка и очереди». Арбориан Консалтинг. Архивировано из оригинала 19 июня 2017 года . Проверено 28 июня 2017 г.
  67. ^ Кенни Горман (октябрь 2015 г.). «Сжатие и производительность MongoDB 3.0 WiredTiger». Objectrocket.com/. Архивировано из оригинала 16 июня 2017 года . Проверено 28 июня 2017 г.
  68. ^ Микита Манько. «Узкие места производительности MongoDB, стратегии оптимизации MongoDB». mikitamanko.com. Архивировано из оригинала 19 июля 2017 года . Проверено 5 июля 2017 г.
  69. ^ Scalegrid.io (12 сентября 2013 г.). «Атомность, изоляция и параллелизм в MongoDB». Scalegrid.io. Архивировано из оригинала 10 сентября 2017 года . Проверено 5 июля 2017 г.
  70. Глассер, Дэвид (7 июня 2016 г.). «Запросы MongoDB не всегда возвращают все соответствующие документы!». Метеорный блог .
  71. ^ «Документы MongoDB». Архивировано из оригинала 6 марта 2019 года . Проверено 5 марта 2019 г.
  72. ^ «MongoDB и Джепсен». МонгоБД . Архивировано из оригинала 8 мая 2020 года . Проверено 4 августа 2023 г.
  73. Аллен, Джонатан (22 мая 2020 г.). «Джепсен оспаривает заявления MongoDB о согласованности данных». ИнфоQ . Архивировано из оригинала 6 июня 2023 года . Проверено 4 августа 2023 г.
  74. ^ аб Кингсбери, Кайл (15 мая 2020 г.). «Джепсен: MongoDB 4.2.6». Джепсен . Архивировано из оригинала 29 мая 2023 года . Проверено 4 августа 2023 г.
  75. ^ "MongoDB и Джепсен" . МонгоБД . Архивировано из оригинала 10 июня 2023 года . Проверено 4 августа 2023 г.
  76. ^ "Мир MongoDB" . www.mongodb.com . Архивировано из оригинала 26 апреля 2019 года . Проверено 10 апреля 2019 г.
  77. ^ "Объявление о Монго 2014" . МонгоБД .
  78. ^ "Объявление о Монго 2015" . МонгоБД .
  79. ^ "Объявление о Монго 2016" . МонгоБД .
  80. ^ "Объявление о Монго 2017" . icrunchdata.
  81. ^ "Ретроспектива Монго 2018" . Кен Уолгер. 7 июля 2018 г.
  82. ^ "Краткий обзор Монго 2019" . МонгоДБ.
  83. ^ "Мероприятие Монго 2020" . Событие.
  84. ^ «MongoDB.live возвращается этим летом» . МонгоДБ.
  85. ^ "Мир MongoDB 2022" . МонгоДБ.

Библиография

Внешние ссылки