NoSQL

NoSQL

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

Содержание

NoSQL и SQL

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

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

Сайт 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

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

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

  • Azure Table Storage
  • MEMBASE
  • Redis
  • Chordless
  • LevelDB

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

  • AllegroGraph
  • DEX
  • InfiniteGraph
  • Neo4j
  • OrientDB
  • FlockDB
  • Sones GraphDB
  • Pregel

Примечания

  1. Brewer, Eric A. A Certain Freedom: Thoughts on the CAP Theorem (англ.) // Proceeding of the IXXX ACM SIGACT-SIGOPS symposium on Principles of distributed computing. — N. Y.: ACM, 2010. — В. 29. — № 1. — С. 335-336. — ISBN 978-1-60558-888-9. — DOI: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



Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "NoSQL" в других словарях:

  • NoSQL — (steht für englisch Not only SQL) ist eine Bewegung, eine neue Art von Datenbanken voranzutreiben. Es handelt sich dabei um Datenbanken, die einen nicht relationalen Ansatz verfolgen und damit mit der langen Geschichte von relationalen… …   Deutsch Wikipedia

  • Nosql — est un mouvement relatif aux bases de données, entamé au printemps 2009. Le terme se réfère à certaines données non relationnelles stockées. Des tendances dans les architectures informatiques visent à améliorer les bases de données dans une… …   Wikipédia en Français

  • NoSQL — es un término usado en informática para agrupar una serie de almacenes de datos no relacionales que no proporcionan garantías ACID. Normalmente no tienen esquemas fijos de tablas ni sentencias join .[1] Contenido 1 Historia del término 2 Ventajas …   Wikipedia Español

  • NoSQL — This article is about the class of database management systems. For the specific relational database management software, see NoSQL (RDBMS). Structured storage redirects here. It is not to be confused with COM Structured Storage. In computing,… …   Wikipedia

  • NoSQL — En informatique, NoSQL est un buzzword pour désigner une catégorie de système de gestion de base de données (abr. SGBD) destinés à manipuler des bases de données géantes pour des sites web de très grande audience tels que Google, Amazon.com,… …   Wikipédia en Français

  • NoSQL (RDBMS) — This article is about a specific relational database management system. For for a class of non relational database management systems, see NoSQL. NoSQL is a shell based relational database management system that runs under Unix like operating… …   Wikipedia

  • Strozzi NoSQL (RDBMS) — NoSQL (wird manchmal auch nosequel gelesen) ist ein von Carlo Strozzi entwickeltes portables relationales Datenbankverwaltungssystem. Es ist eigentlich ein Softwarewerkzeug auf Unix Shell Ebene, das keine willkürlichen Einschränkungen hat, außer… …   Deutsch Wikipedia

  • Cloud database — A cloud database is a database running on Cloud Computing platform, such as Amazon EC2, GoGrid and Rackspace. There are two common deployment models: Users can run databases on the cloud independently, using a Virtual Machine image, or they can… …   Wikipedia

  • Теорема CAP — (известная также как теорема Брюера), в информатике  эвристическое утверждение о том, что в любой реализации распределённых вычислений возможно обеспечить не более двух из трёх следующих свойств: согласованность данных… …   Википедия

  • MongoDB — Developer(s) 10gen Initial release 2009 Stable release 2.0.1 / October 22, 2011; 31 days ago ( …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»