Implante uma Carga de Trabalho MongoDB Migrada no Oracle Database Appliance
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 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:
- Implemente e configure o Oracle Database Appliance.
- Crie uma instância do Oracle Database 23ai no Oracle Database Appliance.
- Migre metadados e dados do MongoDB para o Oracle Database.
- Crie VMs no Oracle Database Appliance para executar a camada de backend e o Oracle REST Data Services.
- Implante e configure a camada de back-end e o Oracle REST Data Services em VMs do Oracle Database Appliance.
- 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.
- Configure o aplicativo para usar a nova string de conexão do banco de dados.
- 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
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.
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
- 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.