Столбец распределенного хранилища данных — это объект NoSQL самого низкого уровня в пространстве ключей . Это кортеж ( пара ключ-значение ), состоящий из трех элементов:
AsciiType
, , LongType
, TimeUUIDType
, UTF8Type
и другие.Столбец используется как хранилище для значения и имеет временную метку, которая используется для различения действительного содержимого от устаревшего. Согласно теореме CAP , распределенные хранилища данных не могут гарантировать согласованность , поскольку доступность и устойчивость к разделам являются более важными проблемами. Поэтому хранилище данных или программист приложения будет использовать временную метку, чтобы выяснить, какие из сохраненных значений в резервных узлах являются актуальными.
Некоторые хранилища данных, такие как Riak , могут использовать более сложные векторные часы вместо временной метки для разрешения устаревшей информации.
В реляционных базах данных столбец является частью реляционной таблицы, которую можно увидеть в каждой строке таблицы. Это не относится к распределенным хранилищам данных, где концепция таблицы существует лишь смутно. Столбец может быть частью ColumnFamily , который напоминает не более чем реляционную строку, но может появляться в одной строке и отсутствовать в других. Кроме того, количество столбцов может меняться от строки к строке, и новые обновления модели хранилища данных также могут изменять количество столбцов. Таким образом, вся работа по отслеживанию изменений возлагается на прикладного программиста.
Ниже приведены три определения столбцов в нотации , подобной JSON :
{ улица : { имя : "улица" , значение : "1234 x улица" , временная метка : 123456789 }, город : { имя : "город" , значение : "сан-франциско" , временная метка : 123456789 }, почтовый индекс : { имя : "почтовый индекс" , значение : "94107" , временная метка : 123456789 }, }