Семейство суперколонок - Википедия - Super column family

Семейство суперсолбцов состоит из ключа строки и ряда супер столбцы.

А семейство суперколонок это NoSQL объект, содержащий семейства столбцов. Это кортеж (пара), состоящая из пара "ключ-значение", где ключ сопоставляется со значением, которое является семейством столбцов.[1] По аналогии с реляционными базами данных, семейство суперколонок - это что-то вроде «представления» для ряда таблиц. Его также можно рассматривать как карту таблиц.[2]

Преимущества

При создании модели данных полезно иметь какой-то Посмотреть по ряду столы. Использование семейства суперколонок похоже на то, что в распределенные хранилища данных. Однако нет "присоединяется "между" таблицами ", поскольку такие хранилища данных, как Apache Cassandra нереляционны.

Сортировка и запросы

Невозможно отсортировать суперстолбцы после того, как они были вставлены, или запрос произвольный запрос в распределенные хранилища данных. Суперстолбцы сортируются, когда они добавляются в семейство столбцов, и также можно использовать другой атрибут сортировки для содержащихся столбцы супер колонки. Подобно стандартное семейство колонн, сортировка определяется атрибутом. Этот атрибут называется CompareSubcolumnsWith в Apache Cassandra и имеют следующие значения:

  • AsciiType
  • BytesType
  • LexicalUUIDType
  • LongType
  • TimeUUIDType
  • UTF8Type

Хотя можно отсортировать суперколонки определенным образом, а столбцы внутри суперколбцов - другим способом, нельзя обрабатывать часть суперсолбцов особым образом.[3]

Семейства суперколонок и просмотры

Семейства столбцов имеют бессмысленный природа, так что каждая из их «строк» ​​может содержать разное количество столбцов, и даже в каждой строке могут быть разные имена столбцов.[4] Итак, они представляют собой совершенно другую концепцию, чем строки в система управления реляционными базами данных (СУБД). Это одна из причин, почему эта концепция не является тривиальной для опытного эксперта по РСУБД.

Пример кода

Вот пример семейства суперсолбцов, которое содержит другие семейства столбцов:[4]

 UserList={    Кэт:{     имя пользователя:{имя:Кэт,фамилия:Юн”}     адрес:{город:Сеул,почтовый индекс:1234”}   }   Терри:{     имя пользователя:{имя:Терри,фамилия:Чо”}     учетная запись:{банк:Хана,учтенный:1234”}   } }

Где «Кэт» и «Терри» - ключи строки; «имя пользователя», «адрес» и «учетная запись» - имена суперколонок; а «имя», «фамилия», «город» и т. д. - названия столбцов.

Смотрите также

Рекомендации

  1. ^ Рональд Мэтис (18 марта 2010 г.). «Установка и использование Apache Cassandra с Java, часть 2 (модель данных)». http://www.sodeso.nl/: Sodeso - Решение для разработки программного обеспечения. Получено 2011-03-28. [...] самый большой контейнер, SuperColumnFamily, если вы понимаете ColumnFamily, тогда эта конструкция не намного сложнее, вместо того, чтобы иметь столбцы во внутренней самой карте, у нас есть SuperColumns. Так что это просто добавляет дополнительное измерение. Как показано на изображении, ключ карты, который содержит суперстолбцы, должен совпадать с именем суперстолбца (как и в случае с семейством столбцов).
  2. ^ Арин Саркисян (01.09.2009). «WTF - это суперстолбец? Введение в модель данных Cassandra». http://arin.me/: Арин Саркисян. Получено 2011-03-28. 4) «Семейство суперстолбцов» - это карта таблиц (= таблица вложенных таблиц)
  3. ^ «Установка и использование Apache Cassandra с Java, часть 3 (модель данных 2)». http://www.sodeso.nl/: Sodeso - Решения для разработки программного обеспечения. Получено 2011-03-30. Правила сортировки применяются не только к столбцам, но и к суперстолбцам, в случае суперстолбцов нам также необходимо указать второе правило сортировки с помощью атрибута CompareSubcolumnsWith. [...] Я использовал UTF8Type как для SuperColumn, так и для столбца в SuperColumn, это не обязательно, вы можете смешивать их, используя все различные типы сортировки. Однако невозможно иметь разные типы сортировки на одном уровне, поэтому невозможно использовать UTF8Type и LongType для разных SuperColumns в одном и том же SuperColumnFamily, то же правило применяется для столбцов.
  4. ^ а б Автор: Терри (22 марта 2010 г.). "Краткий обзор Apache Cassandra". Блог Terry.Cho. Получено 2011-03-25. Интересно то, что каждая строка может иметь разную схему. В строке Cassandra есть столбцы «emailAddress», «age». В строке TerryCho есть столбцы «адрес электронной почты», «пол». Эта характеристика называется «Бесхемной» (структура данных каждой строки в семействе столбцов может быть разной).

внешняя ссылка