Quais são as opções de implementação de banco de dados?

Ao escolher um banco de dados para administrar sua organização, muitos fatores precisam ser considerados. Ele fornece o desempenho, a escala e a disponibilidade necessários? Oferece flexibilidade e eficiência ao dar suporte a todas as cargas de trabalho corporativas? Permite inovação com machine learning integrado, análise avançada e ferramentas de desenvolvimento de aplicações?

As organizações exigem um amplo conjunto de recursos em suas aplicações para fornecer o nível de serviço que seus clientes esperam em um ambiente de negócios em constante mudança. Decidir onde implementar os bancos de dados que dão suporte a um portfólio de aplicações é crucial, pois há vantagens e desvantagens para cada opção de implementação.

Escolha as opções de banco de dados e implementação corretas

Ao decidir onde localizar os bancos de dados que sua organização precisa, é importante considerar o tipo de aplicação que cada banco de dados suporta, os fluxos de dados entre os bancos e as aplicações e o nível de criticidade de cada um. As principais aplicações corporativas precisam de níveis mais altos de desempenho, escala, disponibilidade e segurança. Independentemente do local onde esses bancos de dados são executados, eles devem fornecer recursos essenciais, incluindo:

  • Suporte a tipos de dados multimodelo: Um único banco de dados que suporta TODOS os tipos de dados, incluindo JSON nativo, simplifica muito a implementação do sistema, pois apenas um conjunto de conhecimento administrativo é necessário.
  • Integração de dados: Todos os tipos de dados devem ser acessíveis em todas as aplicações, conforme desejado. Os recursos de integração de dados reduzem a necessidade de códigos ou serviços complexos no nível da aplicação para reunir os dados.
  • Análise: Sua organização deve ser capaz de analisar e entender o que todos os seus dados realmente significam. Deve ser possível aplicar análises em vários tipos de dados, como relacionais, de texto, espaciais e gráficos. Bancos de dados com recursos integrados de análise avançada permitem que as organizações entendam seus dados mais rapidamente e com menos produtos ou serviços externos adicionais.
  • Machine learning: As organizações de hoje precisam ser capazes de construir modelos de machine learning dentro do banco de dados e executá-los em dados novos e históricos para descobrir novos insights. Bancos de dados com recursos integrados de modelagem e inferência de machine learning permitem que as organizações evitem o demorado processo de extração, transformação e movimentação de dados para um sistema externo.
  • Dados convergentes e recursos de acesso: Quando o mesmo banco tem suporte a tipos de dados multimodelo, integração de dados, vários tipos de análise e recursos de machine learning, ele é chamado de banco de dados convergente. Bancos de dados convergentes aumentam a eficiência operacional e reduzem custos com desenvolvimento de aplicações mais rápido e fácil, cargas de trabalho de gerenciamento reduzidas e níveis mais altos de consolidação de banco de dados e infraestrutura.
  • Desenvolvimento de aplicações: Ferramentas integradas e ambientes de desenvolvimento low-code tornam mais rápido e fácil para desenvolvedores e usuários avançados criarem aplicações inovadoras sem a necessidade de ferramentas ou serviços adicionais.
  • Consolidação: Consolidar vários bancos de dados para execução em um conjunto de infraestrutura de nuvem ou data center melhora a utilização de recursos, reduz o gerenciamento e diminui os custos gerais. Um aspecto fundamental proporcionado pelos bancos de dados convergentes é a capacidade de consolidar diferentes tipos de cargas de trabalho na mesma infraestrutura. O nível máximo de consolidação que uma organização alcança depende da sua infraestrutura de hardware subjacente e da abordagem de implementação. O hardware projetado especificamente para executar bancos de dados fornece o mais alto nível de desempenho e consolidação.
  • Automação de gerenciamento: Um banco de dados autônomo que usa machine learning para automatizar muitas tarefas rotineiras de gerenciamento e reduzir erros humanos permite que os administradores de banco de dados operem de forma mais eficiente e ofereçam melhor suporte à inovação na linha de negócios.
  • Segurança e gerenciamento de identidade: Não se preocupe com acesso não autorizado a informações cruciais. Uma segurança forte e consistente em um banco de dados convergente ajuda as organizações a reduzir ameaças contra dados comerciais cruciais e informações privadas.

Além desses recursos principais do banco de dados, a plataforma de implementação permite ou restringe como você pode usá-los. No entanto, os bancos de dados corporativos devem ter alta disponibilidade incorporada nos níveis de software e hardware para dar suporte a operações 24 horas por dia, 7 dias por semana. A recuperação de desastres também é essencial, principalmente quando se trata de organizações geograficamente dispersas e ameaças de ransomware. E, embora muitas pessoas possam ignorar isso, o alto desempenho é fundamental, pois permite que aplicações essenciais aos negócios suportem transações e análises de alto volume necessárias para dar suporte ao crescimento.

Por exemplo, uma empresa de varejo que precisa habilitar muitas transações de clientes e executar relatórios quase em tempo real com base em dados atuais pode escolher uma solução de banco de dados convergente na nuvem, enquanto um banco que exige o nível máximo de segurança e residência de dados pode precisar de uma solução em execução em seu próprio data center.


Locais para implementação de bancos de dados

As empresas precisam analisar não apenas quais bancos de dados atendem melhor às suas necessidades, mas também onde implementá-los. Essas escolhas estão inter-relacionadas porque um banco de dados específico pode ser executado apenas em um local, ou a plataforma na qual ele é executado em um lugar é muito superior à disponível em outro. Uma maneira fácil de combinar isso é verificar se o banco de dados preferido pode ser executado nos locais desejados, por exemplo, na nuvem pública, em um data center privado, em uma nuvem dentro do data center ou em um ambiente de borda.


Implementação de bancos de dados em data centers de clientes

A implementação de bancos de dados em data centers de clientes oferece diversas vantagens. Os bancos de dados estão fisicamente próximos de outros sistemas, aplicações, recursos e usuários para que os dados possam ser acessados ​​com baixa latência. Em um data center on-premises, os bancos de dados e a infraestrutura ficam totalmente sob controle do cliente, o que atende aos requisitos de residência de dados, bem como a muitas práticas recomendadas do setor. Algumas práticas comerciais também exigem o uso de um modelo financeiro de despesas de capital (CapEx), o que é facilitado pela implementação de recursos em data centers de clientes. Essa abordagem requer um administrador de banco de dados (DBA) para gerenciar a infraestrutura de hardware subjacente, bem como o banco de dados.

Há duas opções para essa abordagem:

  • Soluções integradas ao cliente: Isso significa que os departamentos internos de TI fornecem toda a experiência e o gerenciamento necessários para adquirir, integrar, corrigir e proteger todas as várias partes do ambiente. A integração e o gerenciamento "faça você mesmo" de software de servidor, armazenamento, rede, virtualização, sistema operacional e banco de dados de vários fornecedores podem ser uma tarefa demorada e onerosa.
  • Soluções integradas pré-criadas: Essa abordagem é muito mais fácil de implementar e gerenciar, pois todos os componentes de hardware e software já estão projetados, integrados e otimizados para trabalhar juntos. Soluções integradas eliminam a necessidade de os departamentos de TI gastarem tempo fazendo os componentes funcionarem juntos e ajustando-os para obter o desempenho máximo. Para pequenas e médias empresas, uma solução integrada e completa para executar o banco de dados e a aplicação em conjunto é uma abordagem econômica. Usando essas soluções integradas, as organizações podem eliminar a complexidade do data center usando menos infraestrutura, reduzindo assim os custos gerais e economizando tempo.

Implementação de bancos de dados em nuvens públicas

Para muitas organizações, executar seus bancos de dados em uma nuvem pública é uma escolha atraente. Tem a vantagem de ser rápido de implementar, sem potencialmente nenhuma necessidade de capital inicial. Nuvens públicas também fornecem algum nível de infraestrutura e gerenciamento de software. A implementação em uma nuvem pública não requer nenhum investimento em espaço de data center, maquinário ou equipe de operações de hardware, o que pode reduzir custos. Além disso, os usuários podem criar bancos de dados em minutos, pois não há necessidade de instalar e gerenciar separadamente todos os componentes de hardware e software para executá-los. A abordagem de nuvem pública permite que os clientes aproveitem facilmente recursos adicionais ou diferentes ao longo do tempo, conforme as cargas de trabalho evoluem.

Ao usar uma nuvem pública, há diferentes abordagens que as organizações podem adotar e diferentes contrapartidas para cada uma delas. Essas diferentes abordagens estão sendo implementadas em ambientes de Infraestrutura como Serviço (IaaS), Plataforma como Serviço (PaaS), multicloud, nuvens públicas em data centers de clientes e nuvens privadas.

Implementação de bancos de dados em IaaS

Uma abordagem é criar um ambiente de banco de dados na nuvem em infraestrutura bare metal ou virtualizada e, então, gerenciar essa infraestrutura como se estivesse on-premises. Isso permite que a infraestrutura seja adaptada exatamente como desejado e elimina a necessidade de gerenciar hardware e, potencialmente, software de virtualização. É necessário tempo significativo de DBA e experiência em gerenciamento de sistemas para administrar essa implementação de forma contínua.

Há razões específicas para escolher essa abordagem:

  • A carga de trabalho requer um banco de dados ou uma versão diferente daquela disponível em um serviço totalmente gerenciado. Cada banco de dados é normalmente implementado na nuvem em uma máquina virtual (VM).
  • Os clientes estão migrando aplicações corporativas (de terceiros ou desenvolvidas internamente) para a nuvem. Se o provedor de IaaS oferece formas de computação e recursos de armazenamento que dão suporte aos requisitos atuais de implementação on-premises de uma organização, o uso de IaaS facilita a movimentação da infraestrutura completa de aplicações para a nuvem. Isso reduzirá o custo total de propriedade (TCO) da organização e melhorará a produtividade do administrador do banco de dados.

A implementação de bancos de dados em ambientes IaaS pode ser melhor para organizações que usam bancos de dados altamente especializados, especialmente aqueles que são pequenos, com pouca probabilidade de crescimento e fortemente integrados às aplicações.

Implementação de bancos de dados em PaaS

Também conhecido como banco de dados como serviço (DBaaS), esse tipo de serviço de nuvem fornece o software de computação e armazenamento que os clientes precisam para executar um banco de dados. Alguns desses serviços eliminam a necessidade de os DBAs configurarem ou gerenciarem hardware físico, instalarem software ou configurarem o banco de dados. Um ambiente DBaaS permite que os usuários provisionem bancos de dados em questão de minutos, elimina o trabalho de gerenciamento do sistema e geralmente reduz a quantidade de administração de banco de dados necessária. Existem várias opções para implementar bancos de dados em um ambiente DBaaS:

  • Bancos de dados de propósito único implementados em infraestrutura genérica: Normalmente, essa abordagem exige que o cliente implemente vários bancos de dados diferentes para dar suporte a diferentes partes da sua carga de trabalho corporativa e use diferentes serviços adicionais para vincular os todos os bancos de dados. Ter vários bancos e ferramentas para mover dados aumenta as cargas de trabalho do DBA, potencialmente introduz falhas de segurança e aumenta os custos.
  • Serviço de banco de dados convergente em infraestrutura genérica: Esta opção oferece suporte a todos os tipos de cargas de trabalho, de dados e aplicações. Reduz a complexidade e os custos, mas é limitado no desempenho e na escala que pode oferecer.
  • Serviço de banco de dados convergente em infraestrutura integrada e otimizada: Essas implementações oferecem simplicidade e flexibilidade da infraestrutura genérica, ao mesmo tempo que eliminam preocupações sobre desempenho e dimensionamento. A infraestrutura é pré-otimizada e pré-configurada para todos os tipos de dados e bancos e oferece suporte a altos níveis de consolidação de banco de dados e infraestrutura. Essa abordagem ajuda os clientes a atender aos requisitos para dar suporte a cargas de trabalho críticas aos negócios e permite um crescimento mais simples no futuro.
  • Solução de banco de dados autônomo: Esta abordagem estende as anteriores usando um banco de dados convergente com automação baseada em machine learning para eliminar tarefas de administração de banco de dados. As organizações obtêm alto desempenho, confiabilidade, segurança (PDF) e eficiência operacional, ao mesmo tempo em que reduzem custos.

Dentro das abordagens de banco de dados convergente e autônomo, as organizações podem usar vários tipos diferentes de infraestrutura:

  • Infraestrutura compartilhada
    • Vários usuários compartilham os mesmos recursos da plataforma na nuvem pública, com cada usuário consumindo recursos de vCPU.
    • O dimensionamento automático ajuda você a equilibrar desempenho e custos, aumentando o desempenho durante períodos de pico e reduzindo quando há menor demanda de carga de trabalho.
    • Os clientes podem começar pagando menos com a economia de pagamento por uso e sem compromisso mínimo exigido.
  • Infraestrutura dedicada (PDF)
    • Os clientes operam com computação e armazenamento dedicados, alcançando isolamento completo de dados e operações, eliminando "noisy neighbors" e ajudando a atender a certos requisitos de segurança.
    • Servidores, armazenamento e redes dedicados oferecem maior controle sobre as políticas operacionais.
    • A infraestrutura dedicada maximiza os benefícios da consolidação de banco de dados na nuvem, melhorando a utilização de recursos e reduzindo custos.
  • Além da escolha de implementação, as opções de banco de dados convergentes e autônomos podem ser ajustadas para oferecer suporte a tipos específicos de cargas de trabalho e, ao mesmo tempo, oferecer suporte a todas as demais. Alguns desses tipos de carga de trabalho incluem:

  • Análise e armazenamento de dados: Um armazenamento de dados totalmente automatizado elimina as complexidades da sua operação. Ele oferece os recursos combinados de um data lake, ciência de dados e machine learning com um recurso simples, seguro e de autoatendimento para processamento analítico e insights de negócios.
  • Processamento de transações e cargas de trabalho mistas: Um banco de dados de processamento de transações totalmente automatizado simplifica as operações para aplicações OLTP e de carga de trabalho mista com análises em tempo real e altos níveis de desempenho e escala. Em uma infraestrutura dedicada, isso fornece uma plataforma ideal para a consolidação de banco de dados.
  • Cargas de trabalho de banco de dados de documentos: Os desenvolvedores criam e implementam rapidamente aplicações centradas em JSON, como Customer 360, gerenciamento de conteúdo e catálogo e aplicativos móveis, com APIs de documentos no estilo NoSQL. Os desenvolvedores não precisam se preocupar em criar modelos de dados ou escrever códigos complexos. As organizações podem aproveitar os recursos de automação subjacentes do banco de dados para maximizar o desempenho e a segurança.

A implementação de bancos de dados em ambientes PaaS pode ser melhor para organizações que desejam minimizar as operações de infraestrutura e gerenciamento de banco de dados ou que buscam reduzir os custos gerais ao consolidar a infraestrutura de centenas a milhares de bancos de dados. Bancos de dados autônomos em ambientes PaaS trazem o benefício adicional de praticamente eliminar o gerenciamento de banco de dados em si, permitindo que as equipes se concentrem em esquemas, dados e usuários em vez do software de banco de dados subjacente.

Implementação de bancos de dados em ambientes multicloud

Grandes empresas que precisam executar centenas de aplicações descobriram que é melhor utilizar várias nuvens. Para algumas necessidades comerciais, a solução que fornece mais funcionalidade, maior desempenho e menor custo pode exigir a distribuição da aplicação e da pilha de banco de dados em várias nuvens no que é conhecido como ambiente multicloud.

Em ambientes multicloud, é comum que a camada da aplicação seja executada em uma nuvem (possivelmente porque ela só é executada lá), enquanto a do banco de dados é executada em uma nuvem diferente que fornece maior desempenho, maior escala ou custos mais baixos do que a nuvem onde está a camada da aplicação. Em ambientes multicloud, é essencial que os data centers de nuvem de cada provedor estejam localizados relativamente próximos uns dos outros para minimizar a latência que pode reduzir o desempenho da aplicação.

Também é importante que diferentes fornecedores de nuvem usados ​​em uma arquitetura multicloud tenham um relacionamento estratégico com políticas de suporte comuns para identificar e resolver quaisquer problemas que surjam e para minimizar os custos de saída de dados para cada nuvem.

A implementação de bancos de dados em um ambiente multicloud pode ser melhor para organizações que precisam de um banco de dados corporativo (ou talvez autônomo) de alto desempenho e precisam ser capazes de usar aplicações que não estão prontamente disponíveis na mesma nuvem.

Implementação em nuvem pública em data centers de clientes

Muitos requisitos comerciais ou regulamentações governamentais exigem que os dados de uma empresa permaneçam dentro de seu data center ou dentro dos limites geográficos do país em que residem. Para atingir esses objetivos, as organizações podem implementar recursos de nuvem pública dentro do seu data center, com o provedor gerenciando a infraestrutura e, dependendo do serviço, os bancos de dados. Essa abordagem fornece o valor e os benefícios da nuvem, incluindo um serviço baseado em assinatura de nuvem pública que atende aos requisitos de residência e segurança de dados. Esse modelo de nuvem local como assinatura (LCaaS) fornece o gerenciamento automatizado que a nuvem oferece, além de alto desempenho de infraestrutura dedicada e benefícios de eficiência da consolidação. Os clientes podem aumentar ou diminuir seu consumo conforme as cargas de trabalho mudam durante o dia ou ao longo do tempo. A implementação de um serviço de nuvem pública em data centers de clientes oferece muitas vantagens, incluindo:

  • Fornecer um primeiro passo fácil para migrar bancos de dados on-premises existentes para a nuvem.
  • Permitir que os clientes forneçam segurança e residência de dados enquanto se beneficiam da nuvem, já que os dados sempre permanecem atrás dos firewalls do data center.
  • Possibilitar que os clientes atendam aos requisitos de latência para conexão com aplicações existentes ou fontes de dados em execução no data center.
  • Maximizar os benefícios da consolidação de múltiplas cargas de trabalho em um pool de recursos compartilhados de computação, armazenamento e rede. Compartilhar recursos agrupados resulta em maior eficiência de utilização, maior agilidade de implementação e custos mais baixos.

Algumas dessas soluções permitem a implementação de um banco de dados autônomo em recursos de nuvem pública em data centers de clientes, possibilitando que as organizações se beneficiem do dimensionamento automatizado, provisionamento, aplicação de patches e gerenciamento de falhas que esses bancos de dados fornecem. Esses recursos avançados de automação aumentam a disponibilidade e a segurança dos dados, eliminando erros humanos e reduzindo custos por meio do consumo por uso.

A implementação de bancos de dados em recursos de nuvem pública em data centers de clientes é melhor para organizações que têm requisitos de residência e segurança de dados que não podem ser atendidos em regiões de nuvem pública. Essa abordagem também pode ser melhor para empresas que desejam se beneficiar da automação da nuvem e dos preços de banco de dados com pagamento por uso, enquanto ainda executam aplicações em recursos existentes em seus data centers.


Implementação de bancos de dados em nuvens privadas

Historicamente, os bancos de dados eram implementados em infraestrutura compartilhada em data centers de clientes. Essa infraestrutura executava aplicações, middleware e bancos de dados em uma infraestrutura projetada para bom desempenho e disponibilidade, mas era cara e não oferecia nenhuma otimização de desempenho específica para banco de dados.

Mais recentemente, essa abordagem compartilhada deu lugar ao conceito de uma nuvem de banco de dados privada, onde uma infraestrutura dedicada on-premises é ajustada especificamente para executar bancos de dados de forma otimizada. Essas nuvens de banco de dados privadas são de propriedade e gerenciadas pela empresa que as utiliza, o que tem a vantagem de permitir níveis extremamente altos de consolidação de banco de dados com várias versões em execução na mesma infraestrutura. Essas plataformas têm altos níveis de automação integrada para garantir que cada banco de dados obtenha os recursos necessários para atender aos SLAs de desempenho, ao mesmo tempo em que priorizam atividades sensíveis à latência para aplicações críticas para ajudar a garantir que elas sejam executadas com o mais alto desempenho possível.

Executar bancos de dados em uma nuvem privada pode ser a melhor abordagem para organizações com altos níveis de personalização e interconectividade de bancos de dados e aplicações. Para a maioria das aplicações, nuvens de bancos de dados privadas parecem indistinguíveis de implantações de bancos de dados on-premises legados, portanto, adotá-las pode ser a abordagem mais fácil para começar a migrar para a nuvem.


Portabilidade de banco de dados em ambientes de nuvem híbrida

Na maioria das organizações, não é uma escolha entre implementar bancos de dados na nuvem ou em seus próprios data centers: elas fazem as duas coisas e precisam que os dois ambientes funcionem juntos. Há muitos cenários em que os clientes precisarão implementar em ambientes de nuvem híbrida. Por exemplo, muitas empresas desenvolvem aplicações em um local e os implementam em outro. Ou uma empresa pode ter aplicações que dão suporte a operações remotas em execução na nuvem pública, enquanto operações centralizadas são executadas em seus data centers.

Para minimizar as cargas de trabalho de TI, um dos principais requisitos para implementar bancos de dados em ambientes de nuvem híbrida é que o software de banco de dados e o hardware em que ele é executado forneçam os mesmos recursos, gerenciamento e segurança em todos os ambientes. Ambientes com altos níveis de equivalência reduzem a quantidade de esforço necessária para mover bancos de dados e aplicações para locais diferentes e gerenciá-los de maneira consistente.


Escolha um provedor de nuvem que ofereça alternativas de implementação

As organizações precisam selecionar um provedor de nuvem que ofereça uma solução completa e integrada, com um amplo conjunto de recursos de banco de dados convergentes e altos níveis de identidade de infraestrutura que permitam a implementação onde for necessário. Essa solução ajuda a garantir que as organizações possam atender aos requisitos de flexibilidade, escalabilidade e crescimento, mantendo os custos baixos.