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 поддерживает горизонтальное масштабирование. Путем использования шардинга данные распределяются по кластеру машин.