Light-industry-up.ru

Экосистема промышленности

NoSQL

19-10-2023

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

Содержание

NoSQL и SQL

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

Методологические основы

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

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

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


UnQL

В июле 2011 компания Couchbase, разработчик CouchDB, Memcached и Membase, анонсировала создание нового SQL-подобного языка запросовUnQL (Unstructured Data Query Language). Работы по созданию нового языка выполнили создатель SQLite Ричард Гипп (англ. Richard Hipp) и основатель проекта CouchDB Дэмиен Кац (англ. Damien Katz). Разработка передана сообществу на правах общественного достояния.[2][3][4]

Реализации

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

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

  • Hadoop / HBase
  • Cassandra
  • Hypertable
  • Cloudata
  • Cloudera
  • Amazon SimpleDB
  • SciDB

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

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

Базы данных на основе графов:

Примечания

  1. A Certain Freedom: Thoughts on the CAP Theorem (англ.) // Proceeding of the IXXX ACM SIGACT-SIGOPS symposium on Principles of distributed computing. — N. Y.: 10.1145/1835698.1835701
  2. UnQL Query Language Unveiled by Couchbase and SQLite
  3. Welcome to the UnQL Specification home
  4. Создатели CouchDB и SQLite представили UnQL, аналог SQL для систем NoSQL, новость на OpenNet


NoSQL.

© 2014–2023 light-industry-up.ru, Россия, Краснодар, ул. Листопадная 53, +7 (861) 501-67-06