Conteúdo[Esconder][Mostrar]
Bancos de dados são um componente chave de todo programa, seja ele hospedado localmente ou na nuvem.
Devido à crescente necessidade de hospedagem em nuvem, bancos de dados relacionais baseados em nuvem que fornecem consistência, confiabilidade e disponibilidade, bem como suporte a implantações online, são cada vez mais necessários.
Uma ilustração de um banco de dados baseado em nuvem é o Google Cloud Spanner.
Vamos examinar detalhadamente o Google Cloud Spanner neste artigo, incluindo todos os seus recursos, casos de uso, preço e outros detalhes.
O que é a Google Cloud Spanner?
Um SGBD relacional que adota a metodologia NewSQL é o Google Cloud Spanner. Ele garante conformidade com ACID (atomicidade, consistência, isolamento e durabilidade) e é particularmente adequado para OLTP (processamento de transações online).
Ele ainda oferece suporte à arquitetura escalável e é muito escalável, assim como os sistemas NoSQL. Com um design escalável, é simples adicionar mais nós a um cluster existente para distribuir armazenamento e computação de dados e obter escalabilidade.
As vantagens do NoSQL e do NewSQL são fornecidas pelo Google Cloud Spanner.
TrueTime, o relógio sincronizado globalmente do Google, é a base da consistência do Google Spanner. O Google criou o TrueTime, um relógio global amplamente distribuído e altamente disponível, acessível a todos os serviços e servidores em nuvem do Google.
TrueTime garante que um timestamp recém-criado, digamos T1, sempre será maior do que qualquer timestamp T2, desde que T2 tenha sido gerado antes de T1. Como resultado, o True-time é capaz de produzir carimbos de data/hora que crescem monotonicamente, o que significa que eles aumentarão constantemente em todo o domínio.
Os aplicativos podem usar isso para fornecer a cada uma de suas transações registros de data e hora distintos e crescentes. Todos os dados publicados no Google Cloud Spanner recebem um carimbo de data/hora usando TrueTime, e esse carimbo de data/hora é confiável em todo o mundo.
Isso significa que cada transação mantida no Spanner terá um carimbo de data/hora especial associado a ela, que registra o instante exato em que o Spanner processou a transação.
Com a ajuda desses carimbos de data/hora, o Google Cloud Spanner pode oferecer leituras confiáveis de qualquer ponto do mundo sem impedir nenhuma gravação.
Além disso, o Google Cloud Spanner pode fornecer controle de simultaneidade rigoroso para todas as suas transações.
Embora o Google Cloud Spanner possa ter realizado (e/ou duplicado) todas as transações em vários locais, para um usuário externo todas elas parecem ter acontecido sequencialmente, uma após a outra. Em outras palavras, o Google Cloud Spanner funciona como um banco de dados de máquina única para usuários externos.
Um pedido de carimbo de data/hora global é fornecido pelo Google Cloud Spanner, que as transações podem usar para operações e consultas subsequentes. Os usuários tiveram que decidir entre desempenho lento + garantias mais fortes OU ótimo desempenho + garantias mais fracas em sistemas de banco de dados anteriores.
No entanto, o Google Cloud Spanner pode oferecer garantias robustas, alta integridade de transações e desempenho mais rápido. Os desenvolvedores devem se preocupar apenas em garantir que cada uma de suas transações seja válida e sua lógica de aplicação, em vez de se preocupar com quaisquer conflitos ou disputas entre suas muitas transações.
Funcionalidades
- A maioria dos aplicativos é simples de criar, integrar e testar.
- Pode ser caracterizado como um banco de dados NewSQL, pois suporta tanto NoSQL quanto SQL, resolvendo os problemas de escalabilidade e desempenho com bancos de dados SQL convencionais.
- Sua precisão é bastante grande, pois sincroniza o tempo usando relógios atômicos e tecnologias de GPS.
- Transações entre tabelas são suportadas.
- Inclui recursos administrativos e de gerenciamento sofisticados, incluindo backup, recuperação, capacidade de criar instâncias de SLA e muito mais.
- Para instâncias locais e multirregionais, oferece 99.999% de disponibilidade.
- Escala horizontalmente suavemente com pouco obstáculo. O benefício da escalabilidade horizontal é que, quando servidores adicionais são adicionados, o desempenho do sistema melhora significativamente.
- Para construir um único ciclo de vida de dados, ele oferece consultas de big data em tempo real.
- Com base no volume da solicitação e no tamanho dos dados, ele fragmenta os dados automaticamente.
- Ele não seleciona automaticamente um índice secundário, apesar de serem suportados.
- A replicação transparente é oferecida em muitas configurações e geografias.
- fornece análises e dados sofisticados.
- Dados de diferentes aplicativos e sistemas de armazenamento estão sincronizados.
- Dependências físicas entre tabelas de banco de dados são possíveis.
- Para recuperação contínua de dados, oferece Recuperação pontual (PITR). Além disso, você pode recuperar dados até o nível de microssegundos.
- Chaves de criptografia gerenciadas pelo cliente (CMEK), integração de IAM, criptografia de camada de dados e outras medidas de segurança de nível empresarial estão incluídas.
Os casos de uso
1. Sites de comércio eletrônico em todo o mundo
Solicitar produtos, receber pagamentos e atualizar estoques são funções do sistema transacional que definem o comércio eletrônico. Grandes pegadas nacionais ou mundiais podem ser vistas em muitos sites de comércio eletrônico.
Tornar os bancos de dados transacionais consistentes globalmente tem várias vantagens, incluindo garantir a integridade dos dados e minimizar a necessidade de soluções criativas de engenharia de software para resolver problemas de consistência de dados.
2. Processando análises em tempo real
Vários recursos de ponta que facilitam o processamento analítico estão incluídos no Google Cloud Spanner. Essas melhorias incluem coisas como melhor velocidade de consulta, índices de particionamento e carregamento de dados, entre outros. Isso torna este RDBMS uma excelente opção para um sistema de processamento analítico mundial totalmente baseado em nuvem.
3. Recuperação de desastres (DR)
A DR é crucial, mas altamente desafiadora para ser implementada, especialmente se você aderir à prática recomendada de empregar locais distantes da DR para se proteger contra calamidades locais. Na realidade, muitas empresas de TI criam backups e esperam nunca precisar deles.
Para DR, o Spanner fornece uma rota futura prática. Replicar os dados em um banco de dados do Spanner para um local distante restaurará um aplicativo sem a necessidade de reconstruí-lo usando dados de uma fita de backup.
Crie novos recursos de computador em um local diferente e conecte-os ao sistema de banco de dados Spanner de backup caso o site principal fique disponível. Devido à sua simplicidade, a DR agora é acessível a muito mais departamentos de TI.
4. Minimizando a intervenção manual enquanto aumenta o tempo de resposta
O desempenho de um banco de dados típico diminui quando o número de usuários atinge os níveis de limite predeterminados. São necessários muitos estágios para restaurar o desempenho, incluindo a avaliação das medidas de desempenho e o dimensionamento do banco de dados conforme necessário.
Como há um tamanho máximo para um servidor, o dimensionamento horizontal é difícil, enquanto o dimensionamento vertical é simples. Nessas circunstâncias, o Google Cloud Spanner pode ser uma opção prática, pois gerencia o dimensionamento horizontal com pouca intervenção.
5. Banco de dados de jogos
Estruturas de banco de dados complexas são necessárias para rastrear o desempenho e os dados do jogador em jogos online, especialmente jogos multiplayer. Dado que frequentemente requer sharding, muitas empresas lutam para crescer e gerenciar essa complexidade.
Além disso, como os bancos de dados NoSQL podem se adaptar às mudanças no modelo de dados subjacente, eles são uma opção superior para jogos. A redundância também é um componente crucial do software do jogo.
Uma vez que suporta todas estas características, O Google Spanner é uma opção adequada para um banco de dados de jogos. Acreditamos que, ao demonstrar esses casos de uso, você poderá ver a versatilidade do Google Cloud Spanner e determinar se ele é uma boa opção para sua empresa.
6. Serviços financeiros
As restrições regulatórias e as expectativas dos clientes neste setor são uma tempestade perfeita. Agências reguladoras, bancos e empresas de fintech devem se comunicar de forma contínua e perfeita.
Além disso, centenas de milhões de transações devem ser tratadas sem falhas por programas como gateways de pagamento e serviços bancários online ao mesmo tempo que passa por complexos procedimentos antifraude e de liquidação.
Para lidar com esse fluxo contínuo de dados no passado, os bancos de dados históricos tiveram que ser meticulosamente rearquitetados e soluções personalizadas instáveis foram usadas. A tempestade é facilmente controlada pelo Google Cloud Spanner.
Limitação
No entanto, ele tem algumas limitações, incluindo a incapacidade de lidar com exibições de banco de dados, a falta de permissões granulares ou configurações de função e a necessidade de algumas soluções alternativas para utilizar totalmente todos os nós. Ao fazer uma escolha, mantenha essas restrições em mente também.
Preços
O custo do Spanner é direto e previsível. Você é pago apenas pelo armazenamento que as tabelas e índices secundários do seu banco de dados utilizam (não pré-provisionados), armazenamento de backup, quantidade de saída de rede e capacidade de computação de sua instância (medida em vários nós ou unidades de processamento).
Conclusão
Um produto genuinamente surpreendente, o Google Spanner é um excelente exemplo da tremenda proeza tecnológica do Google.
Se o Google continuar lançando esses produtos inovadores, em breve superará outros concorrentes na nuvem e assumirá uma posição como concorrente.
Deixe um comentário