База данных NoSQL — это нереляционная система управления данными, для которой не требуется стабильная схема. Это позволяет избежать соединений, и его легче измерить. Основная цель использования базы данных NoSQL — для распределенных хранилищ данных с огромными потребностями в хранении данных. NoSQL используется для больших данных и веб-приложений реального времени. Например, такие компании, как Twitter, Facebook и Google, каждый день собирают терабайты пользовательских данных. Традиционные базы данных, такие как СУБД, используют синтаксис SQL для хранения и извлечения данных для дальнейшего анализа. от имени системы баз данных NoSQL охватывает широкий спектр технологий баз данных, которые могут хранить структурированные, полуструктурированные, неструктурированные и полиморфные данные.

Возможности NoSQL

Нереляционные

· Базы данных NoSQL не соответствуют реляционной модели.

· Никогда не давайте таблицы с плоскими записями с фиксированными столбцами

· продолжить с собственной включенной коллекцией или большими двоичными объектами

· Не требует объектно-реляционного отображения и нормализации данных

· Никаких сложных функций, таких как языки запросов, планировщики запросов, соединения ссылочной целостности, ACID

Без схемы

· Базы данных NoSQL, кроме того, не содержат схем или имеют ослабленные схемы.

· Не нужно никакого описания схемы данных

· Предлагает разнородные структуры данных в аналогичной области

Простой API

· Предлагает более простые в использовании интерфейсы для хранения и запроса предоставленных данных

· API позволяют легко манипулировать данными и использовать методологии выбора

· Текстовые протоколы, в основном используемые с HTTP REST с JSON

· обычно используется нестандартный язык запросов NoSQL

· Веб-базы данных, работающие как интернет-службы

Распространено

· Несколько баз данных NoSQL могут выполняться распределенным образом.

· Предлагает возможности автоматического масштабирования и аварийного переключения

· Только давая возможную согласованность · Архитектура Shared Nothing. Это обеспечивает более низкую координацию и высокое распределение

Типы баз данных NoSQL

  • На основе пары "ключ-значение"
  • Столбцовый график
  • Графики на основе
  • Документоориентированный

Реляционная база данных по сравнению с реляционной базой данных. NoSQL

Каковы преимущества NoSQL?

· Гибкость. Для этого не требуется предварительно определенная схема. Новые типы данных и поля могут быть добавлены на лету

· Непрерывная доступность:база данных, которая остается в сети даже перед лицом самых разрушительных сбоев в инфраструктуре.

· Географически распределенные: полностью активные данные везде, где они вам нужны.

· Низкая операционная задержка: достаточно быстрое время отклика для самых ресурсоемких облачных приложений.

· Линейное масштабирование: предсказуемое масштабирование для удовлетворения текущих и будущих потребностей облачных приложений в данных.

· Функциональная согласованность: согласованная интеграция и совместимость смешанных рабочих нагрузок и нескольких моделей данных.

· Операционная зрелость: корпоративное управление данными для облачных приложений.

· Низкая совокупная стоимость владения:нет требований к специализированному оборудованию или вспомогательному программному обеспечению.

Теорема CAP

Непротиворечивость. Говорят, что система стабильна, если все узлы одновременно замечают одинаковые данные. Проще говоря, если мы выполним операцию чтения в стабильной системе, она должна вернуть значение самой последней операции записи. Это означает, что считыватель должен заставить все узлы возвращать аналогичные данные, т. е. значение самой последней записи.

Доступность — Доступность в распределенной системе гарантирует, что система будет работать 100% времени. Каждый запрос получает ответ (без ошибки), несмотря на единственное состояние узла.

Допуск к разделению — этот термин означает, что система не дает сбоев, несмотря на то, что сообщения отбрасываются или задерживаются между узлами в системе. Устойчивость к разделам стала скорее требованием, чем альтернативой в распределенных системах. Это стало возможным благодаря достаточному тиражированию отчетов между узлами и сетями.

МонгоБД

MongoDB — это база данных документов с открытым исходным кодом и основная база данных NoSQL. MongoDB написан с использованием языка C. MongoDB — это документно-ориентированная база данных. Это означает, что он использует не таблицы и строки для хранения своих данных, а от имени коллекций документов, подобных JSON. Эти документы поддерживают встроенные поля, поэтому в них могут храниться соответствующие данные. MongoDB также является базой данных без схемы, поэтому нам не требуется указывать количество или тип столбцов перед добавлением наших данных.

Некоторых из существующих старых баз данных было недостаточно, поскольку современным приложениям сегодня требуется множество функций, таких как большие данные и более быстрые функции. Отсюда и потребность в MongoDB.

Основная цель создания MongoDB

  • Масштабируемость
  • Производительность
  • Высокая доступность
  • Масштабирование от развертываний с одним сервером до крупных и сложных многосайтовых архитектур.
  • Ключевые моменты MongoDB
  • Развивайтесь быстрее
  • Развернуть проще
  • Масштабировать больше

Возможности MongoDB

Ниже приведены некоторые важные функции MongoDB.

· Поддержка специальных запросов

· Индексация.

· Репликация

· Дублирование данных

· Балансировка нагрузки

· Поддерживает инструменты сокращения карты и агрегации.

· Использует JavaScript вместо Процедур.

· Это бессхемная база данных, написанная на C++

· Обеспечивает высокую производительность

· Хранит файлы любого размера легко, не усложняя ваш стек.

Простота администрирования в случае сбоев