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:
|
Примечания [править]
- ↑ 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: новая методология разработки нереляционных баз данных = NoSQL Distilled. — М.: «Вильямс», 2013. — 192 с. — ISBN 978-5-8459-1829-1
- Леонид Черняк Смутное время СУБД // Открытые системы. — 2012. — № 2.
| Это заготовка статьи о программном обеспечении. Вы можете помочь проекту, исправив и дополнив её. |
Для улучшения этой статьи желательно?:
|