Является ли SQL «ассемблером» мира баз данных NoSQL? - PullRequest
1 голос
/ 22 января 2010

Недавно я столкнулся с http://www.fossil -scm.org / index.html / doc / tip / www / теория1.wiki Д. Ричардом Хиппом, разработчиком, отвечающим за SQLite.

мне кажется, Fossil - единственная база данных NoSQL, которая использует SQL?

Используют ли другие SQL как «язык сценариев высокого уровня»?

Ответы [ 2 ]

7 голосов
/ 23 января 2010

Судя по статье, Fossil - это не база данных, а git. Да, это вещь, которая содержит данные, и да, она поддерживается базой данных, но кажется, что она довольно далека от самой базы данных. Итак, первая часть вашего вопроса в основном основана на ошибочном предположении. Существует база данных под названием Friendly , которая использует MySQL для хранения моделей без схем, но в лучшем случае она выглядит как неуклюжее решение.

Я, конечно, не знаком со всеми опциями NoSQL, но, насколько мне известно, ни один из хорошо известных не использует SQL ни для чего. MongoDB и CouchDB, два из них, с которыми я наиболее знаком, используют Javascript как часть своего интерфейса запросов, хотя и по-разному. MongoDB имеет запросы, более похожие на те, которые вы ожидаете от реляционной базы данных: вы можете написать произвольный запрос для всех документов, которые соответствуют определенному набору атрибутов. Однако, в отличие от реляционной базы данных, нет такой вещи, как объединение (вы когда-либо получите список отдельных документов, а не составных документов), и вы можете написать произвольный код Javascript для выбора документов. CouchDB, с другой стороны, не допускает произвольных запросов. Вместо этого вы создаете представления (которые по сути являются более простыми хранилищами значений ключей), используя функции map / lower, написанные на Javascript, а затем запрашиваете эти представления от начального ключа до конечного ключа.

В обоих случаях тип информации, передаваемой на сервер для выполнения запроса, не совсем подходит для типа проблемы, которую SQL хорошо решает. Компромисс между SQL и его столь высоким уровнем (если использовать логику автора статьи) заключается в том, что он подходит только для очень узкого круга проблем.

1 голос
/ 24 декабря 2012

Создатель Fossil / SQLite работает и выдвигает UnQL в качестве стандарта NoSQL:

UnQL означает неструктурированный язык запросов.

Это открытый язык запросов для JSON, полуструктурированный и документ базы данных.

Это выглядит как урезанная версия SQL.

...