Что такое эффективная запись "создать таблицу с опцией" С компактным хранилищем "или" создать таблицу с опцией "С хранилищем порядка кластеризации"?

Я разрабатываю схему для чтения так же хорошо, как и запись критической задачи. Что будет больше писать и читать эффективно Создать таблицу с компактным хранилищем или создать таблицу с порядком кластеризации.

В соответствии с моим требованием порядок кластеризации помогает мне безопасно некоторое время во время чтения. но в то же время я боюсь, что это может повлиять на вставку.

может ли кто-нибудь рассказать?

3 ответа

Компактное хранилище обеспечивает обратную совместимость с экономичными приложениями. Я рекомендую избегать этого. Из официальных документов:

Использование компактного хранилища¶

Директива компактного хранилища используется для обратной совместимости старых приложений с CQL. Используйте директиву для хранения данных в формате ядра хранения (Thrift). Чтобы воспользоваться преимуществами возможностей CQL, не используйте эту директиву в новых приложениях.

CREATE TABLE sblocks (block_id uuid, subblock_id uuid, data blob, PRIMARY KEY (block_id, subblock_id)) С КОМПАКТНЫМ ХРАНЕНИЕМ; Использование директивы компактного хранилища не позволяет определить более одного столбца, который не является частью составного первичного ключа. Компактная таблица с использованием первичного ключа, который не является составной, может иметь несколько столбцов, которые не являются частью первичного ключа.

Компактная таблица, использующая составной первичный ключ, должна определять по крайней мере один столбец кластеризации. Столбцы нельзя добавлять и удалять после создания компактной таблицы. Если вы не укажете WITH COMPACT STORAGE, CQL создаст таблицу с некомпактной памятью.


Таблица с порядком кластеризации действительно не имеет штрафа за таблицу без. Записи всегда идут в memtable (поскольку Cassandra использует логарифмически структурированное хранилище) и более или менее похожа на строку журнала. Кластеризация ключей действительно помогает во время чтения искать правильную строку CQL внутри раздела. Поиск с использованием ключа кластеризации очень эффективен и является действительно рекомендуемым способом выполнения действий.


У меня нет комментариев для комментария, поэтому я решил оставить это здесь для всех, кто наткнулся на этот вопрос и использует C *> = 3.0.

Механизм хранения Cassandra был рефакторирован в версии 3. Теперь данные по умолчанию хранятся компактнее на диске. Нет никакой пользы в использовании опции COMPACT STORAGE, помимо совместимости с обратной связью, на самом деле ее следует избегать вообще.

Ссылка на DataStax

licensed under cc by-sa 3.0 with attribution.