Todos os produtos
Search
Central de documentação

Tablestore:Modifique dinamicamente o schema do índice de pesquisa

Última atualização: Sep 22, 2026

Você pode modificar dinamicamente o schema de um índice de pesquisa para adicionar, atualizar ou excluir colunas, ou alterar sua chave de roteamento e o método de pré-classificação. Essa abordagem facilita a adaptação a novos requisitos de negócio e a otimização de desempenho. O processo envolve criar um índice canário com um schema modificado, sincronizar dados, executar testes A/B com ponderação de tráfego, trocar os schemas dos índices source e canário e, em seguida, excluir o índice canário.

Como funciona

As tabelas de dados do Tablestore não possuem schema, mas um índice de pesquisa tem um schema rígido. Ao criar um índice de pesquisa, é obrigatório definir quais colunas serão indexadas para consulta. A modificação desse schema costuma ser necessária para suportar mudanças no negócio ou para ajustar o desempenho. Os cenários mais comuns incluem:

  • Adicionar colunas de índice: À medida que o negócio evolui, pode ser necessário consultar colunas adicionais.

  • Atualize colunas de índice: É possível alterar propriedades como o tipo de coluna, colunas virtuais, configurações de array, analisadores ou formatos de data.

  • Exclua colunas de índice: Permite remover colunas que não são mais necessárias para as consultas.

  • Modifique a chave de roteamento: Uma chave de roteamento bem definida reduz a amplificação de leitura e melhora o desempenho da consulta.

  • Modifique a pré-classificação: Se a ordem de classificação dos dados em uma consulta corresponder à configuração de pré-classificação do índice, a velocidade da consulta aumenta.

Fluxo de trabalho

Importante

Devido ao seu comportamento dinâmico, não use este índice temporário para consultas. Se este recurso não atender às suas necessidades, envie um ticket para entrar em contato conosco.

A figura a seguir ilustra o fluxo de trabalho para a modificação dinâmica de um schema. Todo o processo é transparente para a sua aplicação, o que permite alterar o schema sem precisar modificar o código da aplicação.

image

A tabela a seguir descreve as principais etapas para modificar o schema de um índice de pesquisa.

Etapa

Ações

Descrição

1

Crie um índice canário

Crie um índice canário para o índice source e defina seu novo schema adicionando, modificando ou excluindo colunas conforme necessário.

2

Verifique o progresso de sincronização do índice

Antes de prosseguir, aguarde até que todos os dados existentes e incrementais sejam sincronizados e o progresso do índice canário corresponda ao do índice source.

3

Defina pesos para o teste A/B

O teste A/B permite distribuir o tráfego de consulta entre os índices source e canário para validar o novo schema.

Redirecione gradualmente o tráfego para o índice canário até que ele processe 100% do tráfego de consulta.

4

Trocar os schemas dos índices

Após direcionar todo o tráfego de consulta para o índice canário, troque os schemas do índice source e do índice canário.

Após a troca, o nome do índice source aponta para o novo schema, enquanto o nome do índice canário aponta para o antigo. Todo o tráfego de consulta é então direcionado para o nome do índice source, que agora usa o novo schema.

5

Exclua o índice canário

Depois de trocar os schemas e verificar se o índice funciona conforme o esperado, aguarde um período de estabilização (por exemplo, um dia) antes de excluir o índice canário.

Procedimento

  1. Acesse a aba Indexes.

    1. Faça login no console do Tablestore.

    2. Na barra de navegação superior, selecione uma região e um grupo de recursos.

    3. Na página Overview, clique no nome da instância ou clique em Manage Instance na coluna Actions.

    4. Na aba Instance Details, na área Tables, clique no nome da tabela de dados ou clique em Indexes na coluna Actions.

  2. Crie um índice canário com base no índice source.

    1. Na aba Indexes, localize o índice de pesquisa e clique em Change Schema na coluna Actions.

    2. Na caixa de diálogo Reindex, adicione, modifique ou exclua campos do índice conforme necessário.

      A caixa de diálogo Reindex contém os seguintes itens de configuração:

      • Informações básicas do índice: Index Type (por exemplo, índice de pesquisa), Instance Name, Table Name (por exemplo, exampletable), Index Name (por exemplo, exampletable_index) e Canary Index Name (por exemplo, exampletable_index_reindex).

      • Tabela de configuração de campos: Cada linha permite definir as propriedades de Field Name, Field Type, Index Parameters, Array, Highlight e Virtual Column. Clique no botão + para adicionar um campo ou clique no ícone de exclusão para remover um campo.

      • Na parte inferior, há a opção Advanced Settings. Após concluir a configuração, clique em OK.

    3. Para modificar a chave de roteamento ou o método de pré-classificação, ative a opção Advanced Settings e configure os parâmetros descritos na tabela a seguir.

      Parâmetro

      Descrição

      Chave de roteamento:

      Especifica campos de roteamento personalizados. Selecione uma ou mais colunas de chave primária como campos de roteamento.

      Quando os dados são gravados no índice, o sistema usa o valor da chave de roteamento para determinar a distribuição dos dados. Registros com o mesmo valor de chave de roteamento são indexados na mesma partição. Para mais informações, consulte Use routing fields in a search index.

      Pré-classificação

      O método de classificação padrão para dados no índice de pesquisa. A pré-classificação determina a ordem padrão em que os resultados da consulta são retornados. Para mais informações, consulte Index presorting.

      • Para classificar por chave primária, selecione Default.

      • Para classificar por valores de campo ou uma combinação de colunas de chave primária, selecione Custom e defina as configurações.

        1. Selecione um tipo de classificação, como Primary Key Pre-sorting ou Field Pre-sorting, e clique em Add.

        2. Selecione o nome do campo e a ordem de classificação.

          As ordens de classificação suportadas são ascendente e descendente.

          Importante

          Selecione um nome de campo apenas se escolher Field Pre-sorting.

        Ao usar a classificação personalizada, configure a pré-classificação de chave primária e a pré-classificação de campo conforme necessário.

    4. Clique em OK.

    5. Na caixa de diálogo Index Comparison, revise a comparação da chave de roteamento, pré-classificação e schema entre os índices source e canário. Após confirmar que as informações estão corretas, clique em Yes.

  3. Verifique as informações de sincronização do índice.

    1. Clique no ícone image.png ao lado do índice source ou clique no nome do índice source.

      O índice canário para o índice source é exibido.

    2. Clique em Use Gray Index na coluna Actions do índice canário.

      Importante

      O índice canário passa por uma fase de sincronização completa de dados e uma fase de sincronização incremental de dados.

      • Antes que a sincronização de dados seja concluída, ao passar o ponteiro sobre o botão Use Gray Index na coluna Actions, uma dica de ferramenta indicando Yes, but the operation may cause security risks. é exibida e a troca é desativada.

      • Quando o índice canário estiver sincronizado com o índice source, ao passar o ponteiro sobre o botão Use Gray Index na coluna Actions, uma dica de ferramenta indicando Yes. The operation is secure. é exibida. Em seguida, prossiga com as próximas etapas.

    3. Na caixa de diálogo Use Gray Index, visualize as informações de sincronização do índice.

      A parte superior da caixa de diálogo exibe o Data Status (Synchronizing) e o Switchover Status (Safe to switch). As informações do índice são mostradas em duas colunas para o índice source e o índice canário. Cada coluna contém os seguintes campos:

      • Sync Status

      • Rows

      • Created At

      • Last Sync Time

      • Sync Latency

      • Data Lifecycle

      Na parte inferior, na área Actions, use os controles deslizantes para ajustar os pesos de tráfego para o source index e o canary index, e salve a configuração clicando em Set Weight, ou clique em Switch Index para concluir a troca de índice.

  4. Após a conclusão da sincronização, execute testes A/B definindo os pesos de tráfego.

    Utilize o teste A/B para validar o novo schema distribuindo o tráfego de consulta entre os índices source e canário. Direcione todo o tráfego para o índice canário antes de prosseguir para a próxima etapa.

    1. Na seção Operations da caixa de diálogo Use Gray Index, arraste o controle deslizante para ajustar os pesos dos índices source e canário e clique em Set Weight.

    2. Na caixa de diálogo Set Weight, revise os dados de peso e a comparação de schema.

    3. Após confirmar que as informações estão corretas, clique em Set Weight.

    4. Na caixa de diálogo de confirmação exibida, clique em Yes.

  5. Depois que todo o tráfego de consulta for direcionado para o índice canário, troque os schemas dos índices source e canário.

    Após a troca, o nome do índice source aponta para o novo schema, e o nome do índice canário aponta para o antigo. Todo o tráfego de consulta é então direcionado para o nome do índice source, que agora usa o novo schema.

    Na caixa de diálogo Use Gray Index, confirme se o status dos dados é In canary release, se o status de troca é Yes. The operation is secure., se o peso do índice source é 0 e se o peso do índice canário é 100. Em seguida, clique em Switch Index.

    1. Na seção Operations da caixa de diálogo Use Gray Index, clique em Switch Index.

    2. Na caixa de diálogo Switch Index, revise a comparação da chave de roteamento, pré-classificação e schema entre os índices source e canário. Após confirmar que as informações estão corretas, clique em Confirm Switch.

  6. Depois de trocar os schemas e verificar se o índice funciona conforme o esperado, aguarde um período de estabilização (por exemplo, um dia) antes de excluir o índice canário.

    Confirme se a caixa de diálogo Use Gray Index mostra o status dos dados como Released, o status de troca como Yes. The operation is secure., e se a área Actions mostra o tráfego do source index em 100 e o tráfego do canary index em 0.

    1. Na caixa de diálogo Use Gray Index, clique em Delete Canary Release.

    2. Na caixa de diálogo Are you sure you have completed the canary release and want to delete the old index?, confirme se as informações sobre o índice canário a ser excluído estão corretas. Em seguida, na caixa de texto, insira I have confirmed that the new index data has been synchronized and has been in canary release for a period of time.

    3. Clique em Yes.

Salvaguardas

Para garantir a segurança operacional, o Tablestore fornece um mecanismo de reversão e alertas de troca para minimizar os riscos durante a modificação do índice.

  • Mecanismo de reversão

    As principais etapas no processo de modificação dinâmica de schema suportam reversões.

    • Após criar um índice canário, se você descobrir que o schema está incorreto, exclua-o e crie um novo.

    • Durante o teste A/B, redirecione gradualmente o tráfego para o índice canário ajustando os pesos de tráfego. Se encontrar problemas, redirecione o tráfego de volta para o índice source a qualquer momento redefinindo os pesos.

    • Após trocar os schemas, se encontrar problemas, execute a opção Cancel Switchover a qualquer momento para reverter para o schema do índice source. As operações Switch Index e Cancel Switchover são operações inversas.

  • Alertas de troca

    Direcionar o tráfego para o índice canário antes que ele esteja totalmente sincronizado com o índice source pode fazer com que as consultas retornem dados desatualizados. O Tablestore determina se é "seguro trocar" com base no status de sincronização e na última hora de sincronização de ambos os índices.

    O Tablestore determina que uma troca é Yes. The operation is secure. nas seguintes condições:

    • O índice source está na fase de sincronização completa, e o índice canário está na fase completa ou incremental, o que significa que o índice canário alcançou o índice source.

    • Ambos os índices source e canário estão na fase de sincronização incremental, e a última hora de sincronização do índice canário está no máximo 60 segundos atrasada em relação à última hora de sincronização do índice source.

Faturamento

Não há cobrança para a criação de índices canário ou para a gravação de dados neles. A cobrança é feita pelo armazenamento consumido por ambos os índices e por quaisquer CUs de leitura reservadas provisionadas para eles. Para mais informações, consulte Billable items of search indexes.

Documentos relacionados