Я думаю, что после изучения нескольких страниц на эту тему все зависит от типов данных, с которыми вы имеете дело.
RDBMSes представляют собой подход сверху вниз, где вы, разработчик базы данных, утверждаете структуру всех данных, которые будут существовать в базе данных. Вы определяете, что у человека есть первое, последнее, среднее имя и домашний адрес и т. Д. Вы можете применить это с помощью РСУБД. Если у вас нет колонки для HomePlanet Person, вам не повезет, если у вас есть другая HomePlanet, чем Земля; вам придется добавить столбец на более позднюю дату или данные не могут быть сохранены в СУБД. Большинство программистов так или иначе делают такие предположения в своих приложениях, поэтому это не глупо, а принимать и применять. Определение вещей может быть хорошим. Но если вам нужно записывать дополнительные атрибуты в будущем, вам придется добавить их. Модель отношения предполагает, что ваши атрибуты данных не будут сильно меняться.
базы данных типа «облака», использующие что-то вроде MapReduce, в вашем случае CouchDB, не делайте вышеуказанное предположение и вместо этого смотрите данные снизу вверх. Данные вводятся в документы, которые могут иметь любое количество различных атрибутов. Он предполагает, что ваши данные по самому своему определению разнообразны по типам атрибутов, которые он мог бы иметь. В нем говорится: «Я просто знаю, что у меня есть этот документ в базе данных Person, у которого есть атрибут HomePlanet« Eternium »и FirstName« Lord Nibbler », но нет LastName». Эта модель подходит для веб-страниц: все веб-страницы являются документом, но фактическое содержимое/теги/ключи документа сильно варьируются, поэтому вы не можете вместить их в жесткую структуру, с которой СУБП может справиться с высокой. Вот почему Google думает, что Mapxeduce моделирует роксеры соксеры, поскольку набор данных Google настолько разнообразен, что ему нужно строить для двусмысленности из-за выхода, и благодаря массивным наборам данных можно использовать параллельную обработку (которая MapReduce делает тривиальным) , Модель документа-базы данных предполагает, что атрибуты ваших данных могут/будут сильно изменяться или быть очень разнообразными с «пробелами» и множеством малонаселенных столбцов, которые можно найти, если данные были сохранены в реляционной базе данных. Хотя вы можете использовать RDBMS для хранения данных, подобных этому, он будет очень уродливым.
Чтобы ответить на ваш вопрос, вы не можете думать «реляционно» вообще, глядя на базу данных, использующую парадигму MapReduce. Потому что на самом деле у него нет принудительного отношения. Это концептуальный горб, который вам нужно будет преодолеть.
Хорошая статья, я столкнулся, что сравнивает и противопоставляет две баз данных, довольно хорошо это MapReduce: A Major Step Back, который утверждает, что MapReduce база данных парадигм являются технологическим шагом назад, и уступает RDBMSes. Я должен не согласиться с тезисами автора и представить, что разработчику базы данных просто нужно будет выбрать правильный вариант для его/ее ситуации.
Маловероятно, что вы когда-либо узнавали реляционные знания БД. Это одна из тех тем, у которой много дезинформации о том, что она прошла как законная. Когда-либо читал книгу Криса Дайта? если бы у вас было, вы, вероятно, не пытались использовать CouchDB. Вы бы знали лучше. – Breton
Тем не менее, просто представьте, что у вас есть одна таблица с именем «документы» с таким количеством столбцов, которые были автоматически созданы, как вам нужно, и я думаю, что у вас есть хорошее приближение к тому, что это такое: БД домена (думаю, блоги) – Breton
@Brenton Привет, Эй! Получите ваши факты правильно. Это C J Дата для вас. :) –