1. Введение
MongoDb - документоорентированная NoSql база данных, используемая для хранения больших объемов информации, предоставляющая высокую производительность, высокую доступность и автоматическое масштабирование.
2. Что такое MongoDb?
- MongoDb - документная база данных, каждая база данных содержит коллекции, которые в свою очередь содержат документы. Каждый документа может сосостоять из различного числа полей. Размер и содержимое каждого документа может быть различен и хранится в JSON подобном формате.
- Строкам (или документам, если называть в стиле MongoDb), не нужно заранее созданной схемы. Вместо этого, поля можно создавать на лету.
- Модель данных, доступная в MongoDb, позволяет разработчикам легче представлять иерархические отношения, хранить массивы и другие более сложные структуры
3. Что такое NoSql
БД NoSql обозначают не-SQL БД или без реляционный подход к БД.
- Предоставляет механизм хранения и извлечения данных, отличных от табличной реляционной модели, используемой в реляционныз БД
- Предоставляет большую гибкость, т.к. все записи не ограничены именами столбцов и типами, определенными во всей таблице.
- Не использует стандартный язык SQL для запроса данных и не предусматривает строгую схему.
- С NoSql, ACID ( Атомарность,Консистенция, Изоляция, Долговечность) свойства транзакций БД не гарантируются.
- Предлагает масштабируемость и высокую производительность для обработки огромных объемов данных.
4. Почему использовать MongoDb
Ниже приведены несколько причин, почему, необходимо начать использовать MongoDb
- Документо-ориентированность: т.к. MongoDb - NoSql БД, то вместо того, чтобы хранить данные в релационном формате - они хранятся в виде документа. Это делает MongoDb более гибкой.
- Специальные запросы: MongoDb поддерживает поиск по полю, диапазону и регулярным выражениям. Так же есть возможность вернуть поле документа.
- Индексация: Индексы создаются, чтобы увеличить производительность поиска.
- Автоматическая балансировка нагрузки: MongoDb использует концепцию Шардирования для горизонтального масштабирования , разбивая данные на нескольких экземплярах MongoDb.
- Репликация: MongoDb может обеспечить высокую доступность набора реплик.
5. Различия с РСУБД
Ниже рассмотрены основные различия между NoSql и РСУБД.
- В РСУБД используется термин Таблица, в MongoDb - Коллекция. В РСУБД таблица состоит из строк и столбцов, которые используются для хранения данныйх, в MongoDb, коллекции состоят документов, которые состоят из полей, которые состоят пары ключ-значение.
- Строка в РСУБД, Документ в MongoDb.
- Столбец в РСУБД, поле в MongoDb.
- Join в РСУБД, встроенные документы в MongoDb. В РСУБД часто данные хранятся в различных таблицах, чтобы показать полный набор данных - необходимо произвести Join таблиц. В MongoDb данные обычно хранятся в одной коллекции, но разделены встроенными документами, т.о Join, как концепция - отсутствует.
- В РСУБД - Первичный ключ, в MongoDb - _id, который создается автоматически.
Комментариев нет :
Отправить комментарий