Локальное индексирование и материализованные представления в Cassandra 3.0
Предварительное условие - концепция индексирования, концепция материализованных представлений
В этой статье мы увидим, как мы можем выполнять локальную индексацию и как это работает, и как материализованные представления работают внутри.
Обсудим по порядку.
Во-первых, нам нужно создать таблицу. Рассмотрим таблицу Team_data, в которой id, name, address - поля.
Давайте посмотрим.
СОЗДАТЬ ТАБЛИЦУ Team_data ( id uuid ПЕРВИЧНЫЙ КЛЮЧ, текст имени, текст адреса );
Теперь вставьте данные в таблицу (Team_data). Давайте посмотрим.
Вставить в Team_data (id, имя, адрес) значения (uuid (), 'ашиш гупта', 'мумбаи'); Вставить в Team_data (id, имя, адрес) значения (uuid (), 'шиванг', 'дели'); Вставить в Team_data (id, имя, адрес) значения (uuid (), 'gaurav', 'bangalore');
Посмотрим на результаты, чтобы проверить вставленные данные.
Выбрать * из Team_data;
Выход:
Теперь мы собираемся создать локальную индексацию (customer1) в столбце name таблицы Team_data. Давайте посмотрим.
создать индекс customer1 на Team_data (name);
Теперь мы собираемся искать данные, которые нам нужны.
Давайте посмотрим.
выберите адрес, имя из Team_data ГДЕ name = 'шиванг';
Выход:
Теперь мы увидим, как вышеуказанный запрос CQL работает и выполняется графически.
Давайте посмотрим.
На приведенной выше диаграмме сначала координатный узел отправляет сообщение всем узлам в кольце и, учитывая, что есть три копии каждой строки таблицы (Team_data), тогда он будет искать данные на основе индексации на каждом узле в звонят то, что мы ищем.
Теперь мы увидим, как материализованные представления одной и той же таблицы (Team_data) работают в том же сценарии, который обсуждался выше. Сначала мы собираемся создать материализованные представления.
Давайте посмотрим.
создать материализованное представление customer2 as select * из Team_data где имя НЕ ПУСТО ПЕРВИЧНЫЙ КЛЮЧ (имя, идентификатор);
Теперь, опять же, когда мы будем выполнять CQL-запрос, тогда в материализованных представлениях первые данные будут индексироваться на каждом узле, и будет проще выполнять быстрый поиск данных, а также повысится производительность. Давайте посмотрим.
выберите адрес, имя из Team_data ГДЕ name = 'шиванг';
Выход:
Теперь мы увидим, как указанный выше запрос CQL работает для материализованных представлений в том же сценарии, приведенном выше.
Давайте посмотрим.