Там какие-либо стандарты NoSQL появляются? [закрытый]

8
задан Sruly 9 August 2010 в 12:15
поделиться

4 ответа

Суть NoSQL в том, что не существует стандартных решений . Все проблемы с хранением данных индивидуальны, и вам необходимо выбрать технологию хранения данных, которая подходит для вашей конкретной проблемы, а не является «стандартной».

В этом вся предпосылка « Not Only SQL ».

Возьмем, к примеру, ACID (вот несколько советов, которые вы никогда не думали, что попадете на StackOverflow или еще где-нибудь после 1987 года :-)). Существует множество проблем, для которых не требуются гарантии ACID. Для этих проблем ACID - излишество. Избыток, который приводит к потере ввода-вывода, потраченным впустую циклам процессора, потере производительности.Это означает потраченное впустую тепло и энергию, что, в свою очередь, означает потраченные впустую деньги на счета за электричество и коммунальные услуги.

Для некоторых проблем требуются только более слабые формы этих гарантий. Например, для большого количества веб-приложений достаточно так называемой конечной согласованности . Для других проблем требуются более высокие гарантии, чем те, которые предоставляет ACID в стиле SQL.

Итак, некоторые базы данных NoSQL не имеют гарантий ACID или имеют их только в более слабой форме. Некоторые могут включать и выключать их для каждой БД. Некоторые могут включать и выключать A, C, I и D индивидуально для каждой БД. Некоторые могут не только включать и выключать A, C, I и D по отдельности, но и настраивать их по скользящей шкале. Некоторые могут даже сделать это для каждого запроса .

Если у вас есть иерархические данные, сохраните их в иерархической базе данных. Если у вас есть данные графика, сохраните их в базе данных графиков. Если у вас есть данные "ключ-значение", сохраните их в базе данных "ключ-значение". Если у вас есть полуструктурированные данные документа, сохраните их в базе данных документов. Если у вас есть семантические данные RDF, сохраните их в тройной базе данных. Если вы создаете хранилище данных, храните его в базе данных столбцов. А если у вас есть реляционные данные, непременно сохраните их в реляционной базе данных. (Но только , если у вас на самом деле есть реляционные данные!)

17
ответ дан 5 December 2019 в 06:52
поделиться

Единого стандартного решения NoSQL не существует, как объяснил Йорг (+1). Термин NoSQL охватывает широкий спектр типов баз данных, каждый из которых предназначен для конкретной области данных.

В серии статей Айенде That No SQL Thing рассматриваются некоторые из основных решений NoSQL и отмечаются сильные и слабые стороны каждого типа. Он обсуждает следующие типы:

  • Хранилища ключей/значений
  • Хранилища семейства колонок
  • Базы данных документов
  • Графовые базы данных

Вы можете рассматривать эти различные типы как стандарты в рамках NoSQL. Помните, что каждый из них специализирован для решения определенных задач хранения данных. Не существует решения "один размер подходит всем": все они будут продолжать существовать.

4
ответ дан 5 December 2019 в 06:52
поделиться

Некоторые люди задумывались о стандартах для баз данных документов: http://nosql.mypopescu.com/post/731261002/a-common-nosql-query-language .

Однако хранилища "ключ-значение" и базы данных документов не объединяются, а это означает, что их языки запросов просты и легки для изучения. В таком общем языке, как SQL, меньше необходимости.

Однако разработчики .NET могут использовать LINQ для доступа к MongoDB и RavenDB из базы данных документа, а некоторые люди разрабатывают поставщика LINQ для документирования базы данных CouchDB: http://github.com/sinesignal/ottoman . LINQ - это не стандарт NoSQL, а стандарт всего, что связано с данными. Вы также можете использовать его для связи с реляционной базой данных или XML-файлом.

Графические базы данных сильно отличаются от хранилищ «ключ-значение» и баз данных документов. Не думаю, что их можно объединить в один стандарт. Я действительно не знаю, можно ли разработать поставщика LINQ для базы данных графов. Думаю, нет, но я не уверен.

1
ответ дан 5 December 2019 в 06:52
поделиться

Некоторые продукты NoSQL поддерживают SQL или его супернабор. Это случай OrientDB, документно-графической nosql dbms с поддержкой SQL. Она выпущена под лицензией Apache 2.

Более того, она может экспортировать документ в формате JSON (вы можете экспортировать/импортировать всю базу данных в JSON). Другие продукты NoSQL читают/записывают JSON.

пока, Lvc@

0
ответ дан 5 December 2019 в 06:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: