MongoDB Atlas
Atlas — облачный сервис MongoDB для размещения, управления и масштабирования баз данных. В источнике акцент на бесплатном аккаунте, проекте, доступе по IP, пароле и sample dataset.
MongoDB Atlas — облачный сервис для размещения и управления MongoDB.
На занятии создаётся бесплатный Atlas account, проект и sample dataset.
Sample dataset нужен для экспериментов без ручного наполнения больших коллекций.
Индекс хранит часть данных в форме, удобной для быстрого поиска.
Без индекса MongoDB часто делает COLLSCAN, то есть просматривает коллекцию.
С индексом в плане появляется IXSCAN.
Для географического запроса по coordinates создаётся 2dsphere индекс.
Уникальный индекс по email защищает от дублей и даёт duplicate key error при повторе.
Atlas — облачный сервис MongoDB для размещения, управления и масштабирования баз данных. В источнике акцент на бесплатном аккаунте, проекте, доступе по IP, пароле и sample dataset.
Add Sample Dataset загружает готовые базы вроде sample_airbnb, sample_mflix и sample_geospatial. Это удобно для индексов: данных достаточно, чтобы увидеть разницу в плане выполнения.
Индекс хранит значения выбранных полей в форме, пригодной для быстрого поиска. Без индекса MongoDB сканирует документы коллекции один за другим.
db.listingsAndReviews.find({
price: { $gte: 60, $lte: 90 }
})
В explain-плане COLLSCAN означает сканирование коллекции без индекса. IXSCAN означает, что MongoDB использует индекс. FETCH читает документы из коллекции, SORT может указывать на сортировку в памяти.
Для запроса $geoWithin по координатам создаётся специальный индекс. Без него такой запрос может быть тяжелым на большой коллекции.
db.shipwrecks.createIndex({ coordinates: "2dsphere" })
Уникальный индекс по email делает поле ограничением уникальности: повторный email не вставится и вернёт duplicate key error.
db.customers.createIndex({ email: 1 }, { unique: true })