Я не думаю, что вопрос должен быть неструктурированным или неструктурированным. Это больше о производительности для большого количества данных. У меня есть некоторый опыт, пытаясь сделать базу данных SQL в неструктурированном хранилище данных. В моем случае у меня была куча динамических (JSON) объектов, которые нужно было входить в таблицу. Я использовал SQL, потому что объекты были связаны друг с другом через отношения родитель-потомок (то есть самосоединение). Он отлично работал для набора тестовых данных около 5000 объектов.
Использование SQL
ОДНАКО, моя производственная база содержит около 3gb ценность данных (около 1 миллионов объектов, плюс-минус). Я потратил несколько недель на создание и оптимизацию своих подключений и запросов в sql. Я смог достичь максимальной производительности около 10 мс, чтобы вернуть несколько узлов из выбранного места в дереве.Затем я столкнулся с необычными проблемами производительности запросов, которые можно было решить только путем реструктурирования индексов и/или удаления и повторного создания хранимых процедур. Я потратил столько времени, чтобы сохранить проклятую базу данных SQL, поскольку я кодировал остальную часть моего приложения. Нехорошо. (О, и я должен упомянуть, что у меня около трех лет практического опыта DBA с SQL-сервером, поэтому я отнюдь не новичок в игре).
Использование Couchbase
Быстро вперед 18 месяцев. Теперь я использую Couchbase
(популярная база данных nosql). Я смог получить идентичную функциональность от CB, используя представления и карту/уменьшить. Я потратил одну неделю на то, чтобы начать развертывание CB. Задержка поиска запросов - это субмиллисекунда. Конечный пользователь отмечает резкое увеличение производительности.
Bottom Line
Если у вас есть много данных, вы собираетесь быть трудно нажиму, чтобы найти ситуацию, когда SQL придет в какой-либо производительности в NoSQL архитектуры базы данных, независимо от того, как структурирован или неструктурированные данные.
Неструктурированные данные не являются изображениями или текстовыми файлами. Это набор данных, в которых одна запись не похожа на другую. Структурированные данные предполагают, что общие поля между записями, добавление поля изображения или текстового поля в порядке, это все еще только поле. Становится проблематичным поиск текста, но выполнимый ... Неструктурированный будет представлять собой ряд текстовых ответов на вопрос, например, где вы хотите искать общий шаблон (сколько людей ответили положительно). Этот тип поиска не является силой SQL. – Sparky