вторник, 31 октября 2017 г.

MongoDb NoSql Общие сведения

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, который создается автоматически.

Комментариев нет :

Отправить комментарий