Esta lista de verificação de lançamento fornece uma lista de considerações que têm de ser feitas antes de lançar uma aplicação de produção no Spanner. Não se destina a ser exaustiva, mas serve para realçar as principais considerações para minimizar os riscos, otimizar o desempenho e garantir o alinhamento com os objetivos empresariais e operacionais, oferecendo uma abordagem sistemática para oferecer uma implementação do Spanner integrada e fiável.
Esta lista de verificação está dividida nas seguintes secções:
- Design, desenvolvimento, testes e otimização
- Migração (opcional)
- Implementação
- Otimizador de consultas e gestão de estatísticas
- Recuperação de desastres
- Segurança
- Registo e monitorização
- Biblioteca cliente
- Apoio técnico
- Gestão de custos
Design, desenvolvimento, testes e otimização
A otimização do design do esquema, das transações e das consultas é essencial para usar a arquitetura distribuída do Spanner para um elevado desempenho e escalabilidade. Os testes rigorosos à escala de produção e de ponta a ponta garantem que o sistema consegue processar cargas de trabalho do mundo real, picos de carga e operações simultâneas, ao mesmo tempo que minimizam os riscos de estrangulamentos ou falhas na produção.
Caixa de verificação | Atividade |
---|---|
❑ |
Conceba o esquema tendo em conta a escalabilidade e a arquitetura distribuída do Spanner. Siga as práticas recomendadas, como:
selecionar chaves primárias e índices adequados para evitar pontos críticos e
considerar otimizações, como a intercalação de tabelas para dados relacionados. Reveja as
práticas recomendadas de design de esquemas
para garantir que o esquema suporta um elevado desempenho e escalabilidade
nas cargas de trabalho esperadas.
|
❑ |
Otimize as transações e as consultas para um bloqueio mínimo e um desempenho máximo. Use os modos de transação do Spanner, como
bloqueio de leitura/escrita, leitura apenas forte e declarações DML particionadas
para equilibrar a consistência, o débito e a latência. Minimize
os âmbitos de bloqueio usando
transações só de leitura
para consultas, processamento em lote
para o débito de DML máximo ou
declarações de DML particionadas para
atualizações e eliminações em grande escala. Quando migrar de sistemas com
diferentes níveis de isolamento (por exemplo, PostgreSQL ou MySQL),
use transações para evitar gargalos de desempenho. Para mais informações,
consulte Transações.
|
❑ |
Realize testes de carga rigorosos em grande escala para validar o design do esquema,
o comportamento das transações e o desempenho das consultas. Simular cenários de picos e
de alta concorrência que imitam os carregamentos de aplicações do mundo real,
incluindo diversas formas de transação e padrões de consulta. Avalie a latência e o débito nestas condições para confirmar que o design da base de dados e a topologia da instância cumprem os requisitos de desempenho.
Use os testes de carga de forma iterativa durante o desenvolvimento para otimizar e
refinar a implementação.
|
❑ |
Estenda os testes de carga para abranger todos os serviços de interação e não apenas
aplicações isoladas. Simule percursos do utilizador abrangentes
juntamente com processos paralelos, como carregamentos em lote ou tarefas de
administração que acedem à base de dados. Execute testes na configuração da instância do Spanner de produção, garantindo que os controladores e os serviços de teste de carga estão geograficamente alinhados com a topologia de implementação de produção pretendida. Esta abordagem holística identifica
potenciais conflitos antecipadamente e garante um desempenho fluido da base de dados
durante as operações no mundo real.
|
❑ |
Para garantir um desempenho previsível das consultas, use a versão do otimizador na qual a carga de trabalho foi testada. Por predefinição,
as bases de dados do Spanner usam a versão mais recente do otimizador de consultas.
Avalie regularmente novas versões do otimizador
num ambiente controlado e atualize a versão predefinida apenas depois de
confirmar a compatibilidade e as melhorias de desempenho. Para mais
informações, consulte a
vista geral do otimizador de consultas.
|
❑ |
Certifique-se de que as estatísticas do otimizador de consultas
estão atualizadas para suportar planos de execução de consultas eficientes.
Embora as estatísticas sejam atualizadas automaticamente, pondere
criar manualmente um novo pacote de estatísticas
em cenários como modificações de dados em grande escala (por exemplo, inserções,
atualizações ou eliminações em massa), adição de novos índices ou alterações de esquemas.
Manter as estatísticas do otimizador de consultas atualizadas é fundamental para
manter o desempenho ideal das consultas.
|
Migração (opcional)
A migração da base de dados é um processo abrangente que requer uma análise detalhada das especificidades de cada percurso de migração individual. Considere o seguinte na sua estratégia de migração:
Caixa de verificação | Atividade |
---|---|
❑ |
Desenvolva um procedimento operacional padrão (POP) detalhado para a
mudança de migração. Isto inclui passos para a implementação da aplicação,
a comutação de base de dados e a automatização para minimizar a intervenção manual.
Identificar e comunicar potenciais períodos de inatividade às partes interessadas com bastante antecedência. Implemente mecanismos de monitorização e alerta robustos para acompanhar
o processo de migração em tempo real e detetar quaisquer anomalias rapidamente.
Certifique-se de que o processo de mudança inclui verificações de validação para confirmar a integridade dos dados e as capacidades da aplicação após a migração.
|
❑ |
Prepare um plano de alternativa detalhado para reverter para o sistema de origem em caso de problemas críticos durante a migração. Teste os procedimentos
alternativos num ambiente de preparação para garantir que são fiáveis
e podem ser executados com um tempo de inatividade mínimo. Defina claramente as condições
que acionariam uma alternativa e certifique-se de que a equipa tem formação para executar
este plano de forma rápida e eficiente.
|
Implementação
O planeamento da implementação adequado garante que as configurações do Spanner cumprem os requisitos de carga de trabalho para disponibilidade, latência e escalabilidade, ao mesmo tempo que têm em conta as considerações geográficas e operacionais. O alinhamento do dimensionamento, da gestão de recursos, dos cenários de comutação por falha e da automatização minimiza os riscos, garante um desempenho ideal e evita restrições ou interrupções de recursos durante as operações críticas.
Caixa de verificação | Atividade |
---|---|
❑ |
Certifique-se de que a configuração da instância do Spanner
(seja regional, de dupla região ou multirregional) está alinhada com os
requisitos de disponibilidade e latência da carga de trabalho da aplicação, ao mesmo tempo que
tem em conta as considerações geográficas. Calcular a capacidade de computação
com base nos tamanhos de armazenamento esperados, nos padrões de tráfego e nos
limites de utilização recomendados,
garantindo capacidade suficiente para interrupções zonais ou regionais. Planeie
picos de tráfego ativando o ajuste automático de escala.
Pode definir um limite superior para a capacidade de computação para estabelecer salvaguardas de custos. Para mais informações, consulte o artigo
Capacidade de computação, nós e unidades de processamento.
|
❑ |
Se estiver a usar uma configuração de instância de região dupla ou multirregião,
escolha uma região principal que minimize a latência para gravações de aplicações
a partir de serviços implementados nas localizações mais sensíveis à latência.
Teste as implicações de diferentes regiões principais na latência de funcionamento e ajuste-as para otimizar o desempenho da aplicação. Planeie cenários de comutação por falha, garantindo que a topologia da aplicação se consegue adaptar a alterações da região principal durante interrupções regionais. Para mais informações, consulte o artigo
Modifique a região principal de uma base de dados.
|
❑ |
Configure as etiquetas e as etiquetas de forma adequada para clareza operacional e
acompanhamento de recursos do Google Cloud. Use etiquetas para agrupar instâncias por ambiente ou tipo de carga de trabalho. Use etiquetas para metadados que ajudam na análise de custos e na gestão de autorizações. Para mais informações, consulte o artigo
Controle o acesso e organize instâncias com etiquetas.
|
❑ |
Avalie se o aquecimento do Spanner é necessário, especialmente para serviços que esperam um tráfego súbito e elevado no lançamento.
Testar a latência sob cargas iniciais elevadas pode revelar a necessidade de
aquecimento pré-lançamento para garantir um desempenho ideal. Se for necessário aquecimento, gere uma carga artificial. Para mais informações, consulte o artigo
Aqueça a base de dados antes do lançamento da aplicação.
|
❑ |
Reveja os limites e as quotas do Spanner antes da implementação.
Se necessário, peça aumentos de quotas na Google Cloud consola para evitar
restrições durante os períodos de pico. Tenha em atenção os limites rígidos (por exemplo, o número máximo de tabelas por base de dados) para evitar problemas após a implementação. Para mais
informações, consulte
Quotas e limites.
|
❑ |
Use ferramentas de automatização como o Terraform para aprovisionar e gerir as suas instâncias do Spanner, garantindo que as configurações são eficientes e à prova de erros. Para a gestão de esquemas, considere usar ferramentas como o
Liquibase
para evitar eliminações acidentais de esquemas durante as atualizações. Para mais informações,
consulte o artigo Use o Terraform com o Spanner.
|
Recuperação de desastres
Estabelecer uma estratégia de recuperação de desastres (RD) robusta é essencial para proteger os dados, minimizar o tempo de inatividade e garantir a continuidade das operações durante falhas inesperadas. Testar regularmente os procedimentos de restauro e automatizar as cópias de segurança ajuda a garantir a prontidão operacional, a conformidade com os objetivos de recuperação e a proteção de dados fiável adaptada às necessidades organizacionais.
Caixa de verificação | Atividade |
---|---|
❑ |
Defina uma estratégia de recuperação de desastres abrangente para o
Spanner que inclua proteção de dados, objetivos de
recuperação e cenários de falha. Estabeleça objetivos de tempo de recuperação (RTO) e objetivos de ponto de recuperação (RPO) claros que se alinhem com os requisitos de continuidade da empresa. Especifique a frequência das cópias de segurança, as políticas de retenção e use a recuperação num determinado momento (PITR) para minimizar a perda de dados em caso de falhas. Reveja a
Vista geral da recuperação de desastres
para identificar as ferramentas e as técnicas certas para garantir a conformidade com a
disponibilidade, a fiabilidade e a segurança da sua aplicação. Para mais
informações, consulte o
livro branco Soluções de proteção e recuperação de dados no Spanner.
|
❑ |
Crie documentação detalhada para procedimentos de cópia de segurança e restauro,
incluindo guias passo a passo para vários cenários de recuperação.
Teste regularmente estes procedimentos para garantir a prontidão operacional e
validar os requisitos de RTO e RPO. Os testes devem simular condições e cenários de falhas do mundo real para identificar lacunas e melhorar o processo de recuperação. Para mais informações, consulte o artigo Vista geral da restauro.
|
❑ |
Implemente horários de cópias de segurança automáticas para garantir uma proteção de dados consistente e fiável. Configure as definições de frequência e retenção para
corresponder às necessidades empresariais e às obrigações regulamentares. Use as funcionalidades de agendamento de cópias de segurança do Spanner para automatizar a criação, a gestão e a monitorização de cópias de segurança. Para mais informações,
consulte o artigo Crie e faça a gestão de agendamentos de cópias de segurança.
|
❑ |
Alinhe os procedimentos de comutação por falha com a
topologia de configuração da instância
da sua aplicação para minimizar os impactos da latência em caso de indisponibilidade. Teste cenários de recuperação
de desastres, garantindo que a aplicação pode funcionar de forma eficiente
quando a região principal é movida para uma região de alternativa. Para mais
informações, consulte o artigo Modifique a região principal de uma base de dados.
|
Otimizador de consultas e gestão de estatísticas
A gestão das versões e das estatísticas do otimizador de consultas é importante para manter um desempenho das consultas previsível e eficiente. A utilização de versões testadas e a manutenção das estatísticas atualizadas garantem a estabilidade, evitam alterações inesperadas no desempenho e otimizam os planos de execução de consultas, especialmente durante modificações significativas de dados ou esquemas.
Caixa de verificação | Atividade |
---|---|
❑ |
Por predefinição, as bases de dados do Spanner usam a versão mais recente do otimizador de consultas. Para garantir um desempenho previsível das consultas, use a versão do otimizador na qual a carga de trabalho foi testada. Avalie
regularmente as novas versões do otimizador
num ambiente controlado e atualize a versão predefinida apenas depois de
confirmar a compatibilidade e as melhorias de desempenho. Para mais
informações, consulte a
vista geral do otimizador de consultas.
|
❑ |
Certifique-se de que as estatísticas do otimizador de consultas
estão atualizadas para suportar planos de execução de consultas eficientes.
Embora as estatísticas sejam atualizadas automaticamente, pondere
criar manualmente um novo pacote de estatísticas
em cenários como modificações de dados em grande escala (por exemplo, inserções,
atualizações ou eliminações em massa), adição de novos índices ou alterações de esquemas.
Manter as estatísticas do otimizador de consultas atualizadas é fundamental para
manter o desempenho ideal das consultas.
|
❑ |
Em determinados cenários, como após eliminações em massa ou quando a geração de novas estatísticas pode afetar de forma imprevisível o desempenho das consultas, é aconselhável fixar um pacote de estatísticas específico. Isto oferece um desempenho de consulta consistente até que seja possível gerar e testar um novo pacote. Reveja regularmente a necessidade de fixar estatísticas e desfixe-as assim que os pacotes atualizados forem validados. Para mais informações, consulte o artigo
Consultar pacotes de estatísticas do otimizador.
|
Segurança
A implementação de medidas de controlo de acesso é essencial para proteger dados confidenciais e evitar o acesso não autorizado no Spanner. Ao aplicar o acesso de menor privilégio, o controlo de acesso detalhado (FGAC) e a proteção contra eliminação de bases de dados, pode minimizar o risco, garantir a conformidade e salvaguardar os recursos críticos contra ações acidentais ou maliciosas.
Caixa de verificação | Atividade |
---|---|
❑ |
Reveja e implemente políticas de gestão de identidade e de acesso (IAM)
seguindo o princípio do menor privilégio para todos os utilizadores e contas
de serviço que acedem à sua base de dados. Atribua apenas as autorizações necessárias
para realizar tarefas específicas e audite regularmente
as autorizações de controlo de acesso para garantir a conformidade com este modelo. Use contas de serviço com privilégios mínimos para processos automatizados de modo a reduzir o risco de acesso não autorizado. Para mais informações, consulte a
vista geral do IAM.
|
❑ |
Se a aplicação exigir acesso restrito a linhas, colunas ou células específicas numa tabela, implemente o controlo de acesso detalhado (FGAC). Conceba e aplique políticas de acesso condicional com base nos atributos do utilizador ou nos valores dos dados para aplicar regras de acesso detalhadas. Reveja e atualize regularmente estas políticas para se alinhar com os requisitos de segurança e conformidade em evolução. Para mais informações, consulte a
Vista geral do controlo de acesso detalhado.
|
❑ |
Implemente horários de cópias de segurança automáticas para garantir uma proteção de dados consistente e fiável. Configure as definições de frequência e retenção para
corresponder às necessidades empresariais e às obrigações regulamentares. Use as funcionalidades de agendamento de cópias de segurança do Spanner para automatizar a criação, a gestão e a monitorização de cópias de segurança. Para mais informações,
consulte o artigo Crie e faça a gestão de agendamentos de cópias de segurança.
|
❑ |
Ative a proteção contra eliminação da base de dados para evitar eliminações acidentais ou não autorizadas. Combine isto com controlos de IAM rigorosos para limitar os privilégios de eliminação a um conjunto pequeno e fidedigno de utilizadores ou contas de serviço. Além disso, configure ferramentas de automatização da infraestrutura, como o Terraform, para incluir salvaguardas contra a eliminação não intencional das suas bases de dados. Esta abordagem em camadas minimiza os riscos para os
ativos de dados críticos. Para mais informações, consulte o artigo
Impeça a eliminação acidental da base de dados.
|
Registo e monitorização
O registo e a monitorização eficazes são essenciais para manter a visibilidade das operações da base de dados, detetar anomalias e garantir o estado do sistema. Ao usar registos de auditoria, rastreio distribuído, painéis de controlo e alertas proativos, pode identificar e resolver rapidamente problemas, otimizar o desempenho e cumprir os requisitos de conformidade.
Caixa de verificação | Atividade |
---|---|
❑ |
Ative o registo de auditoria para capturar informações detalhadas sobre as atividades da base de dados. Configure os níveis de registo de auditoria adequadamente com base nos
requisitos operacionais e de conformidade para monitorizar padrões de acesso e
detetar anomalias de forma eficaz. Tenha em atenção que os registos de auditoria podem aumentar de tamanho, especialmente para pedidos DATA_READ e DATA_WRITE , uma vez que todas as declarações SQL e DML são registadas para estes pedidos respetivos. Para mais informações, consulte o artigo
Registo de auditoria do Spanner.
Encaminhar estes registos para um contentor de registos definido pelo utilizador permite-lhe otimizar os custos de retenção de registos (os primeiros 30 dias não são cobrados) e controlar o acesso aos registos de forma detalhada através das vistas de registos. |
❑ |
Recolha métricas do lado do cliente ao instrumentar a lógica da sua aplicação
com o OpenTelemetry para distribuir a monitorização e a observabilidade. Configure a instrumentação do OpenTelemetry para capturar rastreios e métricas do Spanner, garantindo a visibilidade integral do desempenho da aplicação e das interações com a base de dados. Para mais informações, consulte o artigo
Capture métricas personalizadas por parte do cliente através do OpenTelemetry.
|
❑ |
Crie e configure métricas de monitorização para visualizar o desempenho das consultas, a latência, a utilização da CPU e a utilização do armazenamento.
Use estas métricas para a monitorização em tempo real e a análise do histórico do desempenho da base de dados. Para mais informações, consulte o artigo
Monitorize instâncias com o Cloud Monitoring.
|
❑ |
Defina alertas de monitorização baseados em limites para métricas críticas de forma a
detetar e resolver problemas proativamente. Configure alertas para
condições como latência de consulta elevada, disponibilidade de armazenamento baixa ou
picos inesperados no tráfego. Integre estes alertas com ferramentas de resposta a incidentes para tomar medidas rapidamente. Para mais informações, consulte o artigo
Crie alertas para métricas do Spanner.
|
Biblioteca cliente
A configuração da etiquetagem de operações, dos conjuntos de sessões e das políticas de repetição é vital para otimizar o desempenho, depurar problemas e manter a resiliência no Spanner. Estas medidas melhoram a observabilidade, reduzem a latência e garantem o processamento eficiente das exigências da carga de trabalho e dos erros transitórios, alinhando o comportamento do sistema com os requisitos da aplicação.
Caixa de verificação | Atividade |
---|---|
❑ |
Configure a biblioteca cliente para usar pedidos de consulta significativos e
etiquetas de transação. Pode usar etiquetas de pedidos e transações para
compreender as suas consultas, leituras e transações.
Como prática recomendada, use metadados contextuais, como o componente da aplicação, o tipo de pedido ou o contexto do utilizador, nas suas etiquetas para ativar a depuração e a introspeção melhoradas. Certifique-se de que as etiquetas estão visíveis nas estatísticas e nos registos de consultas para facilitar a análise do desempenho e a resolução de problemas. Para mais informações, consulte o artigo
Resolva problemas com etiquetas de pedidos e etiquetas de transações.
|
❑ |
Otimize a gestão de sessões ativando a partilha de sessões na biblioteca do cliente. Configure as definições do conjunto, como o número mínimo e máximo de sessões, para corresponder às exigências da carga de trabalho e minimizar a latência. Monitorize
regularmente a utilização das sessões para ajustar estes parâmetros e garantir que o
conjunto de sessões oferece vantagens de desempenho consistentes. Para mais
informações, consulte o artigo Sessões.
|
❑ |
Em cenários raros, os parâmetros da biblioteca cliente predefinidos para novas tentativas,
incluindo o número máximo de tentativas e os intervalos de recuo exponencial, têm de ser
configurados para equilibrar a resiliência com o desempenho. Teste estas políticas exaustivamente para garantir que estão alinhadas com as necessidades da aplicação.
Para mais informações, consulte
Configure limites de tempo e novas tentativas personalizados.
|
Apoio técnico
Para minimizar o tempo de inatividade e o impacto, defina funções e responsabilidades claras para incidentes de forma a garantir respostas rápidas e coordenadas a problemas relacionados com o Spanner. Para mais informações, consulte Obtenha apoio técnico.
Caixa de verificação | Atividade |
---|---|
❑ |
Estabeleça uma framework de resposta a incidentes clara, definindo funções e
responsabilidades para todos os membros da equipa envolvidos na gestão de
incidentes relacionados com o Spanner. Designar funções de incidentes, como
comandante de incidentes, responsável pelas comunicações e especialistas
(SMEs) para garantir uma coordenação e uma comunicação eficientes durante
os incidentes. Desenvolver e documentar processos para identificar, encaminhar, mitigar e resolver problemas. Siga as práticas recomendadas descritas no
livro de EFS da Google sobre a resposta a incidentes
e a gestão de incidentes.
Realize simulações e formações de resposta a incidentes regulares para garantir
a prontidão e melhorar a capacidade da equipa de gerir cenários
de alta pressão de forma eficaz.
|
Gestão de custos
A implementação de estratégias de gestão de custos, como o dimensionamento automático e as cópias de segurança incrementais, garante uma utilização eficiente dos recursos e poupanças de custos significativas. Alinhar o aprovisionamento de recursos com as exigências da carga de trabalho e otimizar os ambientes de não produção reduz ainda mais as despesas, mantendo o desempenho e a flexibilidade.
Caixa de verificação | Atividade |
---|---|
❑ |
Avalie e compre CUDs para o Spanner para reduzir os custos
em cargas de trabalho previsíveis. Estes compromissos podem proporcionar
poupanças significativas em comparação com os preços a pedido. Analise os padrões de utilização
históricos para determinar os compromissos de CUD ideais. Para mais
informações, consulte os descontos por utilização garantida
e os preços do Spanner.
|
❑ |
Monitorize a utilização da capacidade de computação e ajuste os recursos aprovisionados
para manter os níveis de utilização da CPU recomendados. O aprovisionamento excessivo de recursos de computação pode gerar custos desnecessários, enquanto o aprovisionamento insuficiente pode afetar o desempenho. Siga as diretrizes de utilização máxima da CPU do Spanner recomendadas para garantir um alinhamento de recursos rentável.
|
❑ |
Ative a escala automática para ajustar dinamicamente a capacidade de computação com base nas
exigências da carga de trabalho. Isto garante um desempenho ideal durante os picos de carga, ao mesmo tempo que reduz os custos durante os períodos de baixa atividade. Configure políticas de escalabilidade com limites superiores e inferiores para controlar os custos e evitar a escalabilidade excessiva. Para mais informações, consulte a
Vista geral do ajuste de escala automático.
|
❑ |
Use cópias de segurança incrementais para reduzir os custos de armazenamento de cópias de segurança.
As cópias de segurança incrementais apenas armazenam as alterações de dados desde a última cópia de segurança. Isto
reduz significativamente os requisitos de armazenamento em comparação com as cópias de segurança completas.
Incorpore cópias de segurança incrementais na sua estratégia de cópia de segurança. Para mais
informações, consulte
Cópias de segurança incrementais.
|
❑ |
Otimize os custos para ambientes de não produção selecionando a configuração de instância mais
adequada e anulando o aprovisionamento de recursos quando
os ambientes não estão a ser usados. Por exemplo, reduza os ambientes não críticos
fora do horário de funcionamento ou automatize o dimensionamento de recursos para cenários de programação
e testes. Esta abordagem minimiza os custos e mantém a flexibilidade operacional.
|