Ориентированные документами базы данных предназначены для замены реляционных баз данных?

StackOverflow https://stackoverflow.com/questions/2866086

Вопрос

Недавно я немного работал Монгодб И я должен сказать, что мне это действительно нравится. Однако это совершенно другой тип базы данных, то я использую. Я заметил, что это, безусловно, лучше для определенных типов данных, однако для сильно нормализованных баз данных это не может быть лучшим выбором.

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

  1. Разработаны ли ориентированные на документальные базы данных для следующего поколения баз данных и в основном замените реляционные базы данных полностью?
  2. Возможно ли, что проекты будут лучше с использованием базы данных, ориентированной на документы, так и реляционную базу данных рядом с различными данными, которые лучше подходят для одного или другого?
  3. Если документы, ориентированные на базы данных, не предназначены для замены реляционных баз данных, то у кого-нибудь есть пример структуры базы данных, которая абсолютно будет лучше в реляционной базе данных (или на Vice-Versa)?
Это было полезно?

Решение

Разработаны ли ориентированные на документальные базы данных для следующего поколения баз данных и в основном замените реляционные базы данных полностью?

Нет. Доброе ориентированные базы данных (например, MongoDB) очень хороши по типу задач, которые мы обычно видим в современных веб-сайтах (быстрые поиск отдельных предметов или небольших наборов предметов).

Но они делают большие компромиссы с реляционными системами. Без вещей, таких как кислотное соответствие, они не смогут заменить определенные RDBMS. И если вы посмотрите на системы, такие как MongoDB, отсутствие кислотного соответствия - это большая причина, это так быстро.

Возможно ли, что проекты будут лучше с использованием базы данных, ориентированной на документы, так и реляционную базу данных рядом с различными данными, которые лучше подходят для одного или другого?

да. На самом деле, я запускаю очень большой производственный веб-сайт, который использует оба. Система была запущена в MySQL, но мы перенесли часть его в MongoDB, B / C, нам нужен магазин ключа, и MySQL просто не очень хорош в нахождении одного элемента в рекордах 150 м.

Если документы, ориентированные на базы данных, не предназначены для замены реляционных баз данных, то у кого-нибудь есть пример структуры базы данных, которая абсолютно будет лучше в реляционной базе данных (или на Vice-Versa)?

Ориентированные на документацию базы данных Прекрасные хранения данных, которые легко содержатся в «Key-Value» и простых, линейных «родительских отношениях». Простые примеры вот такие вещи, как блоги и вики.

Однако, реляционные базы данных И все еще есть сильная нога на таких вещах, как отчетность, которая имеет тенденцию быть «настроенными».

Честно говоря, я вижу мир, на котором большинство данных «обрабатываются» путем ориентированной на документацию базы данных, но где отчетность выполняется в реляционной базе данных, которая обновляется на Map-United Jobs.

Другие советы

Это действительно вопрос фитнеса для целей.

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

Это классический компромисс. Реляционные базы данных предлагают вам целый набор функций, которые поставляются с стоимостью производительности. Если вы не сможете присоединиться, индексировать, сканировать или выполнить целый другой список функций, вы удалите необходимость просмотра всех данных, что дает вам производительность и распределение, необходимое для серьезных данных.

Кроме того, я рекомендую вам следовать в блогах Ayende Rahien по этой теме.

http://ayende.com/blog/

@Sohnee находится на месте. Я мог бы добавить эти реляционные базы данных

  • Превосходны для получения информации в неожиданных комбинациях - даже если иногда приводит к плохой идее обширных отчетов, проводимых по времени чувствительными к сроки производства, а не на отдельном хранилище данных.
  • Зрелые технологии, в которых вы можете легко найти персонал и хорошо проверенные решения для любого количества проблем (включая ограничения реляционной модели, а также несовершенную реализацию, которая является SQL).

Спросите себе, что вы хотите сделать, и что качества важны для вас. Вы можете сделать все программирование, связанные в сценариях оболочки. Вы хотите?

Я продолжаю задавать тот же вопрос, что это приземлилось здесь. Я использую как MySQL, так и MongoDB (не в тандеме в настоящее время, хотя и его идею). Я должен честно сказать, что я очень рад больше никогда не прикоснуться к mysql снова. Уверен, что есть «кислотная» соответствие, но вы когда-нибудь столкнулись с необходимостью починить ваши таблицы с помощью MySQL? У вас когда-нибудь была поврежденная база данных? Такое случается. У вас когда-нибудь были другие проблемы с MySQL? Любые блокирующие контакты или мертвые замки? Любые проблемы с кластеризом? Насколько легко было настроить и настроить?

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

Нет, у них нет присоединения, но это совершенно неверное утверждение, чтобы сказать, что это скидка более чем 99% потребностей в управлении данными. Я часто получаю оппозицию при попытке объяснить Монгодб, люди даже хмурились. Давайте просто сталкиваемся. Люди не хотят выучить новые вещи, и они думают, что то, что они знают, это все, что им нужно. Конечно, вы можете уйти, используя MySQL остальную часть своей жизни и построить свои веб-сайты. Работает, мы знаем, что это работает. Мы также знаем, что это не удается. Если этого не сделали, вы никогда не задали вопрос, и мы, вероятно, не увидим столько ориентированных на документацию баз данных. Мы знаем, что да, это делает масштаб, но это боль в задней части, чтобы масштабировать ее.

Также давайте устраним трафик и масштабирование с картинки. Выньте установку. Теперь давайте сосредоточимся на использовании. Какой твой опыт при использовании MySQL? Насколько вы хороши с архитектурой MySQL и делаете эффективные запросы? Сколько времени вы тратите, чтобы посмотреть на запросы с объяснением? Сколько времени вы тратите делать схема диаграммы? ... Я говорю, займет это время назад. Лучше потратить в другое место.

Это мои два цента. Я действительно люблю Mongodb и надеюсь никогда не использовать MySQL снова и для типа веб-сайтов, которые я строит, это возможно, что мне не нужно. Хотя я все еще пытаюсь выяснить, когда я хотел бы использовать MySQL через MongoDB, а не когда я могу (посмотрим на него, он хранит данные, поздравляю, я тоже могу написать тонну файлов XML, но это не хорошая идея) , но когда это выгодно использовать один или другой. Тем временем я собираюсь сделать свою работу с MongoDB и иметь меньше головных болей.

Пока вам не нуждаются в нескольких объектных транзакциях, MongoDB может быть благоприятной заменой для RDMBS, особенно в контексте веб-приложения. Скорость, схема и моделирование документов являются полезными для этого домена.

На мой взгляд, ориентированные на документальные базы данных только хороши для

  1. Базы данных, данные которых лучше представлены с использованием иерархической (дерева) моделью. Это не распространено для баз данных веб-сайтов.
  2. Базы данных с огромным количеством данных, таких как базы данных Facebook и Amazon. В этом случае требуется пожертвовать преимуществами реляционной модели.

AFAIK, базы данных документов не присоединяются. Это в значительной степени шоу-пробка для> 99% потребностей в управлении данными.

Поскольку Matthew Flaschen указывает в комментарии, даже на рабочем столе, такие базы данных, как SQLite, представляют SQL SEMANTICS в области, которые имеют традиционно используемые форматы файлов подвеска или XML.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top