Я исследую различные типы типов БД NoSQL, и я пытаюсь перенести голову вокруг модели данных хранилищ семейства столбца, таких как Bigtable, HBase и Cassandra.
Некоторые люди описывают семейство столбцов как набор строк, где каждая строка содержит столбцы [1], [2]. Пример этой модели (семейства столбцов являются uppercased):
{
"USER":
{
"codinghorror": { "name": "Jeff", "blog": "http://codinghorror.com/" },
"jonskeet": { "name": "Jon Skeet", "email": "jskeet@site.com" }
},
"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": "jskeet@site.com" },
"BOOKMARK":
{
"http://msmvps.com/blogs/jon_skeet/": "Coding Blog",
"http://manning.com/skeet2/": "C# in Depth, Second Edition"
}
}
}
Возможное объяснение позади первой модели - то, что не все семейства столбцов имеют отношение как USER
и BOOKMARK
сделать. Это подразумевает, что не все семейства столбцов содержат идентичные ключи. Размещение семейств столбцов на внешнем уровне чувствует себя более естественным с этой точки зрения.
Имя 'семейство столбцов' подразумевает группу столбцов. Это точно, как семейства столбцов представлены во второй модели.
Обе модели являются допустимыми представлениями данных. Я понимаю, что эти представления только для того, чтобы передать данные к людям; приложения не 'думают' о данных таким способом.
Каково 'стандартное' определение семейства столбцов? Действительно ли это - набор строк или группа связанных столбцов в строке?
Я должен написать работу на предмете, таким образом, я также интересуюсь тем, как люди обычно объясняют 'понятие' семейства столбцов другим людям. Обе из этих моделей, кажется, противоречат друг другу. Я хотел бы использовать 'корректную' или общепринятую модель для описания хранилищ семейства столбца.
Я обосновался со второй моделью для объяснения модели данных в моей статье. Я все еще интересуюсь тем, как Вы объясняете модель данных хранилищ семейства столбца другим людям.