Oracle NoSQL

Продукт
Разработчики: Oracle
Дата последнего релиза: октябрь 2011 года
Технологии: СУБД

Содержание

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

Основная идея при разработке такого типа систем — предоставление разработчикам более гибких средств по модификации схемы данных на этапе эксплуатации, отказе от транзакционного контроля в пользу более естественной поддержки распределённых вычислений.

NoSQL vs SQL

Сторонниками концепции NoSQL подчёркивается, что она не является полным отрицанием языка SQL и реляционной модели, проект исходит из того, что SQL — это важный и весьма полезный инструмент, но при этом он не может считаться универсальным[источник не указан 109 дней]. Одной из проблем, которую указывают для классических реляционных БД, являются проблемы при работе с данными очень большого объема и в проектах с высокой нагрузкой. Основная цель подхода — расширить возможности БД там, где SQL недостаточно гибок, и не вытеснять его там, где он справляется со своими задачами.

Методология

Сайт nosql-database.org утверждает, что в основе идеи NoSQL лежит следующее:

  • Нереляционная модель данных
  • Открытый исходный код
  • Хорошая горизонтальная масштабируемость.

В качестве одного из методологических обоснований подхода NoSQL используется эвристический принцип, известный как теорема CAP, утверждающий, что в распределённой системе невозможно одновременно обеспечить согласованность данных, доступность (англ. availability, в смысле корректность отклика по любому запросу) и устойчивость к расщеплению распределённой системы на изолированные части. Таким образом, при необходимости достижения высокой доступности и устойчивости к разделению предполагается не фокусироваться на средствах обеспечения согласованности данных, обеспечиваемых традиционными SQL-ориентированными СУБД с транзакционными механизмами на принципах ACID.


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

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

Еще одно преимущество системы Cassandra и других решений с открытым исходным кодом является низкая стоимость, поскольку эти решения изначально ориентированы на работу с массовыми моделями оборудования. Стоимость решений на базе Cassandra и аналогов на порядок ниже аналогичных по производительности решений на базе реляционных СУБД. В то же время, главная цель технологии Oracle NoSQL состоит не в том, чтобы снизить затраты, а в том, чтобы стать главной программной платформой для будущего решения Big Data Appliance. СУБД-серверы Big Data Appliance будут построены на оборудовании Sun и станут необходимым дополнением к серии продуктов Oracle Exadata. Цены на Big Data Appliance пока неизвестны, однако, по имеющимся сведениям, они будут довольно высокими, что сохранит интерес заказчиков к альтернативным продуктам типа Cassandra, в первую очередь, чтобы не стать заложником одного поставщика.

Реализации

Некоторые реализации, в той или иной мере реализующие концепцию NoSQL:

Поколоночные СУБД:

Документо-ориентированные СУБД:

Хранилища «ключ-значение», кортежные хранилища:



РЕШЕНИЕ НА БАЗЕ (1) СМ. ТАКЖЕ (16)
Название решенияРазработчикКоличество
проектов
Oracle NoSQL DatabaseOracle0


Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2016 год
2017 год
2018 год

  Oracle (83, 205)
  Microsoft (46, 146)
  SAP SE (42, 125)
  PostgreSQL Global Development Group (9, 45)
  IBM (17, 17)
  Другие (242, 108)

  Oracle (7, 17)
  SAP SE (6, 16)
  Microsoft (3, 8)
  PostgreSQL Global Development Group (1, 8)
  Dell EMC (2, 2)
  Другие (10, 11)

  Oracle (8, 29)
  SAP SE (3, 10)
  Microsoft (3, 9)
  PostgreSQL Global Development Group (1, 8)
  Apache Software Foundation (3, 5)
  Другие (9, 11)

  Oracle (9, 28)
  Microsoft (2, 8)
  PostgreSQL Global Development Group (2, 8)
  SAP SE (2, 6)
  Apache Software Foundation (3, 3)
  Другие (11, 13)

Распределение базовых систем по количеству проектов, включая партнерские решения

За всю историю
2016 год
2017 год
2018 год

  Oracle Database - 23 (22, 1)
  PostgreSQL СУБД - 8 (8, 0)
  Microsoft SQL Server - 7 (6, 1)
  SAP HANA (High Performance Analytic Appliance) - 6 (5, 1)
  Apache Hadoop - 4 (3, 1)
  Другие 19

  Oracle Database - 20 (18, 2)
  PostgreSQL СУБД - 8 (7, 1)
  Microsoft SQL Server - 7 (7, 0)
  SAP HANA (High Performance Analytic Appliance) - 5 (5, 0)
  Tarantool - 3 (3, 0)
  Другие 19