Implante uma Carga de Trabalho MongoDB Migrada no Oracle Database Appliance

Migre uma carga de trabalho existente que use um banco de dados de documentos, neste caso MongoDB, para o Oracle Database 23ai no Oracle Database Appliance para o desenvolvimento simplificado de aplicações centradas em JSON usando um banco de dados convergente e multimodelo.

Cargas de trabalho e aplicativos que usam documentos e bancos de dados de documentos para evoluir esquemas de dados e aplicativos são populares devido à flexibilidade que oferecem aos desenvolvedores. A flexibilidade do esquema, o desenvolvimento rápido e a escalabilidade permitem a prototipagem acelerada de recursos de aplicativos, a evolução mais fácil dos aplicativos e a capacidade de criar aplicativos e recursos iterativamente menores que os desenvolvedores podem dimensionar para atender a uma grande base de usuários. No entanto, esses tipos de cargas de trabalho têm seus desafios, incluindo garantias transacionais mais fracas, versatilidade de consulta de dados e incapacidade de suportar outras cargas de trabalho em documentos, como análise ou machine learning.

E se essas cargas de trabalho puderem se beneficiar das vantagens dos bancos de dados de documentos tradicionais e aproveitar os benefícios dos bancos de dados relacionais? Por exemplo, tenha garantias transacionais mais fortes e funcionalidades adicionais, como análise e machine learning, sem a necessidade de replicar dados para outro banco de dados ou sistema.

O Oracle Database 23ai, projetado para simplificar o desenvolvimento de IA, microsserviços, gráficos, documentos, aplicações espaciais e relacionais, é uma plataforma de banco de dados convergente que oferece tudo o que é necessário em uma solução avançada.

O Oracle Database Appliance é um sistema projetado que agiliza a implementação, o gerenciamento e o suporte de soluções Oracle Database de alta disponibilidade. Ao integrar software, computação, armazenamento e rede, ele oferece desempenho confiável para uma ampla variedade de aplicativos de processamento de transações on-line (OLTP), análise, data warehousing e IA.

Arquitetura Funcional

Essa arquitetura de referência pressupõe que uma carga de trabalho composta por um aplicativo e um banco de dados MongoDB exista on-premises e será migrada para usar o Oracle Database 23ai como o banco de dados. Ele descreve a arquitetura de estado futura, seus benefícios, como ela pode ser implantada e quais recursos adicionais podem ser usados para aumentar a carga de trabalho existente.

Essa arquitetura de referência se concentra na implantação da carga de trabalho migrada, e não no processo de migração. Para saber mais sobre o processo de migração, consulte a seção Explorar Mais.

Um dos principais recursos usados nessa arquitetura é a API do Oracle Database para MongoDB, que permite que os aplicativos interajam com coleções de documentos JSON no Oracle Database usando comandos MongoDB. Isso permite que o código do aplicativo existente funcione com dados armazenados no Oracle Database 23ai, sem a necessidade de refatorar o código.

O diagrama a seguir ilustra um aplicativo típico composto por um banco de dados, camada de back-end e camada de front-end.



mongodb-logical-arch-migration.zip

Uma pilha popular usada para implementar esse padrão é a pilha MEAN:

  • MongoDB: Banco de dados de documentos
  • Express: Estrutura de back-end
  • Angular: Estrutura front-end
  • Node.js: Servidor de backend

Essa arquitetura usa uma pilha MEAN como exemplo de uma implantação existente para migrar para o Oracle Database 23ai. A migração dessa carga de trabalho para o Oracle Database 23ai consiste nas seguintes etapas de alto nível:

  1. Implemente e configure o Oracle Database Appliance.
  2. Crie uma instância do Oracle Database 23ai no Oracle Database Appliance.
  3. Migre metadados e dados do MongoDB para o Oracle Database.
  4. Crie VMs no Oracle Database Appliance para executar a camada de backend e o Oracle REST Data Services.
  5. Implante e configure a camada de back-end e o Oracle REST Data Services em VMs do Oracle Database Appliance.
  6. Configure o Oracle REST Data Services para ativar a API MongoDB, para que o aplicativo possa se comunicar com o banco de dados usando os drivers MongoDB.
  7. Configure o aplicativo para usar a nova string de conexão do banco de dados.
  8. Conecte o aplicativo de backend ao Oracle Database usando as mesmas ferramentas e os mesmos drivers MongoDB usados no aplicativo.

Depois de migrar a carga de trabalho para o Oracle Database, você pode aprimorar a funcionalidade ativando recursos adicionais, como segurança aprimorada, relatórios operacionais, análises e machine learning, sem copiar dados do banco de dados. O Oracle Database 23ai é uma plataforma multimodelo e com várias cargas de trabalho, que permite integrar perfeitamente recursos que utilizam tipos de dados relacionais, espaciais, gráficos ou vetoriais ao lado do seu aplicativo existente.

Para melhorar a escalabilidade da carga de trabalho, aloque mais computação e memória ao banco de dados, ajustando os núcleos de CPU designados às VMs do banco de dados e dos aplicativos.

Para melhorar a disponibilidade, o Oracle Database Appliance tem um sistema altamente disponível totalmente redundante, o Oracle Database Appliance de alta disponibilidade, que usa dois nós de computação para implantar o banco de dados e a camada de back-end. Se usado com o Oracle Database 23ai Real Application Clusters, a alta disponibilidade total será alcançada.

Arquitetura Física

A arquitetura física dessa carga de trabalho migrada para o Oracle Database 23ai suporta o seguinte:

Camada front-end

  • A implantação atual é usada.
  • Os usuários podem se conectar pela internet ou pela rede corporativa.
  • Há um recurso de DNS, configurado para rotear solicitações para o data center stand-by em caso de failover.

Camada de back-end

  • Os aplicativos existentes são implantados em VMs do Oracle Database Appliance para permitir a consolidação da carga de trabalho e reduzir os custos gerais.
  • Os Oracle REST Data Services gerenciados pelo cliente são co-localizados e implantados nas VMs do Oracle Database Appliance dos servidores de aplicativos, para que o código do aplicativo possa se conectar ao Oracle Database 23ai por meio do Oracle REST Data Services.
  • A escalabilidade da camada de backend é obtida adicionando mais VMs do Oracle Database Appliance quando necessário, dimensionando implicitamente o Oracle REST Data Services, instalado em cada VM do servidor de aplicativos.

Camada de banco de dados

  • O Oracle Database 23ai é implantado no Oracle Database Appliance em uma configuração de nó único, usada para armazenar e fornecer documentos JSON à camada de back-end.
  • A API do Oracle Database para MongoDB é ativada usando o Oracle REST Data Services, que permite que o código do aplicativo existente seja usado sem alterações no código.

Continuidade dos negócios

  • Uma estratégia de recuperação de desastres baseada em backup é usada.
  • Para garantir que os mesmos objetivos de nível de serviço de aplicativo (SLOs) sejam mantidos ao executar a carga de trabalho do data center stand-by, execute uma infraestrutura comparável do Oracle Database Appliance nesse local.

O diagrama a seguir ilustra essa arquitetura de referência.



mongodb-oda-physical-arch.zip

O design da arquitetura física:

Continuidade dos negócios

  • Há dois data centers com implantações idênticas: um ativo e outro em espera.
  • Os backups são armazenados no NFS (Network File Storage) e replicados para o site stand-by.
  • Em caso de falha no data center ativo, o backup mais recente permite que as cargas de trabalho sejam iniciadas rapidamente no stand-by center.
  • A direção do tráfego DNS direciona as solicitações do usuário para o data center ativo. Se as investigações de verificação de integridade do DNS executadas na camada do aplicativo falharem repetidamente, o DNS será reconfigurado para rotear o tráfego para a carga de trabalho do data center stand-by.
  • Um balanceador de carga distribui solicitações de entrada em várias VMs de camada de back-end, evitando um único ponto de falha.
  • O Oracle REST Data Services gerenciado pelo cliente é implantado e configurado nas VMs de camada de back-end. Sempre que uma VM é adicionada, o servidor de aplicativos e o Oracle REST Data Services são dimensionados de acordo.
  • O RTO (Recovery Time Objective) depende da implantação de todos os componentes de carga de trabalho no data center stand-by, incluindo a restauração do banco de dados do último backup replicado.
  • O RPO (Recovery Point Objective) depende do backup replicado mais recente.

Redes

  • Há uma sub-rede pública recebendo solicitações de usuário recebidas da internet.
  • A placa de interface de rede pública (NIC) do Oracle Database Appliance é anexada à sub-rede privada da carga de trabalho.
  • As solicitações do balanceador de carga são roteadas para as VMs da camada de backend do Oracle Database Appliance que atendem a solicitações do usuário.

Banco de Dados

  • O Oracle Database 23ai é implementado no Oracle Database Appliance.
  • Os dados são armazenados de forma redundante, com espelhamento duplo ou triplo, para maior resiliência dos dados.
  • Os backups automatizados de bancos de dados são configurados para fazer backup em NFS. Esses backups são replicados para o NFS do data center stand-by, usando recursos de replicação NFS existentes.

Segurança

  • Os recursos de controle de acesso baseado em atribuição (RBAC) do banco de dados são usados para proteger a carga de trabalho.
  • Os dados armazenados no banco de dados poderão ser criptografados usando criptografia de dados transparente (TDE), se a Opção de Segurança Avançada do Oracle Database Enterprise Edition for usada.

As possíveis melhorias de design não descritas nesta implantação por motivos de simplicidade incluem:

  • Aproveite um sistema de alta disponibilidade (HA) do Oracle Database Appliance composto por dois nós de computação para garantir a alta disponibilidade da carga de trabalho de backend. Implante VMs com reinicialização e failover automáticos nos dois nós.
  • Use o Oracle Database Appliance HA com o Oracle Database Enterprise Edition e o Oracle Real Application Clusters (Oracle RAC) para fornecer alta disponibilidade para a camada de banco de dados.

Recomendações

Use as recomendações a seguir como ponto de partida para melhorar e desenvolver ainda mais a carga de trabalho. Seus requisitos podem ser diferentes da arquitetura descrita aqui.
  • Implantação do Aplicativo

    Aproveite várias VMs de camada de backend para aumentar a resiliência. Ative o gerenciamento de recursos de CPU do Oracle Database Appliance para alocar a quantidade certa de computação de VMs, garantindo a qualidade do serviço necessário para o aplicativo.

  • Segurança

    Considere o uso dos recursos da Opção de Segurança Avançada do Oracle Database para criptografar dados em repouso e ativar a redação dinâmica de dados, é necessária uma licença do Oracle Database Enterprise Edition para usar a Opção de Segurança Avançada do Oracle Database.

  • Observabilidade

    Considere o uso do Oracle Data Safe para aumentar ainda mais a postura de segurança da carga de trabalho e ser capaz de executar auditoria de banco de dados.

  • Eficiência Operacional

    Considere usar a infraestrutura como código, ou seja, o Terraform, em conjunto com o SDK do Oracle Database Appliance, para automatizar a implantação de VMs e bancos de dados.

  • Evolução do Aplicativo
    • Considere implementar análises operacionais e relatórios em tempo real no Oracle Database 23ai usando SQL e um frontend como o Oracle APEX, mantendo dados dentro do banco de dados para análise confiável e em tempo real.
    • Considere usar o Oracle Database 23ai para machine learning usando o Oracle Machine Learning for SQL, para criar e treinar modelos com dados JSON sem necessidade de movimentação de dados e para implantar os modelos juntamente com a carga de trabalho existente para inferência eficiente.
    • Considere usar o banco de dados para armazenar tipos de dados adicionais (relacional, vetorial, espacial ou gráfico) para aumentar a funcionalidade e a flexibilidade da carga de trabalho.
    • Considere o uso do Oracle Database Appliance e do Oracle Database 23ai para análise além da análise operacional, beneficiando-se da Hybrid Columnar Compression, um formato colunar eficiente adaptado para análise de dados, que aumenta o desempenho da análise e reduz o espaço necessário para armazenar dados. A Hybrid Columnar Compression é suportada no Oracle Database Appliance e está incluída com uma licença do Oracle Database Enterprise Edition.

Explorar Mais

Saiba mais sobre a implantação de cargas de trabalho migradas de MongoDB para o Oracle Database Appliance.

Revise estes recursos adicionais:

Confirmações

  • Autor: José Cruz
  • Colaboradores: Massimo Castelli, Simon Griffiths, Matt DeMarco, Julian Dontcheff