Отказ от ответственности: это широкий вопрос, поэтому его можно перенести в другой источник (если администраторы сочтут это целесообразным).
Кажется, что все классные ребята отказываются от реляционных баз данных в пользу своих аналогов на NoSQL. У каждого будут свои причины, от проблем с масштабированием до простой передовой технологии. И я здесь не для того, чтобы ставить под сомнение их мотивы.
Однако меня интересует, проверяли ли какие-либо переходы NoSQL производительность (обслуживание) по сравнению с традиционной СУБД, когда отношения были отброшены. Зачем нам использовать СУБД, если основная причина, по которой она существует, отброшена? На ум приходит несколько причин
- 30 + лет академических и трудовых исследований в разработке этих систем
- Хорошо известный язык в языке структурированных запросов (SQL).
- Стабильная и зрелая поддержка ORM в разных технологиях (Hibernate, ActiveRecord)
Очевидно, что в современном мире, где важно горизонтальное масштабирование, необходимо убедиться, что сегменты являются отказоустойчивыми, обновляются в течение промежутков времени, требуемых приложением, и т. Д. Однако эти потребности не обязательно должны быть ответственность системы, которая хранит данные (пример: ZooKeeper).
Кроме того, я признаю, что исследования должны быть посвящены NoSQL, и что время, проведенное на этой арене, несомненно, приведет к созданию более достойных интернет-технологий. Однако сравнение видов между NoSQL и традиционными предложениями СУБД (за вычетом отношений) было бы полезно при принятии деловых решений.
ОБНОВЛЕНИЕ 1 : Когда я имею в виду базы данных NoSQL, я имею в виду хранилища данных, которые могут не требовать фиксированных схем таблиц и обычно избегают операций объединения. Следовательно, акцент в вопросе об отбрасывании отношений в традиционной СУБД SQL