Концепция семейства столбцов и модель данных
Я исследую различные типы типов баз данных NoSQL и пытаюсь обдумать модель данных магазинов семейства столбцов, таких как Bigtable, HBase и Cassandra.
Первая модельНекоторые люди описывают семейство колонн какколлекция строкгде каждая строка содержит столбцы[1], [2], Пример этой модели (семейства столбцов в верхнем регистре):
{
"USER":
{
"codinghorror": { "name": "Jeff", "blog": "http://codinghorror.com/" },
"jonskeet": { "name": "Jon Skeet", "email": "[email protected]" }
},
"BOOKMARK":
{
"codinghorror":
{
"http://codinghorror.com/": "My awesome blog",
"http://unicorns.com/": "Weaponized ponies"
},
"jonskeet":
{
"http://msmvps.com/blogs/jon_skeet/": "Coding Blog",
"http://manning.com/skeet2/": "C# in Depth, Second Edition"
}
}
}
Вторая модельДругие сайты описывают семейство столбцов как группу связанных столбцов.в ряд [3], [4], Данные из предыдущего примера смоделированы следующим образом:
{
"codinghorror":
{
"USER": { "name": "Jeff", "blog": "http://codinghorror.com/" },
"BOOKMARK":
{
"http://codinghorror.com/": "My awesome blog",
"http://unicorns.com/": "Weaponized ponies"
}
},
"jonskeet":
{
"USER": { "name": "Jon Skeet", "email": "[email protected]" },
"BOOKMARK":
{
"http://msmvps.com/blogs/jon_skeet/": "Coding Blog",
"http://manning.com/skeet2/": "C# in Depth, Second Edition"
}
}
}
Возможное обоснованиепервая модель является то, что не все семейства столбцов имеют отношение какUSER
а такжеBOOKMARK
делать. Это подразумевает, что не все семейства столбцов содержат идентичные ключи. Размещение семейств столбцов на внешнем уровне кажется более естественным с этой точки зрения.
Название «семейство столбцов» подразумевает группу столбцов. Именно так представлены семейства столбцов ввторая модель.
Обе модели являются действительными представлениями данных. Я понимаю, что эти представления предназначены исключительно для передачи данных людям; приложения не «думают» о данных таким образом.
ВопросЧто такое «стандартное» определение семейства столбцов? Это коллекция строк или группа связанных столбцов в строке?
Я должен написать статью на эту тему, поэтому мне также интересно, как люди обычно объясняют концепцию «семьи колонок» другим людям. Обе эти модели, кажется, противоречат друг другу. Я хотел бы использовать «правильную» или общепринятую модель для описания магазинов семейства столбцов.
ОбновитьЯ согласился со второй моделью для объяснения модели данных в моей статье. Я все еще интересуюсь тем, каквы Объясните модель данных магазинов семейства столбцов другим людям.