Понятие семейства столбца и модель данных

Я исследую различные типы типов БД 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 сделать. Это подразумевает, что не все семейства столбцов содержат идентичные ключи. Размещение семейств столбцов на внешнем уровне чувствует себя более естественным с этой точки зрения.

Имя 'семейство столбцов' подразумевает группу столбцов. Это точно, как семейства столбцов представлены во второй модели.

Обе модели являются допустимыми представлениями данных. Я понимаю, что эти представления только для того, чтобы передать данные к людям; приложения не 'думают' о данных таким способом.

Вопрос

Каково 'стандартное' определение семейства столбцов? Действительно ли это - набор строк или группа связанных столбцов в строке?

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


Обновление

Я обосновался со второй моделью для объяснения модели данных в моей статье. Я все еще интересуюсь тем, как Вы объясняете модель данных хранилищ семейства столбца другим людям.

22
задан Niels van der Rest 22 October 2010 в 11:29
поделиться