Для пары ключ-значение с простыми значениями разве реляционная база данных не так хороша, как база данных без SQL, такая как Redis? - PullRequest
1 голос
/ 16 июня 2019

Рассмотрим пару ключ-значение, в которой ключи и значения являются строками. например.. Пара ключ-значение, которая отображается из длинного URL в короткий URL и наоборот. Длинный URL-> Короткий URL. Основным преимуществом no-SQL является то, что не требуется никаких объединений таблиц, поскольку все данные (которые распределены по множеству таблиц в реляционной базе данных) хранятся как один документ (Couchbase) или одно значение (Redis). В этом случае нашим значением является простая строка, а не какой-либо объект, который распределен по нескольким таблицам.

Таким образом, здесь не требуется никаких объединений или множественных таблиц, и база данных без SQL здесь не лучше. Реляционная база данных будет одинаково хороша. Или даже для простых значений, базы данных без SQL (например, Redis, который является хранилищем пар ключ-значение) превосходят реляционные базы данных?

1 Ответ

0 голосов
/ 16 июня 2019

Я думаю, что ваше общее понимание проблемы является правильным, хотя поставщики NoSQL, вероятно, заявили бы, что они также предлагают другие преимущества - главным образом, "масштабирование [на величину, возможную только при возможной согласованности]".

Они, вероятно, не скажут вам, что многие базы данных SQL также могут масштабироваться в некоторой степени (часто посредством репликации, но есть и более продвинутые концепции). Однако, поскольку большинство баз данных SQL соответствуют строгой модели согласованности SQL, возможности масштабирования обычно ограничены расширением, которое возможно без отказа от согласованности. Но даже там существуют исключения - например, репликация asynchrosnus (для загрузки только для чтения), репликация «master-master» (для загрузки чтения / записи).

Относительно вашего исходного вопроса (нормализация, объединения) Я также хотел бы добавить, что база данных SQL не требует, чтобы вы разбивали свои данные на отдельные столбцы или распределяли их по таблицам. Они предлагают таким же образом, но также позволяют хранить документ JSON в одном столбце, существенно расширяя ваш аргумент для всех хранилищ документов.

Если вы можете сэкономить 15 минут, посмотрите на эту видеозапись видеозаписи, которую я дал: https://www.youtube.com/watch?v=swR33jIhW8Q

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...