As arquiteturas de referência se valem de príncipios específicos de design para atender aos principais requisitos do desenvolvimento de aplicativos modernos. Esses princípios permitem que os desenvolvedores criem aplicativos Web/móveis que integram IA/ML, análises orientadas por dados e plataformas de mensagens. Arquiteturas orientadas a eventos conseguem reagir aos eventos em tempo real. Esses padrões de arquitetura ajudam a acelerar o desenvolvimento de aplicativos personalizados em Finanças, Varejo, Saúde, Energia, Manufatura e também ajudam a estender pacotes de aplicações da Oracle. A maioria dos aplicativos empresariais é centrada em dados, com uma variedade de dados e é melhor desenvolvida em um banco de dados convergido. A programação usando linguagens populares Java, Python, Javascript, Go, etc. também é bem suportada nesses padrões de arquitetura. O desenvolvimento low-code de aplicativo comprime os níveis de tecnologia exigidos, além de ser uma boa opção para algumas aplicações. Aplicativos e contêineres de banco de dados gerenciados pelo Kubernetes podem ser implantados na Oracle Cloud Infrastructure (OCI), ambientes autônomos e outras nuvens públicas importantes.
As aplicações web e móveis geralmente contêm um front-end visível ao usuário, um gerador de consultas e um back-end que faz a computação de dados e atende ao front-end. Em resposta a solicitação de um usuário ou de uma API, uma aplicação web interage com a API ou com os dados persistentes armazenados no banco de dados. A aplicação deve suportar diferentes clientes, como navegadores e dispositivos móveis, e interagir com outros sistemas e aplicações por meio de APIs e eventos. O backend deve ser seguro e redimensionável sob demanda.
Crie sua aplicação web como um conjunto de microsserviços que podem ser testados, implementados e pertencentes a diferentes equipes de aplicações de forma independente. Exponha serviços como APIs REST e comunique-se com outros microsserviços usando uma malha de eventos integrada para eventos e mensagens ou APIs criadas por microsserviço. Incorpore machine learning a aplicativos inteligentes com modelos ML através de endpoints REST no banco de dados.
Aplicativos web e móveis precisam ser redimensionáveis para lidar com picos de demanda e operar sob estresse com baixa latência. Eles devem estar disponíveis 24/7, serem resilientes o suficiente para produzir dados sempre que solicitado e não deve perder nenhuma informação armazenada.
Os aplicativos móveis são construídos com estruturas front-end como React Native ou SwiftUI, criando a interface do usuário que interage com um back-end para todos os seus dados e serviços de enriquecimento. O desenvolvedor pode se concentrar no fluxo de trabalho e na lógica da aplicação, acessando o back-end por meio de APIs bem definidas, resilientes, seguras e dimensionáveis de forma autônoma.
A segurança é de extrema importância para aplicativos web expostos na internet. Criptografia de dados, TLS, proteção DDoS, firewalls e gestão granular de acesso do usuário e aos dados são essenciais. Tanto a segurança do banco de dados quanto a segurança da aplicação são importantes e tratadas com senhas e chaves acessadas por meio do Oracle Database Wallet e do serviço OCI Vault.
Crie um front-end móvel e na Web em Javascript (React) ou SwiftUI. Para dados de back-end e serviços de aplicativos, inclua suporte a linguagens poliglotas (Python, Node.js, Java, PL/SQL, Go etc.) para permitir casos de uso e microsserviços escritos nessas linguagens. Processe os dados próximo ao seu armazenamento.
Uma aplicação web ou móvel geralmente precisa fazer interface com outros sistemas e serviços de negócios que estão fora da organização. Serviços que são parte integrante de uma aplicação web deve ser capaz de interagir e colaborar através de APIs bem definidas. Use Oracle REST Data Services (ORDS) para usar APIs de dados, ou para desenvolver novas APIs. Use endpoints REST prontos por meio de serviços OML e execução Python incorporada OML4Py para habilitar machine learning. Use API Gateways disponíveis no Oracle Cloud como ponto único de entrada para todos os clientes e encaminhe solicitações de API para o serviço apropriado. Configure os serviços de balanceador de carga e os controles de ingresso para oferecer uma comunicação segura de API entre os microsserviços.
A manutenção de uma infraestrutura de aplicação móveis ou da Web vem com a responsabilidade de implementar, atualizar, corrigir, dimensionar e proteger a configuração. Use serviços gerenciados como o Oracle Autonomous Database e uma série de outros serviços gerenciados no Oracle Cloud para maximizar a disponibilidade e escalabilidade e responder às demandas em constante mudança de aplicativos móveis e da Web. Os serviços gerenciados garantem que a aplicação esteja disponível 24/7/365 e protegido quando ocorrer uma falha no datacenter onde a infraestrutura está hospedada. Use serviços autogerenciáveis somente quando um serviço gerenciado pelo fornecedor estiver indisponível.
Mantenha os componentes de camada intermediária da aplicação sem monitoramento de estado. Se o estado da aplicação for armazenado, use o Oracle Autonomous Database para armazenar os dados e o estado da aplicação para consistência, durabilidade e capacidade de recuperação rápida da raiz do estado da aplicação. Manter o estado em um banco de dados é mais simples e eficiente na recuperação geral de uma aplicação.
As aplicações móveis e web usam dados em formatos diferentes e precisam armazenar, pesquisar e processar os dados em um armazenamento de dados. Os dados podem ser tabulados (relacional), desestruturados, formatados em XML e JSON, espaciais ou gráficos. Tradicionalmente, essa disparidade significava usar um banco de dados relacional para dados relacionais, um armazenamento de documentos para dados não estruturados e bancos de dados gráficos para dados hierárquicos vinculados. Porém, usar diversos banco de dados aumenta a complexidade operacional e deixa os dados inconsistentes. Para resolver esse problema, use o Oracle Autonomous Database convergente para armazenar vários tipos de dados, indexá-los e fornecer maneiras de pesquisar os dados e usá-los para análises unificadas em todos os dados.
Uma aplicação web ou móvel pode conter centenas de serviços, de diversas aplicações ou equipes comerciais. A observabilidade unificada com interfaces de ferramentas abertas é importante para obter visibilidade do comportamento desses sistemas inerentemente distribuídos. Centralize a solução de observabilidade usando as métricas, logs e rastreamento exportados de todas as camadas da aplicação e camadas de dados. Esses serviços monitoram toda a pilha, do front-end ao back-end, ajudando a localizar e corrigir problemas na aplicação rapidamente e se tornar a plataforma para ajuste contínuo de desempenho.
As aplicações Web e móveis devem ser resilientes, capazes de se recuperar de falhas, minimizar o tempo de inatividade e eliminar a perda de dados. A redundância ajuda a eliminar pontos únicos de falha: use o Kubernetes para gerenciar a resiliência de contêineres de banco de dados e contêineres de aplicativos. O operador Oracle Database Kubernetes é projetado justamente para isso, usando pipelines CI/CD que incluem o nível dos dados. Em clusters Kubernetes, configure pools de nós com um mínimo de três nós com cada nó em um domínio de disponibilidade separado em uma região de domínio de multidisponibilidade no OCI. Em uma região de domínio de disponibilidade único no OCI, configure pools de nós no Kubernetes com cada nó em um domínio de falha separado. Use um único balanceador de carga público e vários balanceadores de carga privados com vários controladores de entrada para redundância no Kubernetes.
Configure o Autonomous Database para máxima disponibilidade usando o Autonomous Data Guard para minimizar o tempo de inatividade operacional e a perda de dados.
Siga o princípio do privilégio mínimo para garantir que os usuários e as contas de serviço tenham apenas o privilégio mínimo necessário para executar suas tarefas. Controle quem tem acesso aos componentes da aplicação web usando o Cloud Identity and Access Management (IAM), incluindo o banco de dados. Use a autenticação multifator no IAM para impor uma autenticação forte para que os administradores restrinjam o acesso aos componentes e ao banco de dados da aplicação.
Esse padrão de arquitetura de dados convergentes para uma aplicação web ou móvel é composto por um front-end e microsserviços com o back-end usando a aplicação e os serviços de dados criados no Oracle Autonomous Database. Adicionalmente, para os serviços indisponíveis no banco de dados, os microsserviços em contêineres são gerenciados em um cluster do Kubernetes.
O diagrama a seguir ilustra essa arquitetura de referência.
A arquitetura possui os seguintes componentes (os componentes podem ser serviços totalmente gerenciados no Oracle Cloud Infrastructure ou serviços equivalentes em outros ambientes de implementação. Por exemplo, o Oracle Autonomous Database é um serviço gerenciado no OCI e o Oracle Database é executado em outros ambientes).
Este caso de uso descreve um exemplo de uma aplicação móvel de entrega de alimentos chamado GrabDish que usa uma arquitetura de microsserviços com o Autonomous Database e bancos de dados em contêineres (Pluggable Database in a Container Database) para cada um de seus serviços. Ele usa a plataforma de mensagens integrada Transactional Event Queues (TEQ) para mensagens, simplificando os padrões comuns de microsserviços para desenvolvedores. O GrabDish exibe serviços de IA/ML, além de uma variedade de tipos de dados usados, programando o aplicativo em diversas linguagens. Para mais detalhes, veja o Livelabs do GrabDish em http://bit.ly/simplifymicroservices
Saiba mais sobre recursos relacionados.
As soluções de mensagens conectam componentes de aplicações, inclusive soluções de sistemas on-premises existentes para a nuvem. Os payloads de mensagem são eventos que são gerados pela aplicação, entradas do usuário, alterações de dados ou eventos gerados pelo dispositivo. O sistema de mensagens permite a transferência de eventos e dados como parte de um pipeline de processamento distribuído bem definido ou para publicação de mensagens e eventos para vários sistemas downstream independentes que processam, enriquecem e analisam dados. A maioria dos aplicativos modernos criadas com microsserviços dependem de uma arquitetura orientada por eventos. Uma Event Mesh permite que qualquer evento produzido em um sistema seja consumido com segurança em qualquer outro lugar no sistema distribuído onde seja necessário quase em tempo real, usando um ou vários agentes de eventos. Depois que um evento é processado, os dados (payload) são armazenados em um data lakehouse para análise e treinamento de modelos de IA/ML.
Crie soluções de mensagens que sejam altamente disponíveis, confiáveis e flexíveis. Use a plataforma de banco de dados convergente, os serviços de nuvem e as práticas recomendadas da Oracle para fornecer mensagens e soluções uniformes com base nas necessidades de negócios. Essas recomendações ajudam a minimizar a integração de desenvolvimento, a sobrecarga de implementação e a carga de gerenciamento de longo prazo.
As soluções de mensagens conectam os componentes das aplicações, incluindo os sistemas on-premises e as soluções na nuvem. Eles permitem a transferência de dados como parte de um pipeline de processamento distribuído e convergente bem definido ou publicam mensagens e eventos para vários sistemas downstream independentes que evoluem independentemente.
Essas soluções também devem acomodar de forma transparente picos não planejados no carregamento de mensagens, armazenando os dados em buffer e ajustando dinamicamente os recursos do processo. No passado, era um desafio para as empresas implementarem e gerenciarem soluções de mensagens confiáveis que atendessem a esses objetivos sem complexidade e despesas indevidas. No entanto, essa implementação agora pode ser direta na nuvem com serviços de mensagens projetados para escala e desempenho.
Use os princípios de design a seguir para criar suas aplicações ou plataforma de mensagens com a arquitetura de dados convergentes.
Use APIs JMS ou Kafka para processar mensagens com o Oracle Transactional Event Queues. O uso das APIs padrão fornece portabilidade de aplicação e permite que você crie aplicações de mensagens híbridos e multicloud perfeitamente.
Execute aplicações em serviços totalmente gerenciados com manutenção integrada da infraestrutura, além de correções automáticas de segurança. Você pode aproveitar a automação do redimensionamento em resposta às mudanças de carga. Use o Oracle Autonomous Database, um serviço Oracle Database totalmente gerenciado na OCI. O Oracle Transactional Event Queues é um recurso integrado ao banco de dados disponível em todas as regiões da OCI.
Use o Oracle Autonomous Database que oferece suporte nativo a diversos tipos de dados—JSON, relacional, gráficos, espaciais, e muitos outros. Use o recurso do banco de dados para simplificar a lógica da aplicação. Por exemplo, use SQL para consultas, uniões e análises. Use transações para garantir consistência e isolamento, e algoritmos e análises de machine learning integrados para evitar transferências de dados desnecessárias. Use os recursos de segurança do banco de dados e o controle de acesso para proteger dados confidenciais e use a replicação para melhorar a disponibilidade, escalabilidade e resiliência do seu aplicativo.
Uma aplicação de mensagens pode conter centenas de serviços, pertencentes a diferentes aplicações e equipes. A observabilidade unificada com interfaces de ferramentas abertas é importante para obter visibilidade do comportamento desses sistemas distribuídos complexos. Em vez de cada equipe construir sua própria solução, centralize as métricas, logs e rastreamentos exportados de todas as camadas da aplicação. As métricas TEQ podem ser exportadas para o Prometheus, que suporta painéis Grafana para fluxos de trabalho de depuração e ajuste de desempenho.
Elimine pontos únicos de falha por meio do dimensionamento horizontal e automatize a recuperação de falhas.
Como o TEQ faz parte do Oracle Autonomous Database, as aplicações se beneficiam da alta disponibilidade integrada e dos recursos de recuperação de desastres entre regiões sem nenhum trabalho adicional.
As mensagens transacionais do TEQ também simplifica a recuperação quando houver falhas externas.
Implemente políticas do Identity and Access Control (IAM) para permitir que apenas usuários autorizados criem, enviem ou recebam dados dos streams. Aplique um princípio de acessibilidade mínima ao endpoint protegendo o acesso aos endpoints de mensagens com mTLS e gateway de serviço, que limita o acesso da Internet. Criptografe os dados em descanso e sob tráfego para manter a confidencialidade dos dados. Use o Database Wallet para proteger as credenciais das conexões ao banco de dados.
A arquitetura do banco de dados convergido oferece um design para atender aos padrões de mensagens em aplicações modernas. Esse padrão usa o Transactional Event Queues (TEQ), desenvolvido especialmente para ser integrado ao Oracle Autonomous Database.
Essa arquitetura oferece simplicidade ao eliminar a necessidade de utilizar streaming externo ou serviços de enfileiramento e fornece recursos de mensagens transacionais que simplificam os padrões comuns de microsserviços.
Os arquitetos de aplicações devem considerar a escalabilidade, desempenho e simplicidade da aplicação.
A FedEx usa o Oracle E-Business Suite e o gerenciador de eventos de negócios construído com o Oracle TEQ, para contas a receber dos 15,5 milhões de pacotes entregues todos os dias.
Vários cenários de autenticação de 2 fatores (2-FA) que usam senhas descartáveis (OTP) são habilitados pelo Oracle Transactional Event Queues
Saiba mais sobre recursos relacionados.
As plataformas low-code são adequadas para criar aplicações oportunistas em colaboração com as partes interessadas da empresa; criar aplicações de análise e geração de relatórios de dados; estender aplicações SaaS e modernizar as aplicações legadas. Cada linha de código tem um custo associado a ela para criá-la, mantê-la, depurá-la, atualizá-la e protegê-la. O Oracle Application Express (APEX) ajuda os desenvolvedores a evitar esses custos ao fornecer componentes de alto nível e padrões de design comuns por meio de uma experiência de desenvolvimento intuitiva e gráfica.
As plataformas low-code permite que você desenvolva aplicativos empresariais mais rápido do que usar as técnicas de código manual. Essas plataformas são adequadas para criar aplicações oportunistas em colaboração com as partes interessadas nos negócios, criar relatórios de dados e aplicações de análise, estender aplicações SaaS e modernizar as aplicações legadas.
Com plataformas low-code, você fica livre para se concentrar na solução de seus problemas de negócios, e não na complexidade do desenvolvimento de aplicações web. Essas complexidades incluem segurança, acessibilidade, acesso eficiente aos dados, desempenho e globalização. As plataformas low-code eliminam essa complexidade reduzindo drasticamente a quantidade de código que você precisa manter.
O Oracle Application Express (APEX) ajuda os desenvolvedores a evitar os custos associados ao desenvolvimento de aplicações tradicionais, fornecendo componentes de alto nível e padrões de design comuns por meio de uma experiência de desenvolvimento gráfica intuitiva.
A Oracle Cloud Infrastructure (OCI) fornece a infraestrutura segura, confiável, escalável e de alto desempenho necessária para as aplicações mais exigentes. Essas aplicações podem ser redimensionadas para suportarem tudo, desde pequenos grupos de trabalho até milhões de usuários finais. Esse documento descreve os princípios de projeto e o melhor caminho de implementação para aplicação low-code.
Ao implementar um padrão low-code, use os seguintes princípios de projeto de Desenvolvimento Moderno de Aplicativo:
Adote uma abordagem low-code, orientada a metadados ao desenvolver os aplicativos. Especifique a declaração de lógica da aplicação onde for possível, e escreva somente o código onde for necessário. Interaja diretamente com os dados no banco de dados através de SQL. Use serviços totalmente gerenciados, como o Oracle Autonomous Database e o Oracle APEX Application Development (APEX Service), que podem maximizar a disponibilidade e a escalabilidade para lidar com as demandas em constante mudança de suas aplicações low-code. Além disso, os recursos de banco de dados, como Oracle Real Application Clusters (RAC) e Oracle Data Guard, garantem que suas aplicações low code estejam disponíveis 24 horas por dia, 7 dias por semana, 365 dias por ano e possam sofrer failover se ocorrer uma falha no data center onde a infraestrutura está hospedada.
Use o OCI Resource Manager para automatizar o provisionamento do Oracle Autonomous Databases e dos ambientes APEX. Use o Oracle SQL Developer Command Line (SQLcl) com Liquibase para automatizar a implementação de mudanças no modelo de dados. Use a implementação de aplicações APEX em um clique para implementar as mudanças manualmente entre os ambientes.
O Oracle APEX é sem estado e sem servidor, e o estado de tempo de execução da aplicação fica armazenado em tabelas para que as conexões possam ser reutilizadas pelos usuários. Isso resulta em bem menos conexões que podem suportar a alta concorrência de usuários.
Aplicações low code geralmente precisam trabalhar com dados em diferentes formatos, como estruturados (relacionais), não estruturados (documentos XML/JSON) e espaciais. Como o APEX está embutido no Autonomous Database, você pode usar SQL, PL/SQL e JavaScript do lado do servidor para trabalhar em todos esses formatos de dados. Além disso, devido à arquitetura exclusiva do APEX, os aplicativos desfrutam de acesso a dados com latência zero, o que proporciona o desempenho ideal.
Monitore e rastreie a atividade da aplicação APEX usando os recursos integrados de monitoramento de atividades, que incluem rastreamento detalhado e informações de depuração em um nível por usuário. Revise as atividades no nível do espaço de trabalho e da instância no APEX Administration Services. Use o Performance Hub para monitorar a atividade do banco de dados, revisar os relatórios do repositório automático de carga de trabalho (AWR) para identificar os principais consumidores de recursos e identificar as recomendações de ajuste.
O APEX no Oracle Autonomous Database é implementado usando uma arquitetura altamente disponível que abrange a camada de dados (Exadata e RAC) e a camada intermediária (nós redundantes do Oracle REST Data Services). Use o Autonomous Data Guard para aumentar ainda mais a disponibilidade de seus aplicativos para proteger contra falhas de domínio de disponibilidade.
Use o OCI Identity and Access Management (IAM) em esquemas de autenticação para suas aplicações APEX. Atribua esquemas de autorização a aplicativos APEX e componentes de aplicativos para impor o controle de acesso com base na função ou privilégio do usuário. Use os recursos declarativos integrados do APEX para lidar com a proteção do estado da sessão (SSP) e a criptografia em nível de item para proteger seus aplicativos e dados. Use variáveis de vínculo em consultas SQL para impedir a injeção de SQL. Configure tempos limite apropriados de aplicativo para garantir que sessões inativas sejam encerradas automaticamente. Execute o APEX Advisor integrado para detectar possíveis problemas de segurança, como páginas, itens e botões desprotegidos. Use APIs de escape declarativas e programáticas para proteger contra XSS (cross-site scripting).
Essa arquitetura é para desenvolvimento e implementação de aplicativo low code usando o Oracle APEX Application Development (APEX Service) e todos os serviços do Oracle Autonomous Database. Ao implementar esses serviços, todos os componentes necessários para full stack são provisionados automaticamente e totalmente gerenciados. Esses componentes incluem gateways, balanceadores de carga e Oracle REST Data Services.
Esta imagem mostra a arquitetura subjacente ao desenvolvimento e implementação de aplicativos low code usando o Oracle APEX Application Development e todos os serviços do Oracle Autonomous Database. Ela exibe um ambiente totalmente gerenciado que contém uma sub-rede pública e outra privada. Fora do ambiente totalmente gerenciado estão estes serviços: APEX Applications, Oracle REST Data Services APIs e External REST APIs. Esses serviços acessam o ambiente totalmente gerenciado através de um gateway de internet ou por um gateway NAT.
A sub-rede pública contém um balanceador de carga, enquanto a sub-rede privada contém uma instância do Oracle REST Data Services e um Oracle Autonomous Database, no qual está uma instância do Oracle APEX no Autonomous Database.
O tráfego das APEX Applications e das APIs do Oracle REST Data Services é roteado por meio de um gateway da Internet para o balanceador de carga, que o direciona bidirecionalmente para a instância do Oracle REST Data Services na sub-rede privada. Por sua vez, esse serviço se comunica bidirecionalmente com o Oracle Autonomous Database. O tráfego da instância Oracle APEX on Autonomous Database é roteado diretamente para as APIs REST externas por meio de um gateway NAT.
Todos os artefatos da aplicação são implementados na camada do banco de dados, que fornece acesso a dados com latência zero porque não há necessidade de tráfego de rede entre a aplicação e as camadas do banco de dados.
Ao implementar uma abordagem low-code, considere os pontos abaixo:
Considere alternativas à arquitetura descrita nesse padrão e evite ter de implementar antipadrões.
Veja alguns exemplos da eficácia de um padrão low-code:
Saiba mais sobre recursos relacionados.
Big data é um conjunto de recursos e padrões que permite gerenciar, coletar, armazenar, catalogar, preparar, processar e analisar todos os tipos de dados (não estruturados, semiestruturados e estruturados) caso venham de fontes como bancos de dados, vídeos, formulários, documentos, arquivos de log, páginas da web ou imagens. Além disso, uma plataforma de machine learning deve ser totalmente gerenciada e permitir que engenheiros e cientistas de dados executem todas essas etapas no ciclo de vida de desenvolvimento do modelo.
Os recursos de big data da Oracle abrangem vários serviços e ferramentas para que você possa começar sua jornada de big data com base em suas habilidades e preferências. Com o banco de dados Oracle convergente, uma variedade de dados é armazenada no banco de dados e dimensionada para vários PBs de volume, com ingestão rápida de dados e eventos (com filas de eventos transacionais), fornecendo segurança de todos os dados com segurança integrada. A arquitetura de dados convergentes trata do volume, variedade, velocidade e veracidade dos dados em uma plataforma de banco de dados convergente com o Oracle Autonomous Database.
Cientistas de dados e engenheiros de machine learning não querem perder tempo provisionando, atualizando, corrigindo e protegendo a infraestrutura. Eles querem gastar seu tempo construindo, treinando e implementando modelos que impactam os negócios. Uma plataforma de machine learning deve ser totalmente gerenciada e deve permitir que eles executem todas as etapas do ciclo de vida de desenvolvimento do modelo (construir, treinar, implementar e monitorar). Os dados usados para machine learning devem ser independentes de fonte e permitir que os cientistas de dados acessem dados consistentes e confiáveis para criar, treinar e implementar modelos.
Muitos toolkits modernos de machine learning são de código aberto e escritos em Python. Da mesma forma, uma plataforma de machine learning deve oferecer suporte nativo a frameworks de código aberto e Python. Ele também deve oferecer aos usuários a capacidade de personalizar seus ambientes de machine learning, instalando suas próprias bibliotecas ou atualizando as já instaladas. A plataforma deve permitir que os cientistas de dados treinem seus modelos em dados estruturados, não estruturados ou semiestruturados enquanto dimensionam a extração, transformação e carga (ETL) ou etapas de treinamento vertical ou horizontalmente em vários recursos de computação.
Por fim, uma plataforma de machine learning deve garantir que os modelos possam ser facilmente implementados para consumo em tempo real com o mínimo de atrito (idealmente por meio de uma simples chamada REST), preservando a linhagem do modelo implementado para garantir que ele possa ser auditado e reproduzido.
Ao implementar um padrão de análises e big data, atente-se aos seguintes princípios de design de Desenvolvimento de Aplicativos Modernos.
Os seus dados se tornam valiosos à maneira que você os usa. As ferramentas de big data são populares na comunidade de código aberto, e a maioria dos recursos delas tem recursos equivalentes em bancos de dados modernos, especialmente com armazenamento de dados, análise e treinamento e implementação de modelos AI/ML. O Oracle Database convergido é uma das plataformas de big data.
Os recursos premium nativos da Oracle, como tabelas externas e SQL do Oracle Autonomous Data Warehouse, permitem o uso de data lakehouses no banco de dados Oracle e armazenamento de objetos OCI para armazenar e analisar petabytes de dados em tempo real.
DataOps é importante para garantir que você seja capaz de aproveitar o máximo de benefício dos pipelines de big data. Use o serviço Oracle Cloud Infrastructure Data Integration para ingerir dados, implementar processamento ETL e pushdown ELT e criar pipelines para conectar tarefas em uma sequência ou em paralelo para facilitar um processo. Os pipelines podem incluir diversas fontes de dados populares, dentro e fora da Oracle Cloud. Use os recursos de agendamento da Data Integration para definir quando e como executar cada tarefa. Use o Oracle Database Cloud Service Management para definir os trabalhos do banco de dados que devem ser executados frente a um conjunto de banco de dados. Melhore esse pipelines com CI/CD e observabilidade unificada para os desenvolvedores de aplicativo.
Use as melhores ferramentas que podem simplificar, automatizar e acelerar a consolidação de dados para uso com o máximo valor comercial. Para data warehouses, data marts departamentais e camadas de serviço e apresentação com dados estruturados, use o Autonomous Database, que é otimizado para esses cenários. O recurso Autonomous Data Warehouse também fornece conectividade para análises, inteligência de negócios e ferramentas de relatórios, como o Oracle Analytics Cloud.
Planeje manter os seus dados seguros. Rastreie todos os trabalhos que trazem e retiram dados do seu data lake, mantenha os metadados da linhagem de dados e garanta que as políticas de controle de acesso sejam atualizadas.
Siga o princípio do privilégio mínimo e garanta que os usuários e as contas de serviço tenham apenas o privilégio mínimo necessário para executar suas tarefas. Controle quem tem acesso aos componentes da plataforma de dados usando o Oracle Cloud Infrastructure Identity and Access Management. Use a autenticação multifator no Oracle Cloud Infrastructure Identity and Access Management para impor autenticação forte para administradores. Use a segurança do Banco de Dados com o Oracle Datasafe para ter postura de segurança de todos os dados, usuários e padrões de acesso. Armazene informações confidenciais, como senhas e tokens de autenticação dentro de um serviço do Vault.
Use um banco de dados convergente escalável (processamento de transações e data warehouse) para operar a empresa que gera dados, armazena e analisa todos os tipos de dados. Nesta arquitetura, várias fontes de dados (usuários finais, dispositivos, eventos, sensores e aplicações) fornecem dados ao banco de dados por meio da integração de dados (Oracle GoldenGate) e Oracle Transactional Event Queues para streaming de dados. Os dados são armazenados no Oracle Autonomous Database (Oracle Autonomous Transaction Processing e Oracle Autonomous Data Warehouse) juntamente com o suporte OCI Object Store para big data usando SQL com tabelas externas. Use o Oracle Machine Learning para criação e implementação de modelos e use o Oracle Analytics Cloud para obter informações sobre os dados.
Oracle Machine Learning (OML Notebooks, OML AutoML UI, OML Services, OML4Py) no Oracle Autonomous Database para explorar e preparar dados e criar, avaliar e implementar modelos de machine learning.
Esse padrão de arquitetura fornece recursos poderosos quando os dados necessários para treinar o modelo são trazidos para o banco de dados e o processamento está próximo de onde os dados estão. Esse padrão tem uma variedade de fontes de dados e eventos que podem ser explorados e preparados com exploração de dados para treinamento OML e usar OML para construir, treinar e implementar modelos com SQL, Python usando OML4Py ou usando AutoML no-code. Importe modelos treinados em outro lugar, como OCI Data Science (por exemplo, Tensorflow ou PyTorch) com OML Services, usando o formato de modelo ONNX.
Esse padrão usa a abordagem "migrar os algoritmos para os dados". Todos os dados são acessados em sua origem (usando tabelas externas) ou ingeridos e, em seguida, processados e armazenados em um banco de dados convergente para modelos de ML. Depois que os modelos são treinados no banco de dados, eles podem ser implementados diretamente usando consultas SQL (usando operadores PREDICTION) ou com APIs OML4Py. Modelos treinados externamente podem ser usados com a ajuda dos OML Services. Além disso, machine learning de análise textual, especial e gráfica estão disponíveis no Autonomous Database.
Essa arquitetura usa os seguintes componentes:
As seguintes fontes de dados estão cobertas:
Essa arquitetura tem os seguintes componentes dentro da VCN:
Considere o seguinte sobre big data e análises.
Ao implementar machine learning e inteligência artificial, pense nos pontos apresentados.
Antipadrões
Considere os pontos a seguir ao projetar uma implementação:
Considere alternativas à arquitetura descrita nesse padrão e evite ter de implementar antipadrões.
Veja a seguir alguns exemplos de implementações que usam serviços de análise e dados da Oracle Cloud Infrastructure (OCI) para ingerir, armazenar, catalogar, preparar, processar e analisar big data.
Use o Oracle Autonomous Data Warehouse como data warehouse ou como data mart com a ajuda da Oracle Analytics Cloud.
Gerencie os dados pelo Autonomous Data Warehouse e use a Oracle Analytics Cloud para visualizar os dados.
Saiba mais sobre recursos relacionados.