Разработчики: | 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. «Группа Астра» в свободном доступе опубликовала курс по российской службе каталога ALD Pro для обучения администраторов
Гибкость схем в платформе NoSQL позволяет корпоративным заказчикам добавлять и использовать новые атрибуты данных при первой необходимости. Это большой шаг вперед по сравнению с традиционными реляционными СУБД, которые нужно проверять при каждом изменении в структуре данных.
Современным динамичным предприятиям, в том числе крупным компаниям электронной коммерции и социальным сетям, платформа NoSQL станет отличным решением. Например, сеть Facebook использует открытый продукт Cassandra, который представляет собой транзакционную базу данных на платформе NoSQL. Система Cassandra позволяет часто вносить изменения в схему БД и добавлять новые атрибуты для профилей и взаимодействий между пользователями.
Еще одно преимущество системы Cassandra и других решений с открытым исходным кодом является низкая стоимость, поскольку эти решения изначально ориентированы на работу с массовыми моделями оборудования. Стоимость решений на базе Cassandra и аналогов на порядок ниже аналогичных по производительности решений на базе реляционных СУБД. В то же время, главная цель технологии Oracle NoSQL состоит не в том, чтобы снизить затраты, а в том, чтобы стать главной программной платформой для будущего решения Big Data Appliance. СУБД-серверы Big Data Appliance будут построены на оборудовании Sun и станут необходимым дополнением к серии продуктов Oracle Exadata. Цены на Big Data Appliance пока неизвестны, однако, по имеющимся сведениям, они будут довольно высокими, что сохранит интерес заказчиков к альтернативным продуктам типа Cassandra, в первую очередь, чтобы не стать заложником одного поставщика.
Реализации
Некоторые реализации, в той или иной мере реализующие концепцию NoSQL:
Поколоночные СУБД:
Документо-ориентированные СУБД:
Хранилища «ключ-значение», кортежные хранилища:
Название решения | Разработчик | Количество проектов | Технологии |
---|---|---|---|
Oracle NoSQL Database | Oracle | 0 | СУБД |
Подрядчики-лидеры по количеству проектов
SAP CIS (САП СНГ) (38)
Softline (Софтлайн) (35)
РДТЕХ (33)
BeringPro (БерингПойнт) ранее BearingPoint Russia (28)
ФОРС - Центр разработки (25)
Другие (733)
Сапиенс солюшнс (Sapiens solutions) (7)
Navicon (Навикон) (3)
BeringPro (БерингПойнт) ранее BearingPoint Russia (3)
GlowByte, ГлоуБайт (ранее Glowbyte Consulting, ГлоуБайт Консалтинг) (2)
IFellow (АйФэлл) (2)
Другие (35)
РДТЕХ (1)
IBS (1)
Ред Софт (Red Soft) (1)
InnoSTage (Инностейдж) (1)
Сбербанк-Технологии (СберТех) (1)
Другие (20)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Oracle (44, 179)
SAP SE (6, 178)
Microsoft (23, 142)
PostgreSQL Global Development Group (14, 126)
Постгрес профессиональный (ППГ, Postgres Professional) (6, 40)
Другие (263, 242)
SAP SE (3, 11)
Microsoft (3, 11)
PostgreSQL Global Development Group (3, 10)
Oracle (2, 4)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 3)
Другие (10, 13)
PostgreSQL Global Development Group (4, 9)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 6)
VK Tech (ранее VK Цифровые технологии, ВК Цифровые технологии и Mail.ru Цифровые технологии) (2, 3)
Arenadata (Аренадата Софтвер) (3, 2)
Oracle (2, 2)
Другие (9, 9)
PostgreSQL Global Development Group (3, 13)
Постгрес профессиональный (ППГ, Postgres Professional) (1, 6)
Arenadata (Аренадата Софтвер) (3, 5)
Apache Software Foundation (ASF) (3, 4)
Тантор Лабс (Tantor Labs) (2, 3)
Другие (8, 10)
PostgreSQL Global Development Group (4, 11)
Arenadata (Аренадата Софтвер) (3, 6)
VMware (2, 6)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 5)
Сбербанк-Технологии (СберТех) (2, 2)
Другие (5, 7)
Распределение систем по количеству проектов, не включая партнерские решения
Oracle Database - 106
Microsoft SQL Server - 104
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 103
PostgreSQL СУБД - 80
SAP HANA (High Performance Analytic Appliance) - 72
Другие 374
Microsoft SQL Server - 9
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 8
PostgreSQL СУБД - 7
Oracle Database - 3
SAP HANA (High Performance Analytic Appliance) - 3
Другие 21
Postgres Pro СУБД - 5
ADB - Arenadata DB - 2
PostgreSQL СУБД - 2
Tarantool Платформа in‑memory вычислений - 2
Oracle Database - 2
Другие 13
Postgres Pro СУБД - 6
PostgreSQL СУБД - 4
ADB - Arenadata DB - 3
Tantor СУБД - 3
Apache Kafka - 2
Другие 10
PostgreSQL СУБД - 5
ADB - Arenadata DB - 5
Postgres Pro СУБД - 3
Diasoft Digital Q.Database - 2
ADH - Arenadata Hadoop - 2
Другие 9