Основные операции СУБД MongoDB: основы NoSQL Big Data для начинающих

mongodb, курсы nosql, обучение nosql, mongodb nosql, курсы nosql в Москве

В этой статье мы поговорим про основные базовые операции в МонгоДБ. Также рассмотрим применение этих операций к данным, хранящимся в этой СУБД на практических примерах. Читайте далее про базовые CRUD-операции в MongoDB и их особенности.

Основные операции СУБД MongoDB

Прежде всего отметим, что MongoDB — это документно-ориентированная (данные хранятся в виде объектов, содержащих пары ключ-значение) кроссплатформенная (подходит для нескольких платформ, среди которых Windows, Linux, Mac) нереляционная система управления базами данных (СУБД), которая также представляет собой реализацию подхода NoSQL (not only SQL). NoSQL — это подход, направленный на решение проблем масштабируемости (увеличение производительности при росте нагрузки) за счет атомарности (выполнении всех операций как единое целое) и согласованности данных (без нарушений их целостности). Основными базовыми операциями в МонгоДБ являются CRUD-операции. В набор данных операций входят следующие функции:

  • create — функция для создания коллекции объектов в МонгоДБ. Коллекция — это структура, хранящая в себе все данные в виде объектов;
  • read — функция для чтения существующих данных из коллекции или для получения доступа к данным коллекции;
  • update — это операция для обновления (редактирования) информации о существующих объектах;
  • delete — функция полного удаления объекта из базы данных [1].

Каждую из этих функций мы подробно рассмотрим далее на практических примерах.

Работа с CRUD-операциями: несколько практических примеров

Для того, чтобы начать работу с данными, необходимо создать коллекцию, применив create-операцию. Для применения create-операции необходимо вызвать метод createCollection() в MongoDB:

db.createCollection (‘phonebook’)

Для создания объектов (записей) в MongoDB используется create-операция inert. Следующий код отвечает за вставку записей в коллекцию MongoDB:

db.getCollection('phone_book').insert({INN:NumberInt(240185621478),name:[{lastname: "Ivanov"},{firstname:"Ivan"},
{secondname:"Ivanovich"}],
workplace:"SIBUR company",date_of_birth:new Date("1985-05-25"), telephone:[{cell:"89935479632"},{home:"369652"}],
hobby:"chess"})
db.getCollection('phone_book').insert({INN:NumberLong("350185621452"),name:[{lastname: "Sidorov"},{firstname:"Alexandr"},
{secondname:"Sergeevich"}],
workplace:"EPAM SYSTEMS",date_of_birth:new Date("1965-07-15"), telephone:[{cell:"89935985214"},{home:"258741"}],
hobby:["chess","football","books"]})

Как видно из вышерассмотренного фрагмента кода, каждая запись представляет собой объект с определенными полями (имя, фамилия, домашний и сотовый телефоны, дата рождения, место работы и увлечения). Стоит также отметить, что для выполнения create-операции insert необходимо выполнить read-операцию getCollection() для получения доступа к нужной коллекции [2].

mongodb, курсы nosql, обучение nosql, mongodb nosql, курсы nosql в Москве
Один из созданных объектов в коллекции phone_book

В качестве update-операции в МонгоДБ существует специальный метод updateOne(), который служит для обновления (редактирования) записей в коллекции. Следующий фрагмент кода отвечает за обновление информации о хобби объекта с именем Ivan:

db.getCollection('phone_book').updateOne({"name.firstname":"Ivan"}, {$set:{hobby:"football"}})
mongodb, курсы nosql, обучение nosql, mongodb nosql, курсы nosql в Москве
Объект с обновленной информацией поля hobby

Для того, чтобы полностью удалить объект из коллекции, применяется delete-операция deleteOne(). Следующий код на диалекте MongoDB отвечает за удаление информации об объекте с именем Ivan:

db.getCollection ('phone_book').deleteOne({"name.firstname" : "Ivan"})

Таким образом, благодаря поддержке CRUD-операций, MongoDB обеспечивает разработчика весьма удобным и интуитивно понятным интерфейсом для работы с объектами Big Data. Это делает MongoDB весьма удобным средством для работы с Big Data. В следующей статье мы поговорим про самые распространенные функции в MongoDB.

Стоит также отметить, что CRUD-операции также являются базовыми для таких NoSQL СУБД, как:

  • Apache Impala (SQL-операции CEATE, READ, UPDATE, DELETE)
  • HBase (операции PUT, GET, SCAN, DELETE)
  • Apache Hive (операции на диалекте HiveQL CEATE, READ, UPDATE, DELETE)

Больше подробностей про применение CRUD-операций в проектах анализа больших данных вы узнаете на практических курсах по NoSQL в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:

IMPA: CLOUDERA IMPALA DATA ANALYTICS
HBASE: Администрирование кластера HBase
HIVE: Hadoop SQL администратор Hive

Записаться на курс

Смотреть раcписание

Источники

  1. https://habr.com/ru/post/322532/
  2. https://docs.mongodb.com/manual/crud/

 

Добавить комментарий

Поиск по сайту