MongoDB - это общего назначения, документо-ориентированная распределенная база данных, которая является продуктом, находящимся между реляционной базой данных и нереляционной (NoSQL) базой данных. Она является самой функциональной и похожей на реляционную базу данных среди нереляционных баз данных.

Пример документа в MongoDB

{
  "_id": "5cf0029caff5056591b0ce7d",
  "firstname": "Jane",
  "lastname": "Wu",
  "address": {
    "street": "1 Circle Rd",
    "city": "Los Angeles",
    "state": "CA",
    "zip": "90404"
  },
  "hobbies": ["surfing", "coding"]
}

Просто кусок данных в формате JSON. Данные документа, хранящиеся в MongoDB, очень похожи на эти данные JSON. Благодаря хранению данных в формате JSON, формат хранения данных в MongoDB очень гибкий. В отличие от MySQL, у которой должна быть фиксированная структура таблиц, это означает, что вы можете добавлять или удалять поля в любое время, и скорость также очень быстрая.

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

Характеристики MongoDB

Высокая производительность

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

  • Использование встроенной модели данных может снизить операции ввода-вывода системы базы данных.
  • Он поддерживает индексацию, поэтому эффективность запросов очень высока, и индексированные поля могут быть полями вложенных документов или ключами массивов.

Богатый язык запросов

MongoDB поддерживает обширный набор запросов для удовлетворения различных бизнес-сценариев запросов.

Поддержка геопространственных запросов

Для бизнесов O2O и связанных с местоположением часто требуются частые геопространственные запросы, такие как запросы близлежащих магазинов, близлежащих людей или определение нахождения в коммерческом районе. Все это требует поддержки геопространственного поиска.

Высокая доступность

Репликационный набор MongoDB обеспечивает:

  • Автоматический отказоустойчивый режим
  • Лишние данные

Репликационный набор представляет собой группу экземпляров mongod, поддерживающих одинаковый набор данных, обеспечивая избыточность данных и поддержку высокой доступности.

Горизонтальное масштабирование

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