Кассандру обновляют и сортируют по одному столбцу

Я ищу некоторые входные данные о моделировании данных Кассандры для какой-либо функции временной шкалы. Для хранения данных на временной шкале я планирую использовать timeuuid в Кассандре и сделать это как ключ кластеризации. Это поможет в сортировке данных. Но те же данные могут быть обновлены, и мне нужно сохранить обновленный timeuuid, соответствующий данным, чтобы их можно было перенести на временную шкалу. Это включает выбор предыдущей строки data-timeuuid, ее удаление и вставку новой. Но не похоже на исполнителя. Как я могу обработать сортировку и обновление в том же столбце (в моем случае timeuuid) для реализации функции временной шкалы.

1 ответ

Я предлагаю вам эту схему:

CREATE TABLE timeline_idx {
    timeline_key text,
    time timeuuid,
    content_key text,
    PRIMARY KEY ((partition_key), time)
}

CREATE TABLE timeline_content {
    content_key text,
    content blob,
    PRIMARY KEY (content_key)
}

Timeline_idx используется для предоставления вам ключей содержимого, упорядоченных как временная шкала. Затем вы можете получить содержимое во второй таблице с именем timeline_content. Это не заказано и нет ключа кластеризации. Вы можете обновить свой контент, не зная его timeuuid. Я выбираю тип текста для timeline_key и content_key, но вы можете выбрать все, что захотите, при условии, что он однозначно определяет временные шкалы и содержимое.

Другие вопросы по тегам