Стати c колонна в Кассандре - PullRequest
1 голос
/ 08 апреля 2020

Может ли кто-нибудь объяснить простыми словами, что такое столбец "stati c" в Кассандре и как он используется? Я наткнулся на эту ссылку Stati c column , но не смог ее понять.

Спасибо

1 Ответ

2 голосов
/ 08 апреля 2020
Столбец

Stati c - это способ связать данные со всем разделом, поэтому он будет распределен между всеми строками внутри этого раздела. Существуют законные случаи, когда все строки должны иметь одинаковые данные, и когда данные обновляются, нам не нужно обновлять каждую строку.

Один из примеров, который приходит на ум, - это электронная коммерция. Например, вы продаете что-то, и вы продаете в разных странах с разной валютой и разными ценами. Но между ними есть что-то общее, например, описание, размеры и т. Д. c. В этом случае мы можем смоделировать его следующим образом:

create table articles (
  sku text,
  description text static,
  country text,
  currency text,
  price decimal,
  primary key (sku, country)
);

, в этом случае, когда вы делаете select * from articles where sku = ... and country = ..., вы все равно получаете описание, и вы можете обновить описание только с помощью update articles set description = '...' where sku = ..., и следующий выбор будет получить обновленное описание.

Кроме того, столбцы stati c могут существовать в разделе без каких-либо строк. Одним из случаев использования, которые я видел, является сбор агрегированной информации, где подробные данные были сохранены в виде отдельных строк с некоторым TTL, и было задание, которое агрегировало данные в столбец stati c, поэтому, когда срок действия строк истек, тогда этот раздел все еще остается только с агрегированными данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...