ПоставщикамБлог

Нереляционные СУБД

Нереляционные СУБД

Нереляционная база данных - это база данных, не включающая модель таблиц/ключей, которую продвигают системы управления реляционными базами данных (RDBMS). Для таких баз данных требуются методы и процессы манипулирования данными, предназначенные для решения проблем больших данных, с которыми сталкиваются крупные компании. Самая популярная новая нереляционная база данных называется NoSQL (не только SQL).

Большинство нереляционных баз данных включены в такие веб-сайты, как Google, Yahoo!, Amazon и Facebook. Эти веб-сайты представляют множество новых приложений каждый день с миллионами пользователей, поэтому они не смогут справиться с большими скачками трафика с помощью существующих решений RDBMS. Поскольку СУБД не могут справиться с этой проблемой, они переключились на новый тип СУБД, который способен обрабатывать данные веб-масштаба нереляционным способом.

Интересным аспектом нереляционной базы данных, такой как NoSQL, является масштабируемость. NoSQL использует систему BASE. Нереляционные базы данных отказываются от табличной формы строк и столбцов, которые реляционные базы данных используют в пользу специализированных сред для хранения данных, к которым могут обращаться специальные API-интерфейсы запросов. Постоянство является важным элементом в этих базах данных. Чтобы обеспечить высокую пропускную способность огромных объемов данных, лучшим вариантом для производительности является «в памяти», а не чтение и запись с дисков.

Реляционные базы данных используют систему ACID, которая обеспечивает непротиворечивость данных во всех ситуациях управления данными, но, очевидно, требует больше времени для обработки из-за всех этих отношений и ее разветвленной природы. Однако система BASE ослабила требования к согласованности для обеспечения лучшей доступности и разделения для лучшей масштабируемости.

Наиболее популярные продукты категории Нереляционные СУБД Все продукты категории

REDIS
16
7

F.A.Q. Нереляционные СУБД

Что такое базы данных NoSQL?

Базы данных NoSQL специально созданы для определенных моделей данных и обладают гибкими схемами, что позволяет разрабатывать современные приложения. Базы данных NoSQL получили широкое распространение в связи с простотой разработки, функциональностью и производительностью при любых масштабах. В них применяются различные модели данных, в том числе документные, графовые, поисковые, с использованием пар «ключ‑значение» и хранением данных в памяти. Ресурсы, представленные на этой странице, помогут разобраться с базами данных NoSQL и начать работу с ними.

Как работает база данных NoSQL (нереляционная БД)?

В базах данных NoSQL для доступа к данным и управления ими применяются различные модели данных, в том числе документная, графовая, поисковая, с использованием пар «ключ‑значение» и хранением данных в памяти. Базы данных таких типов оптимизированы для приложений, которые работают с большим объемом данных, нуждаются в низкой задержке и гибких моделях данных. Все это достигается путем смягчения жестких требований к непротиворечивости данных, характерных для других типов БД.

Рассмотрим пример моделирования схемы для простой базы данных книг.

  • В реляционной базе данных запись о книге часто разделяется на несколько частей (или «нормализуется») и хранится в отдельных таблицах, отношения между которыми определяются ограничениями первичных и внешних ключей. В этом примере в таблице «Книги» имеются столбцы «ISBN», «Название книги» и «Номер издания», в таблице «Авторы» – столбцы «ИД автора» и «Имя автора», а в таблице «Автор–ISBN» – столбцы «Автор» и «ISBN». Реляционная модель создана таким образом, чтобы обеспечить целостность ссылочных данных между таблицами в базе данных. Данные нормализованы для снижения избыточности и в целом оптимизированы для хранения.
  • В базе данных NoSQL запись о книге обычно хранится как документ JSON. Для каждой книги, или элемента, значения «ISBN», «Название книги», «Номер издания», «Имя автора и «ИД автора» хранятся в качестве атрибутов в едином документе. В такой модели данные оптимизированы для интуитивно понятной разработки и горизонтальной масштабируемости.

Для чего можно использовать базы данных NoSQL?

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

  • Гибкость. Как правило, базы данных NoSQL предлагают гибкие схемы, что позволяет осуществлять разработку быстрее и обеспечивает возможность поэтапной реализации. Благодаря использованию гибких моделей данных БД NoSQL хорошо подходят для частично структурированных и неструктурированных данных.
  • Масштабируемость. Базы данных NoSQL рассчитаны на масштабирование с использованием распределенных кластеров аппаратного обеспечения, а не путем добавления дорогих надежных серверов. Некоторые поставщики облачных услуг проводят эти операции в фоновом режиме, обеспечивая полностью управляемый сервис.
  • Высокая производительность. Базы данных NoSQL оптимизированы для конкретных моделей данных (например, документной, графовой или с использованием пар «ключ‑значение») и шаблонов доступа, что позволяет достичь более высокой производительности по сравнению с реляционными базами данных.
  • Широкие функциональные возможности. Базы данных NoSQL предоставляют API и типы данных с широкой функциональностью, которые специально разработаны для соответствующих моделей данных.

Каковы типы баз данных NoSQL?

  • БД на основе пар «ключ‑значение». Базы данных с использованием пар «ключ‑значение» поддерживают высокую разделяемость и обеспечивают беспрецедентное горизонтальное масштабирование, недостижимое при использовании других типов БД. Хорошими примерами использования для баз данных типа «ключ‑значение» являются игровые, рекламные приложения и приложения IoT.
  • Документ. В коде приложения данные часто представлены как объект или документ в формате, подобном JSON, поскольку для разработчиков это эффективная и интуитивная модель данных. Документные базы данных позволяют разработчикам хранить и запрашивать данные в БД с помощью той же документной модели, которую они используют в коде приложения. Гибкий, полуструктурированный, иерархический характер документов и документных баз данных позволяет им развиваться в соответствии с потребностями приложений. Документная модель хорошо работает в каталогах, пользовательских профилях и системах управления контентом, где каждый документ уникален и изменяется со временем.
  • Графовые БД. Графовые базы данных упрощают разработку и запуск приложений, работающих с наборами сложносвязанных данных. Типичные примеры использования графовых баз данных – социальные сети, сервисы рекомендаций, системы выявления мошенничества и графы знаний.
  • БД в памяти. Часто в игровых и рекламных приложениях используются таблицы лидеров, хранение сессий и аналитика в реальном времени. Такие возможности требуют отклика в пределах нескольких микросекунд, при этом резкое возрастание трафика возможно в любой момент.
  • Поисковые БД. Многие приложения формируют журналы, чтобы разработчикам было проще выявлять и устранять неполадки.
Материалы