Machine learning no banco de dados com HeatWave AutoML.

Michael Chen | Estrategista de Conteúdo | 15 de outubro de 2024

Machine learning no banco de dados se refere à integração de algoritmos e técnicas de machine learning em um sistema de gerenciamento de banco de dados. Todos os processos, incluindo seleção de conjuntos de dados, treinamento de algoritmos e avaliação de modelos, permanecem dentro do banco de dados. Com o machine learning em banco de dados, as organizações podem executar tarefas analíticas complexas diretamente em seus bancos de dados, eliminando a necessidade de mover dados entre sistemas. Isso elimina a latência, os problemas de integridade de dados e as preocupações com segurança envolvidas nos processos de importação/exportação de dados.

Considere uma empresa que de repente está passando por uma alta taxa de rotatividade de clientes. Algoritmos de machine learning, ou ML, podem prever quais clientes provavelmente migrarão para a concorrência e sugerir campanhas de marketing personalizadas, além de fazer outras recomendações sobre como reconquistar esses compradores. Talvez você tenha excesso de estoque de itens comprados com frequência. Oferecer uma promoção especial pode movimentar o estoque e deixar os clientes mais felizes. Se o machine learning estiver disponível diretamente no banco de dados, essas sugestões poderão ser geradas com muito mais rapidez, com base nos dados mais atualizados. A empresa pode se adaptar rapidamente. E como não há necessidade de mover dados para um mecanismo de ML externo, as preocupações com a exposição de informações do cliente são eliminadas.

O que é machine learning integrado ao banco de dados?

O machine learning no banco de dados traz algoritmos de machine learning diretamente para o banco de dados, eliminando a necessidade de mover dados entre diferentes sistemas. Tradicionalmente, o machine learning exigia que os dados fossem extraídos do banco de dados e processados ​​em uma plataforma ou ferramenta de análise de ML separada. Isso pode ser demorado e consumir muitos recursos, especialmente ao lidar com grandes conjuntos de dados.

Com o machine learning no banco de dados, os dados permanecem colocados enquanto os algoritmos de machine learning são executados nativamente no ambiente do banco de dados. Um dos principais benefícios de incorporar algoritmos de ML no banco de dados é uma análise mais rápida e eficiente.

Basicamente, mover dados torna tudo mais lento.

O machine learning no banco de dados é particularmente útil para os grandes conjuntos de dados necessários, por exemplo, para treinar modelos de IA. Com o machine learning integrado ao banco de dados, o ambiente de banco de dados usa ferramentas nativas da plataforma para codificação, construção de modelos e testes. Isso permite que todas as tabelas do banco de dados sejam usadas para projetos com uso intensivo de dados, com apenas alguns cliques.

O machine learning integrado ao banco de dados também oferece consistência de infraestrutura, tanto no treinamento quanto na implementação, o que significa que as equipes de TI não precisam criar infraestruturas prontas para produção, sem mencionar o trabalho relacionado de manutenção e garantia de qualidade, para oferecer suporte aos próximos estágios de uso do modelo.

Principais conclusões

  • O machine learning no banco de dados permite que as organizações codifiquem, criem, testem e implementem modelos de machine learning no próprio ambiente do banco de dados.
  • Ao permanecer no banco de dados, o processo de machine learning se torna muito mais eficiente.
  • Os modelos criados com machine learning no banco de dados geralmente são menos complexos que aqueles criados com ferramentas independentes, pois dependem dos recursos disponíveis no ambiente.

Machine learning no banco de dados explicado

O machine learning integrado ao banco de dados proporciona uma experiência perfeita, pois os funcionários trabalham com sistemas e ferramentas de banco de dados que já conhecem. Da mesma forma, os analistas podem usar seus bancos de dados existentes e linguagens de consulta familiares para realizar análises avançadas sem a necessidade de investimentos adicionais em software ou hardware. Ao analisar os dados diretamente no banco de dados, as organizações podem descobrir insights valiosos sobre os dados mais recentes e tomar decisões mais oportunas e baseadas em dados.

Sem o machine learning no banco de dados, as empresas que desejam aplicar a análise de ML aos seus dados precisarão executar processos de extração/transformação/carga (ETL) ou extração/carga/transformação (ELT) e transferir dados para sistemas externos. De acordo com esse modelo tradicional, os cientistas de dados podem executar operações manuais de importação/exportação, ou os sistemas podem ser integrados por meio de APIs; em ambos os casos, várias etapas extras são necessárias para preparar os conjuntos de dados para funções de machine learning, e essas etapas extras abrem caminho para possíveis problemas, incluindo:

  • Erros de dados duplicados
  • Dados corrompidos
  • Falhas de segurança
  • Uso intensivo de recursos e computação e custos associados
  • Problemas de compatibilidade de integração
  • Problemas de compatibilidade de formato

O machine learning no banco de dados ignora as etapas de exportação/importação, mantendo as tarefas de ML no mesmo ambiente que os próprios dados, sem exigir esforços de reconstrução ou reformatação para garantir a compatibilidade. Permanecer dentro do banco de dados também elimina a necessidade de manter sistemas capazes de lidar com a movimentação deles.

Importância do machine learning em banco de dados

Em escala, existem vários obstáculos ao usar um conjunto diversificado de fontes de dados para tarefas de machine learning, particularmente treinamento de modelo de IA. Eles incluem o seguinte:

  • Restrições de treinamento do modelo. Como muitos conjuntos de dados são grandes demais para serem constantemente submetidos ao processamento ETL/ELT, as equipes de dados geralmente usam apenas subconjuntos de seus dados para o treinamento de modelos. Isso cria limitações, já que os modelos podem ser treinados em dados que não representam todo o espectro de cenários que encontrarão quando implementados no "mundo real".
  • Complexidade das fontes de dados. As fontes de dados podem ser muitas e variadas, como sensores de Internet das Coisas (IoT) em tempo real em uma fábrica, bancos de dados de clientes com longos históricos e vários campos, enormes arquivos de log de segurança. A falta de um formato único, unificado e simplificado cria problemas para aplicações, incluindo sistemas de business intelligence, sem mencionar funções mais complexas, como machine learning.

O machine learning integrado ao banco de dados é importante para as equipes atualmente devido ao rápido e contínuo crescimento do volume e da variedade de dados. Resumindo, tarefas com uso intensivo de dados se tornarão mais difíceis, não mais fáceis, por isso é mais crucial do que nunca integrar o machine learning no banco de dados aos fluxos de trabalho.

Como funciona o machine learning dentro do banco de dados?

Na sua forma mais básica, o machine learning no banco de dados funciona de forma semelhante ao machine learning padrão. A principal diferença é que todas as etapas necessárias para mover dados entre sistemas, desde extrações até transformação/limpeza, são simplesmente removidas. No entanto, isso apresenta algumas limitações e requisitos devido à natureza do trabalho em um ambiente de banco de dados.

Veja como funciona o machine learning no banco de dados de modo geral.

1. Os dados são carregados e pré-processados em um banco de dados de análise

Tudo começa com o carregamento inicial no banco de dados, embora para fins de machine learning no banco de dados, permaneça uma ressalva: o banco de dados deve oferecer suporte ao recurso, especificamente, mantendo o próximo aos dados para permitir as melhorias de eficiência possíveis com o machine learning no banco de dados.

2. Algoritmos de machine learning são otimizados

Independentemente de os algoritmos de machine learning estarem localizados no banco de dados ou em uma plataforma de terceiros, eles ainda precisam passar pelo processo de otimização necessário. Isso significa treinar o modelo, avaliar os resultados e realizar ajustes finos conforme necessário. A principal diferença do machine learning no banco de dados é que essas etapas são realizadas dentro do próprio banco de dados, em vez de em um sistema separado de onde os dados estão armazenados. Isso elimina a necessidade de mover dados entre vários sistemas e armazenamentos de dados diferentes para realizar tarefas de otimização do modelo.

3. Cientistas de dados usam APIs especializadas para treinar o machine learning

No machine learning tradicional, os dados devem ser movidos de bancos de dados para um repositório, como um data lake, para treinar o modelo, avaliar os resultados e executar refinamentos, como ajustar algoritmos e parâmetros individuais. Essas etapas consomem recursos computacionais, sobrecarregando a infraestrutura. As APIs nativas de banco de dados podem lidar com essas tarefas, mesmo quando o modelo é transferido de ambientes de desenvolvimento para teste e, posteriormente, para produção.

4. Insights preditivos podem ser executados diretamente em sistemas operacionais sem interrupções

Usando o machine learning no banco de dados, as revisões no modelo de ML podem ser propagadas para outros bancos de dados, seja em ambientes de desenvolvimento, teste ou produção, simplesmente criando uma tabela com controle de versão. Os refinamentos são integrados instantaneamente, permitindo que as funções sejam executadas sem interrupções causadas por etapas adicionais ou sobrecarga de recursos computacionais.

5. Os resultados são retornados em tempo real com maior precisão

Quando insights são gerados usando modelos de ML diretamente em um banco de dados, o resultado são insights quase em tempo real, sem etapas adicionais ou preocupações com latência de ETL/ELT e integridade de dados.

Benefícios do machine learning no banco de dados em comparação com outros métodos

O machine learning no banco de dados naturalmente diminui os processos e reduz as necessidades de hardware das organizações, criando uma série de benefícios. Embora essa abordagem tenha suas próprias limitações, os benefícios comuns são os seguintes:

Processamento de análise mais rápido

Na melhor das hipóteses, mover dados entre sistemas é apenas complicado. Na pior delas, pode introduzir erros, latência e riscos de segurança, além de tornar as operações mais lentas. Ao manter as tarefas de análise dentro do banco de dados, os obstáculos adicionais envolvidos com ELT/ETL, desde a exportação e transformação de dados até o carregamento, são eliminados, garantindo que todo o processo analítico seja o mais ágil possível.

Custo de propriedade reduzido

Quando uma organização elimina a necessidade de mover grandes conjuntos de dados, ela economiza em armazenamento e mão de obra especializada, além de reduzir a latência. Afinal, tempo é dinheiro. Além disso, a maior eficiência reduz as horas gastas na solução de problemas de hardware e software, resultando em uma redução de custos de forma indireta.

Maior escalabilidade

A escalabilidade geralmente depende de recursos: quanto mais dinheiro, mão de obra ou CPUs forem necessárias para um processo, mais difícil será escalar sob demanda. A eliminação dos processos de movimentação de dados elimina a capacidade computacional extra necessária para concluir etapas como exportação ou conversão de formato. Manter os dados dentro do banco de dados reduz a necessidade de lidar com problemas de compatibilidade e melhora a eficiência computacional, oferecendo muito mais flexibilidade e facilidade de dimensionamento para atender à demanda.

Desempenho e precisão aprimorados

Os processos ELT/ETL são uma das principais fontes de dados duplicados em uma rede. A duplicação pode ter diversas origens, como um problema de hardware que interrompe a exportação, resultando em dados corrompidos, ou problemas com ferramentas de transformação de dados que levam à edição ou exclusão acidental. Cada etapa de um processo ELT/ETL apresenta riscos que podem prejudicar a qualidade e a precisão de um conjunto de dados, além de diminuir a eficiência do processo.

Implementação e manutenção automatizadas

O machine learning dentro do banco de dados mantém os dados em um único local. Isso elimina a necessidade de mover dados, reduzindo as operações de exportação/importação e entrada/saída. Como resultado, os processos podem ocorrer no ambiente nativo, sem depender de outros sistemas. Isso libera ferramentas e recursos de automação para diversas tarefas, como implementação, auditoria e verificações de manutenção. Os usuários podem se beneficiar desses recursos sem se preocupar com problemas de compatibilidade ou integração que possam surgir.

Ferramentas e serviços de machine learning integrados ao banco de dados

As ferramentas de machine learning integradas ao banco de dados abrangem uma variedade de serviços e recursos. Em muitos casos, essas ferramentas são semelhantes aos recursos independentes de um fornecedor de banco de dados, seja como um subconjunto de funcionalidades integradas ou como uma conexão incorporada à plataforma de machine learning. Por exemplo, o Oracle Database oferece recursos de machine learning dentro do ambiente para eliminar a necessidade de migrar dados entre sistemas. Nesse caso, o Oracle Database fornece exploração, preparação e modelagem usando ferramentas do Oracle Machine Learning, como SQL, R, Python, REST, machine learning automatizado (AutoML) e interfaces no-code, além de uma variedade de algoritmos disponíveis.

Captura de tela do painel do Oracle Machine Learning

Desvantagens do machine learning no banco de dados

Embora apresente benefícios atraentes, o machine learning no banco de dados é altamente dependente dos recursos e capacidades do ambiente de banco de dados. Isso pode levar a problemas com migrações futuras ou quando o modelo de ML exigir algo além das capacidades nativas do ambiente.

As desvantagens e limitações mais comuns do machine learning no banco de dados incluem:

Dificuldade na implementação de modelos

Se tudo estiver alinhado com as necessidades e os objetivos de machine learning de um projeto, a transição da fase de testes para a implementação é, na verdade, um passo simples. No entanto, esses modelos são baseados nas capacidades específicas das ferramentas de banco de dados de uma organização. O que acontece quando o projeto evolui para algo mais complexo ou exige migração? Trabalhar com ferramentas de banco de dados pode tornar a carga de trabalho de ML imediata mais rápida e eficiente, mas o futuro é incerto, portanto, é necessário considerar se os objetivos de longo prazo estão alinhados com as capacidades atuais.

Complexidade limitada do modelo

O machine learning no banco de dados funciona apenas em aplicações de banco de dados compatíveis e pode oferecer um conjunto limitado de APIs. Isso está mudando à medida que os recursos dos sistemas de machine learning integrados ao banco de dados aumentam, mas, como regra geral, as ferramentas independentes oferecem mais poder e recursos, além de uma vasta gama de especialistas disponíveis para ajudar as empresas a explorar esses recursos.

Falta de transparência de dados

A maior vantagem do machine learning integrado ao banco de dados também implica uma de suas maiores desvantagens, pois ao manter os dados dentro do ambiente de banco de dados, as etapas de ETL/ELT são ignoradas, mas isso significa que as oportunidades de auditoria e limpeza de dados também são perdidas.

Limitações de computação

Em muitos casos, os bancos de dados não compartilham os mesmos recursos de computação que as ferramentas de machine learning, principalmente para modelos de grande escala ou extremamente complexos que exigem computação de alto desempenho. Por isso, o escopo dos modelos de machine learning no banco de dados geralmente tem um limite. Cada estrutura organizacional é diferente, assim como as necessidades de cada projeto, e isso é uma questão a ser considerada durante as etapas iniciais de planejamento.

Conceitos básicos do machine learning no banco de dados com o HeatWave AutoML

O HeatWave oferece IA generativa e ML automatizadas, integradas e seguras em um único serviço em nuvem para transações e análises em escala de lakehouse. O HeatWave AutoML inclui tudo o que os usuários precisam para criar, treinar e explicar modelos de ML dentro do HeatWave, sem custo adicional. Com o ML no banco de dados do HeatWave, os clientes não precisam mover dados para um serviço de ML separado. É possível aplicar treinamento, inferência e explicação de ML de forma fácil e segura aos dados armazenados tanto no MySQL quanto no armazenamento de objetos. O HeatWave está disponível na Oracle Cloud Infrastructure, Amazon Web Services e Microsoft Azure.

Para começar, as organizações precisam garantir que seu banco de dados ofereça ML no banco de dados, o que pode ser um diferencial para organizações que buscam aproveitar ao máximo o poder do ML. Ao trazer os algoritmos de ML para os dados, e não o contrário, os tomadores de decisão obtêm análises mais rápidas e eficientes.

Dados e IA: um guia do CIO para o sucesso

Os modelos de IA variam em tamanho e nível de complexidade, desde modelos de ML até modelos mais simples. O que todos eles têm em comum? A necessidade de dados. Confira 4 componentes de uma infraestrutura de dados preparada para IA.

Perguntas frequentes sobre machine learning em banco de dados

Como o ML no banco de dados pode ser usado de forma eficaz?

O machine learning integrado ao banco de dados requer um banco de dados que ofereça suporte a essas funcionalidades. A infraestrutura de recursos computacionais desse banco de dados deve ser considerada, assim com o tamanho e o escopo do banco de dados e do modelo de machine learning.

Quais são os benefícios do ML no banco de dados?

O machine learning no banco de dados elimina a necessidade de extrair e mover dados entre sistemas. Isso cria um conjunto natural de benefícios em termos de eficiência e, em alguns casos, pode reduzir o tempo de processamento de semanas para dias, pois elimina a necessidade de depender de ferramentas externas para ETL/ELT. Do ponto de vista geral,, isso também reduz o custo total de propriedade e aumenta a escalabilidade e a eficiência operacional por meio de menor uso de recursos.

Quais são alguns problemas a serem considerados ao usar o ML no banco de dados?

Antes de decidir usar o machine learning no banco de dados para um projeto, as equipes devem avaliar os seguintes fatores:

  • Qual a urgência do projeto?
  • Qual a complexidade do modelo?
  • Um especialista precisará ter acesso ao modelo ou aos dados? Em caso afirmativo, quais ferramentas ele prefere?
  • Que tipo de recursos computacionais estão disponíveis para o banco de dados em comparação com ferramentas de machine learning independentes?

Essas perguntas podem esclarecer os prós e os contras do machine learning integrado ao banco de dados e devem ser consideradas para cada projeto.

Quais são algumas tendências futuras em ML integrado ao banco de dados?

Os fornecedores continuam aprimorando e expandindo seus recursos de machine learning integrado ao banco de dados, o que significa que várias tendências estão surgindo. À medida que mais e mais ferramentas e plataformas oferecem suporte ao machine learning integrado ao banco de dados, os cientistas de dados poderão criar e implementar modelos mais complexos. Isso também proporciona maior transparência, pois o modelo existe em uma plataforma unificada, em vez de ficar limitado a quem estiver usando e controlando as ferramentas de machine learning. Maior capacidade também significa usabilidade com conjuntos de dados maiores e, portanto, treinamento, teste e implementação mais rápidos.