Слабые стороны с различными типами баз данных NoSQL

10

Вот мой вопрос: каковы недостатки с различными типами баз данных NoSQL? В частности, каковы недостатки хранилищ значений ключей, хранилищ данных графиков и хранилищ документов?

Мне было легко найти сильные стороны, но документы о слабых сторонах кажутся скуднее.

Изменить: по сравнению друг с другом, и реляционных баз данных.

Aedilum
источник

Ответы:

7

Самая большая сила / слабость любого распределенного хранилища данных проистекает из теоремы CAP. См. Http://blog.nahurst.com/visual-guide-to-nosql-systems для краткого изложения того, что это означает на практике для большого количества систем NoSQL, которые там существуют.

btilly
источник
1
Обратите внимание, что это не является особым недостатком NOSQL. Теорема CAP в равной степени применима к любому распределенному хранилищу данных: SQL, NOSQL, реляционному или нереляционному.
nvogel
6

Если вы сравниваете их с реляционными базами данных, очевидным недостатком является то, что хранилища ключ-значение не являются реляционными. Следовательно, может быть сложнее писать отчеты с использованием хранилищ значений ключей, чем с использованием реляционной базы данных, для которой такие отчеты и извлечение данных специально предназначены.

Роберт Харви
источник
Хорошо, а как насчет двух других? Насколько я могу судить, например, графовые базы данных - все об отношениях.
Aedilum
1
@Aedilum: Мой опыт в основном связан с реляционными базами данных, но я подозреваю, что хранилища значений ключей, хранилищ данных графиков и хранилищ документов решают конкретные проблемы. Вообще говоря, каждый из них будет сильным в проблемной области, для которой он специально разработан, и слабым в других областях.
Роберт Харви
2

Это очень субъективно, то, что вы думаете, может быть слабостью, кто-то может подумать, что это его самая сильная сторона.

Все базы данных NoSQL, которые в настоящее время популярны, решают проблемы, в которых существующие системы РСУБД были слабыми, и они, как правило, специализируются на одной конкретной проблеме, которую разработчик пытался решить.

Таким образом, недостатком любого продукта является его неспособность делать то, что вам нужно, чтобы делать это эффективным образом во времени или пространстве.


источник
Действительно, одна из вещей, которые я узнал о NoSQL, заключается в том, что все они созданы для решения проблем, с которыми СУБД сталкиваются с трудностями, таких как массовое выполнение операций за короткие промежутки времени или сложные отношения.
Aedilum
1

Начну с того, что мне нравятся базы данных NoSQL, и я нахожусь в процессе отказа от наших баз данных и приложений на основе SQL, где это имеет смысл. Этот процесс выявил одну серьезную слабость - оперативной истории просто еще нет. Что я имею в виду под этим:

  • NoSQL по-прежнему быстро движущаяся цель. Вы должны быть очень близко знакомы с этим, чтобы знать, что изменилось между версиями. С оперативной точки зрения это создает несколько трудностей - системные администраторы используются для обоснованного документирования материалов с лучшими практиками. Когда лучшие практики не определены, им становится немного страшно.
  • Очень, очень немногие люди знакомы с управлением ими за пределами сообщества разработчиков. Это усложняет задачу, когда вы хотите передать продукт операциям и покончить с ним.
  • Лучшие типы операций, как правило, способны обрабатывать легкий SQL и, по крайней мере, распознавать его. Json или что-нибудь из того, что говорит ваш nosql, является чем-то вроде кривой обучения.
  • Репутация - сложная вещь - потеря данных очень страшна для типов операций. Они пришли к убеждению, что базы данных SQL переживут ядерную катастрофу. NoSQL будет чем-то вроде коммерческой работы там.

Время от времени возникает другая сложная задача: многие пользовательские инструменты могут напрямую подключаться к базам данных sql, NoSQL по-прежнему требует от разработчика прохождения этого моста.

Уайетт Барнетт
источник
Итак, итог ... Нет никаких реальных слабостей по всем направлениям, которые не связаны с младенчеством продуктов NoSQL?
Aedilum
@Aedilum: Это младенчество довольно большое предостережение.
Роберт Харви
@ Роберт Харви: детство порождает множество проблем. @Aedilum: как жанр, не существует ужасной слабости, предполагающей, что вы делаете что-то со своей базой данных NoSQL, что имеет смысл, и у вас есть возможность управлять ею, включая развертывание собственного решения в темноте ночи, когда производство падает потому что нет руководства и платной поддержки. Есть смысл?
Уайетт Барнетт