Banco de dados Cloud

Desde bancos de dados tradicionais rodando em máquinas virtuais em nuvem (VMs), até bancos de dados NoSQL como um serviço (DBaaS) totalmente gerenciados, os bancos de dados em nuvem estão transformando o desenvolvimento de aplicativos.

O que é um banco de dados na nuvem?

Um "banco de dados em nuvem" pode ser uma de duas coisas distintas: um banco de dados tradicional ou NoSQL instalado e rodando em uma máquina virtual em nuvem (seja uma nuvem pública, privada ou plataformas híbridas de nuvem), ou a oferta de um provedor de nuvem totalmente gerenciado database-como-um-serviço (DBaaS). O primeiro, rodando seu próprio banco de dados autogerido em um ambiente de nuvem, realmente não é diferente de operar um banco de dados tradicional. O Cloud DBaaS, por outro lado, é o equivalente natural base de dados do software como serviço (SaaS): pague à medida que você utilizar, e somente pelo que você usa, e deixe o sistema lidar com todos os detalhes de provisionamento e escalonamento para atender a demanda, mantendo ao mesmo tempo um alto desempenho consistente.

Opções de bancos de dados na nuvem

Traditional database running on cloud virtual machine (VM)

Fully managed database-as-a-service

Na maioria das vezes (e durante a maior parte do restante desta página), o termo "banco de dados em nuvem" se refere a um banco de dados em nuvem como um serviço.

Por que usar um banco de dados na nuvem/DBaaS?

Os benefícios-chave dos bancos de dados em nuvem são acessíveis de qualquer lugar, escaláveis desde o primeiro dia, e projetados para confiabilidade e desempenho.

Facilidade de uso e agilidade

Se sua equipe já está desenvolvendo software na infraestrutura da nuvem, ou no processo de migração de aplicativos legados para a nuvem, faz sentido que cloud-native as ofertas de bancos de dados estejam crescendo em popularidade.

Modernas plataformas de banco de dados como serviço permitem fácil (mas controlado) acesso a partir de sistemas em nuvem e não em nuvem* através de APIs e drivers consistentes, simplificando o acesso a recursos críticos. As arquiteturas de microsserviços, em particular, se beneficiam de recursos de banco de dados centralizados e facilmente acessíveis, uma vez que muitas aplicações precisam acessar e compartilhar dados.

Enquanto os bancos de dados SQL em nuvem servem em muitos casos, a flexibilidade dos bancos de dados NoSQL de hoje em dia cloud melhora drasticamente a agilidade tanto no gerenciamento de dados quanto no desenvolvimento de software. Não há necessidade de tempo parado para atualizações do sistema, reequilíbrio de clusters ou provisionamento de hardware mais rápido, ou mesmo fazer mudanças nos esquemas e estruturas.

Se você está pensando que o NoSQL não significa nenhum controle sobre a qualidade dos dados, você pode querer ver como a MongoDB consegue fornecer garantias estruturais sem sacrificar a flexibilidade máxima do modelo de documento.

Escalabilidade e desempenho

O verdadeiro teste de um sistema de gerenciamento de dados é como ele se adapta e funciona sob carga elevada.

Qualquer que seja a tecnologia de banco de dados que funcione melhor para você, os serviços de banco de dados em nuvem são tipicamente projetados para escalar automaticamente para acomodar o crescimento de dados, e para fora para lidar com a carga com características consistentes de desempenho. O que não pode ser sintonizado automaticamente, um bom banco de dados como serviço o alertará automaticamente, de modo que você possa otimizar seus índices e padrões de acesso a fim de atingir seus objetivos de desempenho.

Não só é geralmente mais barato usar um banco de dados de nuvens totalmente gerenciado do que manter seu próprio banco de dados, como também requer menos trabalho manual, de modo que você e a sua equipe podem se concentrar em fornecer valor*.

Confiabilidade e Recuperação de desastres

Há poucas coisas piores do que ter um banco de dados de missão crítica off-line - exceto para perder todos os dados dentro dele.

As bases de dados em nuvem são normalmente replicadas e apoiadas por padrão, de modo que nenhum ponto de falha pode colocar sua aplicação offline, e até mesmo incidentes catastróficos são mitigados por backups regulares e automatizados e recuperação de desastres.

MongoDB Atlas, o banco de dados de nuvem MongoDB, é automaticamente replicado e apoiado em tempo real, permitindo a restauração pontual, dando-lhe uma camada extra de confiança.

Se sua equipe já está desenvolvendo software na infraestrutura da nuvem, ou no processo de migração de aplicativos legados para a nuvem, faz sentido que cloud-native as ofertas de bancos de dados estejam crescendo em popularidade.

Modernas plataformas de banco de dados como serviço permitem fácil (mas controlado) acesso a partir de sistemas em nuvem e não em nuvem* através de APIs e drivers consistentes, simplificando o acesso a recursos críticos. As arquiteturas de microsserviços, em particular, se beneficiam de recursos de banco de dados centralizados e facilmente acessíveis, uma vez que muitas aplicações precisam acessar e compartilhar dados.

Enquanto os bancos de dados SQL em nuvem servem em muitos casos, a flexibilidade dos bancos de dados NoSQL de hoje em dia cloud melhora drasticamente a agilidade tanto no gerenciamento de dados quanto no desenvolvimento de software. Não há necessidade de tempo parado para atualizações do sistema, reequilíbrio de clusters ou provisionamento de hardware mais rápido, ou mesmo fazer mudanças nos esquemas e estruturas.

Se você está pensando que o NoSQL não significa nenhum controle sobre a qualidade dos dados, você pode querer ver como a MongoDB consegue fornecer garantias estruturais sem sacrificar a flexibilidade máxima do modelo de documento.

O verdadeiro teste de um sistema de gerenciamento de dados é como ele se adapta e funciona sob carga elevada.

Qualquer que seja a tecnologia de banco de dados que funcione melhor para você, os serviços de banco de dados em nuvem são tipicamente projetados para escalar automaticamente para acomodar o crescimento de dados, e para fora para lidar com a carga com características consistentes de desempenho. O que não pode ser sintonizado automaticamente, um bom banco de dados como serviço o alertará automaticamente, de modo que você possa otimizar seus índices e padrões de acesso a fim de atingir seus objetivos de desempenho.

Não só é geralmente mais barato usar um banco de dados de nuvens totalmente gerenciado do que manter seu próprio banco de dados, como também requer menos trabalho manual, de modo que você e a sua equipe podem se concentrar em fornecer valor*.

Há poucas coisas piores do que ter um banco de dados de missão crítica off-line - exceto para perder todos os dados dentro dele.

As bases de dados em nuvem são normalmente replicadas e apoiadas por padrão, de modo que nenhum ponto de falha pode colocar sua aplicação offline, e até mesmo incidentes catastróficos são mitigados por backups regulares e automatizados e recuperação de desastres.

MongoDB Atlas, o banco de dados de nuvem MongoDB, é automaticamente replicado e apoiado em tempo real, permitindo a restauração pontual, dando-lhe uma camada extra de confiança.

Casos de uso comuns de banco de dados na nuvem

Os bancos de dados em nuvem funcionam, na maioria dos casos, como os bancos de dados tradicionais. Eles são particularmente valiosos na construção de produtos de software que:

Are cloud-native

Require large volume of data

Need to handle high scale traffic

Are distributed geographically

As aplicações de dados que tiram proveito da centralização, como a modernização e análise de legados, também são candidatas fantásticas para o uso do banco de dados em nuvem.

Enquanto certos casos de uso são candidatos mais óbvios para o uso de banco de dados em nuvem, casos de uso mais tradicionais, como processamento de transações online em tempo real, cache ou trabalho de armazenamento de dados também são bem sucedidos no paradigma totalmente gerenciado.

Real-time transaction processing

Legacy database migration

Mobile application development

Internet of Things

Caching

Analytics

Considerações sobre bancos de dados em nuvem

Se você ainda está pensando se um banco de dados em nuvem é adequado para você, ou no processo de seleção do banco de dados ideal como um serviço para suas necessidades, há alguns fatores-chave a serem levados em consideração:

Provedores de bancos de dados na nuvem

Enquanto alguns bancos de dados de nuvens estão disponíveis em todos os fornecedores de nuvens (MongoDB Atlas funciona em qualquer grande fornecedor público de nuvens), outros são específicos de um fornecedor (por exemplo Cloud Bigtable no Google, ou RDS no Amazon Web Services).

Se você tiver um página existente, requisitos de compatibilidade ou relacionamentos existentes que ditam a escolha de seu provedor de nuvens, então suas opções serão o banco de dados auto-gerenciado em VMs de nuvens, ou o banco de dados como produto de serviço oferecido por ou sobre aquele provedor de nuvem.

Outras estratégias, como multinuvem ou nuvem híbrida poderiam ditar que você aproveite múltiplas nuvens públicas e privadas, o que reduziria suas escolhas de banco de dados a produtos que operam entre fornecedores e/ou no local.

  • Bloqueio da plataforma.

  • Requisitos de tecnologia.

  • Estratégia do provedor de nuvem.

Tecnologia do banco de dados

Você pode estar procurando por uma oferta compatível com o SQL para trabalhar com sistemas, processos ou conjuntos de habilidades existentes, ou estar mais interessado em uma oferta NoSQL adaptada às necessidades de seu sistema. Às vezes, outras escolhas na pilha de tecnologia* de sua equipe, como linguagem de programação, farão com que uma ou outra tecnologia de banco de dados se encaixe melhor, e você deve olhar atentamente se um determinado fornecedor ou plataforma se encaixa em seu processo de desenvolvimento.

  • É compatível?

  • É portável?

  • Encaixa-se no meu caso de uso?

Sistema de gerenciamento

Você tem as pessoas e as habilidades necessárias para administrar a tecnologia de banco de dados correta? Se tiver, então bancos de dados gerenciados por ele mesmo em VMs em nuvem podem funcionar bem para você. Mesmo assim, porém, você deve considerar plataformas DBaaS* gerenciadas de forma eficiente que assumem grande parte da carga gerencial para você, e liberam sua equipe para projetos mais avançados.

  • VM x DBaaS

  • Desempenho/SLAs

  • Escalabilidade/crescimento

  • Monitoramento

Modelo de custo

Outro benefício dos bancos de dados de nuvens é uma mudança para preços baseados no uso ou no consumo*. Isto significa que ao invés de fazer investimentos iniciais antes mesmo de saber quais serão suas necessidades finais de recursos, você pode começar pequeno e aumentar conforme necessário*.

  • Baseado em VM, baseado em licença ou baseado em uso

  • Combinando seu modelo de preços com seu modelo de negócio

Segurança

O custo das violações de dados está apenas aumentando, e o escrutínio regulatório está em um nível sem precedentes. Os bancos de dados gerenciados em nuvem incorporam as melhores práticas de segurança em camadas, mantêm os sistemas atualizados automaticamente e aproveitam a ampla experiência para implementar as configurações mais seguras. Por que se preocupar com tudo isso?

  • Controle de acesso e auditoria

  • Melhores práticas de segurança gerenciadas e estratificadas

Extras

As ofertas atuais de banco de dados em nuvem como serviço podem trazer muito mais do que apenas o banco de dados em si. O MongoDB Atlas, por exemplo, inclui conectores compatíveis com SQL, gráficos e gráficos integrados e ferramentas para construir fluxos de trabalho orientados por dados com triggers e computação sem servidor, e muito mais.

  • Análise

  • Conectores

  • Relatórios

  • Auditoria

  • Gatilhos e processamento.

Enquanto alguns bancos de dados de nuvens estão disponíveis em todos os fornecedores de nuvens (MongoDB Atlas funciona em qualquer grande fornecedor público de nuvens), outros são específicos de um fornecedor (por exemplo Cloud Bigtable no Google, ou RDS no Amazon Web Services).

Se você tiver um página existente, requisitos de compatibilidade ou relacionamentos existentes que ditam a escolha de seu provedor de nuvens, então suas opções serão o banco de dados auto-gerenciado em VMs de nuvens, ou o banco de dados como produto de serviço oferecido por ou sobre aquele provedor de nuvem.

Outras estratégias, como multinuvem ou nuvem híbrida poderiam ditar que você aproveite múltiplas nuvens públicas e privadas, o que reduziria suas escolhas de banco de dados a produtos que operam entre fornecedores e/ou no local.

  • Bloqueio da plataforma.

  • Requisitos de tecnologia.

  • Estratégia do provedor de nuvem.

Você pode estar procurando por uma oferta compatível com o SQL para trabalhar com sistemas, processos ou conjuntos de habilidades existentes, ou estar mais interessado em uma oferta NoSQL adaptada às necessidades de seu sistema. Às vezes, outras escolhas na pilha de tecnologia* de sua equipe, como linguagem de programação, farão com que uma ou outra tecnologia de banco de dados se encaixe melhor, e você deve olhar atentamente se um determinado fornecedor ou plataforma se encaixa em seu processo de desenvolvimento.

  • É compatível?

  • É portável?

  • Encaixa-se no meu caso de uso?

Você tem as pessoas e as habilidades necessárias para administrar a tecnologia de banco de dados correta? Se tiver, então bancos de dados gerenciados por ele mesmo em VMs em nuvem podem funcionar bem para você. Mesmo assim, porém, você deve considerar plataformas DBaaS* gerenciadas de forma eficiente que assumem grande parte da carga gerencial para você, e liberam sua equipe para projetos mais avançados.

  • VM x DBaaS

  • Desempenho/SLAs

  • Escalabilidade/crescimento

  • Monitoramento

Outro benefício dos bancos de dados de nuvens é uma mudança para preços baseados no uso ou no consumo*. Isto significa que ao invés de fazer investimentos iniciais antes mesmo de saber quais serão suas necessidades finais de recursos, você pode começar pequeno e aumentar conforme necessário*.

  • Baseado em VM, baseado em licença ou baseado em uso

  • Combinando seu modelo de preços com seu modelo de negócio

O custo das violações de dados está apenas aumentando, e o escrutínio regulatório está em um nível sem precedentes. Os bancos de dados gerenciados em nuvem incorporam as melhores práticas de segurança em camadas, mantêm os sistemas atualizados automaticamente e aproveitam a ampla experiência para implementar as configurações mais seguras. Por que se preocupar com tudo isso?

  • Controle de acesso e auditoria

  • Melhores práticas de segurança gerenciadas e estratificadas

As ofertas atuais de banco de dados em nuvem como serviço podem trazer muito mais do que apenas o banco de dados em si. O MongoDB Atlas, por exemplo, inclui conectores compatíveis com SQL, gráficos e gráficos integrados e ferramentas para construir fluxos de trabalho orientados por dados com triggers e computação sem servidor, e muito mais.

  • Análise

  • Conectores

  • Relatórios

  • Auditoria

  • Gatilhos e processamento.

Banco de dados em nuvem MongoDB Atlas

O MongoDB pode ser instalado e executado em qualquer fornecedor de nuvem ou rede local como um cluster de banco de dados auto-gerenciado ou máquina virtual, ou em AWS, GCP, ou Azure usando o MongoDB Atlas, nossa oferta de banco de dados de nuvem como serviço (DBaaS). Há grandes benefícios em adotar a opção DBaaS, incluindo:

Simplified management

Elastic autoscaling

Redundancy, backup, and restore

Charts

Connectors

Schema navigator

O MongoDB Atlas, parte da plataforma mais ampla de desenvolvimento de dados como serviço (DaaS) da MongoDB, é uma alternativa poderosa e convincente ao gerenciamento de seu próprio NoSQL, ou banco de dados tradicional, ou usando uma oferta gerenciada específica de provedores de nuvem.

A maneira como um banco de dados em nuvem funciona é que ao invés de instalar, configurar e manter uma instância ou instâncias de banco de dados, um sistema automatizado é capaz de fornecer, gerenciar e dimensionar o cluster de banco de dados subjacente para você.

Serviços de banco de dados totalmente gerenciados lidam com as complexidades de manter um cluster consistentemente disponível e de alto desempenho de uma forma que permite a você, o desenvolvedor, acessá-lo como um recurso simples e disponível globalmente.

Você pode tratar o cluster como uma única instância de banco de dados, coberta por um modelo transparente de preços baseado no uso, de modo que você nunca se preocupa com excesso ou falta de provisionamento.