O recurso de índice secundário permite consultar dados com base na chave primária de uma tabela de dados e nas colunas de índice do índice secundário criado para essa tabela, o que acelera as consultas. Ao criar um índice secundário, defina as colunas de índice ou as colunas de atributo do índice como as colunas predefinidas especificadas na tabela de origem. Após a criação, use o índice secundário para consultar dados.
Pré-requisitos
Crie uma tabela de dados com o parâmetro Max Versions definido como 1. Além disso, o parâmetro TTL da tabela deve atender a uma das seguintes condições:
O parâmetro TTL da tabela de dados está definido como -1, indicando que os dados nunca expiram.
Se o Time to Live (TTL) da tabela não for -1, a tabela não permitirá atualizações. Isso significa que a opção Allow Updates está definida como No.
O TTL do índice secundário é igual ao TTL da tabela de dados.
Etapa 1: (Opcional) Adicionar colunas predefinidas
Se você for criar um índice secundário para uma tabela que não possui colunas predefinidas, ou se as colunas existentes não atenderem aos requisitos do seu negócio, adicione ou remova colunas predefinidas na tabela.
Também é possível adicionar colunas predefinidas durante a criação da tabela de dados. Para mais informações, consulte Step 3: Create a data table.
-
Acesse a página Manage Table.
Faça login no console do Tablestore.
Na página Overview, clique no nome da instância.
Na aba Instance Details, na seção Tables, clique no nome da tabela de dados.
Na aba Basic Information, na seção Pre-defined Column do módulo Advanced Features, clique em Add Pre-Defined Column.
-
Na caixa de diálogo Add Pre-Defined Column, clique em Add Pre-Defined Column. Em seguida, insira um nome e selecione um tipo de dados para a coluna predefinida.
Convenções de nomenclatura para colunas predefinidas: O nome deve ter entre 1 e 255 bytes e pode conter letras, dígitos e sublinhados (_). Deve começar com uma letra ou um sublinhado (_).
Selecione STRING, INTEGER, BINARY, FLOAT ou BOOLEAN como tipo de dados. Se a coluna predefinida for usada como coluna de índice, escolha STRING, INTEGER ou BINARY.
NotaClique em Add Pre-Defined Column para adicionar várias colunas. Para remover uma coluna indesejada, clique no ícone
ao lado dela.Na caixa de diálogo Add predefined column, o campo Table Name exibe
exampletablee Existing predefined columns mostracost. Na área predefined column, insiranamecomo nome da coluna e selecione STRING como tipo de dados. -
Clique em OK.
As colunas predefinidas adicionadas aparecem na lista de colunas predefinidas.
Para remover uma coluna predefinida da lista, clique no ícone
na coluna Remove Pre-Defined Column.
Etapa 2: Criar um índice secundário
Crie um índice secundário para acelerar consultas de dados. Os índices secundários dividem-se em índices secundários globais e locais. Escolha o tipo adequado conforme os requisitos do seu negócio.
É possível criar um índice secundário durante a criação da tabela de dados. Para mais informações, consulte Step 3: Create a data table.
-
Acesse a página Manage Table.
Faça login no console do Tablestore.
Na página Overview, clique no nome da instância.
Na aba Instance Details, na seção Tables, clique no nome da tabela de dados.
Na aba Indexes, clique em Create a secondary index.
-
Na caixa de diálogo Create Index, configure o índice secundário.
-
A tabela a seguir descreve os parâmetros.
Parâmetro
Descrição
Index Type
Tipo do índice. Este valor é sempre Secondary Index.
Instance Name
Nome da instância. Não é possível alterar este parâmetro.
Table Name
Nome da tabela de dados para a qual você deseja criar o índice secundário. Não é possível alterar este parâmetro.
Index Name
Nome do índice secundário a ser criado.
ImportanteO nome não pode ser igual ao de tabelas de dados ou tabelas de séries temporais existentes.
Index Type
Tipo do índice secundário. Valores válidos:
-
Global Secondary Index: O Tablestore sincroniza automaticamente os dados das colunas indexadas e das colunas de chave primária da tabela de dados para as colunas da tabela de índice a ser criada, de forma assíncrona.
A primeira coluna de chave primária da tabela de índice pode ser uma coluna de chave primária ou uma coluna predefinida da tabela de dados.
-
Local Secondary Index: O Tablestore sincroniza automaticamente os dados das colunas indexadas e das colunas de chave primária da tabela de dados para as colunas da tabela de índice a ser criada, de forma síncrona. Após gravar dados na tabela de dados, consulte-os imediatamente na tabela de índice.
A primeira coluna de chave primária da tabela de índice deve ser a primeira coluna de chave primária da tabela de dados.
Existing Data
Define se os dados existentes da tabela de dados serão incluídos no índice secundário. Valores válidos:
-
Include Existing Data
-
Exclude Existing Data
-
-
Selecione as colunas de chave primária na ordem desejada e clique em Add Primary Key Column para cada coluna.
Apenas colunas predefinidas dos tipos de dados STRING, INTEGER e BINARY podem ser usadas como colunas de chave primária.
Selecione as colunas predefinidas para usar como colunas de atributo e clique em Add Pre-defined Column.
-
-
Clique em OK.
O índice secundário criado aparece na lista de índices.
Etapa 3: Consultar dados
Use consultas de linha única ou consultas de intervalo nas tabelas de índice para obter os dados necessários.
Realizar uma consulta de intervalo
-
Acesse a página Manage Table.
Faça login no console do Tablestore.
Na página Overview, clique no nome da instância.
Na aba Instance Details, na seção Tables, clique no nome da tabela de dados.
Na aba Indexes, localize a tabela de índice desejada e clique em Query na coluna Actions.
-
Na caixa de diálogo Search, defina as condições de consulta.
Defina Mode como Range Search.
Por padrão, todas as colunas são retornadas. Para retornar colunas de atributo específicas, desative Get All Columns e insira os nomes das colunas separados por vírgulas (,).
-
Configure os parâmetros Start Primary Key Column e End Primary Key Column.
ImportanteAo definir o parâmetro Modes como Range Search, o intervalo especificado pelos valores inicial e final na coluna de chave primária à direita só terá efeito se os valores inicial e final forem iguais em cada coluna de chave primária mais à esquerda. Se os valores inicial e final em uma coluna de chave primária mais à esquerda forem diferentes, o intervalo definido na coluna de chave primária à direita não será aplicado.
O intervalo compatível com consultas de intervalo é aberto à esquerda e fechado à direita.
Mantenha o valor padrão do parâmetro Max Versions.
Defina a direção de ordenação dos resultados da consulta como Forward Search ou Backward Search.
-
Clique em OK.
Os dados que atendem às condições de consulta aparecem na lista de dados.
Realizar uma consulta de linha única
-
Acesse a página Manage Table.
Faça login no console do Tablestore.
Na página Overview, clique no nome da instância.
Na aba Instance Details, na seção Tables, clique no nome da tabela de dados.
Na aba Indexes, localize a tabela de índice desejada e clique em Query na coluna Actions.
-
Na caixa de diálogo Search, defina as condições de consulta.
Na caixa de diálogo, insira os valores de chave primária de exemplo:
lilypara name,a100001para useid ea100001000001para orderid.Defina Mode como Get Row.
Por padrão, todas as colunas são retornadas. Para retornar colunas de atributo específicas, desative Get All Columns e insira os nomes das colunas separados por vírgulas (,).
-
Insira o Primary Key Value da linha desejada.
A integridade e a precisão do valor da chave primária afetam os resultados da consulta.
Mantenha o valor padrão do parâmetro Max Versions.
-
Clique em OK.
Se a linha consultada estiver incluída na tabela de índice, o Tablestore retorna os dados dessa linha. Caso contrário, nenhum dado será retornado.
FAQ
Referências
Use índices secundários por meio dos SDKs do Tablestore ou da CLI do Tablestore. Para mais informações, consulte Use global secondary index by using Tablestore SDK e Secondary index.
Para consultar dados de maneira mais eficiente e flexível, use o recurso de índice de pesquisa. Esse recurso oferece vários métodos de consulta, incluindo consulta booleana, pesquisa de texto completo, consulta de prefixo e consulta difusa. Para mais informações, consulte Overview.