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:

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

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

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