- NoSQL
-
NoSQL (англ. not only SQL, не только SQL), в информатике — термин, обозначающий ряд подходов, проектов, направленных на реализацию моделей баз данных, имеющих существенные отличия от используемых в традиционных реляционных СУБД с доступом к данным средствами языка SQL. Описание схемы данных в случае использования NoSQL-решений может осуществляться через использование различных структур данных: хеш-таблиц, деревьев и других.
Содержание
NoSQL и SQL
Сторонниками концепции NoSQL подчёркивается, что она не является полным отрицанием языка SQL и реляционной модели, проект исходит из того, что SQL — это важный и весьма полезный инструмент, но при этом он не может считаться универсальным. Одной из проблем, которую указывают для классических реляционных БД, являются проблемы при работе с данными очень большого объема и в проектах с высокой нагрузкой. Основная цель подхода — расширить возможности БД там, где SQL недостаточно гибок, и не вытеснять его там, где он справляется со своими задачами .
Методологические основы
Сайт nosql-database.org[неавторитетный источник?] утверждает, что в основе идеи NoSQL лежит следующее:
- Нереляционная модель данных
- Открытый исходный код
- Хорошая горизонтальная масштабируемость.
В качестве одного из методологических обоснований подхода 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:
Поколоночные СУБД:
Документо-ориентированные СУБД:
Хранилища «ключ-значение», кортежные хранилища:
- Azure Table Storage
- MEMBASE
- Redis
- Chordless
- LevelDB
Базы данных на основе графов:
Примечания
- ↑ 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
- ↑ UnQL Query Language Unveiled by Couchbase and SQLite
- ↑ Welcome to the UnQL Specification home
- ↑ Создатели CouchDB и SQLite представили UnQL, аналог SQL для систем NoSQL, новость на OpenNet
Для улучшения этой статьи желательно?: - Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
- Проверить достоверность указанной в статье информации.
Категория:- NoSQL базы данных
Wikimedia Foundation. 2010.