NoSql Referential Data

Отказ от ответственности: под ссылочными данными я не имею в виду ссылочную целостность

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

В системе nosql вы можете создать документ статьи таким образом, потому что они всего лишь граф замаскированных объектов

{
title: "Learn nosql in 5 minutes",
slug: "nosql_is_easy", 
author: {firstName: "Smarty"
          lastName: "Pants"
}

{
title: "Death to RDBMS",
slug: "rdbms_sucks", 
author: {firstName: "Smarty"
          lastName: "Pants"
}

и так далее ...

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

Итак, у меня такой вопрос: как моделировать данные в nosql, чтобы они соответствовали базовым сценариям использования CMS, чтобы производительность была на уровне или выше, чем у RDBMS ? mongodb , например, заявляет, что CMS является вариантом использования ...

Edit :

Немногие люди уже предлагали нормализовать данные, например:

article 
{
title: "Death to RDBMS",
slug: "rdbms_sucks", 
author: {id: "10000001"}
}

author
{
name: "Big Brother",
id: "10000001"
}

Однако, поскольку nosql, Из-за отсутствия объединений вам придется использовать функции, подобные mapreduce, для объединения данных. Если это ваше предложение, прокомментируйте, как выполнялась такая операция.

Редактировать 2:

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

Редактировать 3:

Nosql не означает нереляционный

15
задан Bochen Lin 13 August 2018 в 05:26
поделиться