Michael Chen | Estrategista de Conteúdo | 15 de outubro de 2024
Machine learning no banco de dados refere-se à 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, algoritmos de treinamento e modelos de avaliação, permanecem no banco de dados. Com o machine learning no 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 remove a latência, a integridade dos dados e as preocupações de segurança envolvidas nos processos de importação/exportação de dados.
Considere uma empresa que de repente está passando por uma grande rotatividade de clientes. Algoritmos de machine learning, ou ML, podem prever quais clientes provavelmente irão se adaptar a um concorrente e sugerir campanhas de marketing personalizadas e fazer outras recomendações sobre como reengajar 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 felizes. Se o machine learning estiver disponível diretamente no banco de dados, essas sugestões poderão ser geradas com muito mais rapidez, nos dados mais atualizados. A empresa pode girar 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 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 de 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.
Simplificando, a movimentação de dados diminui tudo.
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 no banco de dados, o ambiente de banco de dados usa ferramentas para codificação, criação de modelos e testes nativos da plataforma. 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 no banco de dados também fornece consistência de infraestrutura, seja em treinamento ou implementação, o que significa que as equipes de TI estão livres de criar novas infraestruturas prontas para produção, sem mencionar o trabalho relacionado de manutenção e garantia de qualidade, para dar suporte aos próximos estágios de uso do modelo.
Principais Conclusões
O machine learning no banco de dados é uma experiência perfeita porque os funcionários trabalham com seus sistemas e ferramentas de banco de dados familiares. 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 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 orientadas por 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 a porta para possíveis problemas, incluindo:
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 a reconstrução ou a reformatação dos esforços para garantir a compatibilidade. Permanecer dentro do banco de dados também elimina a necessidade de manter sistemas capazes de lidar com o intermediário.
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:
O machine learning no banco de dados é importante para as equipes de dados agora devido ao crescimento rápido e contínuo do volume e da variedade de dados. Simplificando, tarefas com uso intensivo de dados vão ficar mais difíceis, não mais fáceis, por isso é mais crítico do que nunca integrar o machine learning no banco de dados aos fluxos de trabalho.
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.
Em linhas gerais, veja como funciona o machine learning no banco de dados.
Tudo começa com a carga 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 código perto dos dados para permitir as melhorias completas de eficiência possíveis com o machine learning no banco de dados.
Quer os algoritmos de machine learning estejam 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 ajustar conforme necessário. A maior diferença com o machine learning no banco de dados é que essas etapas são executadas no banco de dados, em vez de em um sistema separado do local onde os dados estão armazenados. Isso elimina a necessidade de mover dados entre vários sistemas e armazenamentos de dados diferentes para executar tarefas de otimização de modelo.
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 usam recursos de computação, sobrecarregando a infraestrutura. As APIs nativas do banco de dados podem lidar com essas tarefas, mesmo que o modelo seja transferido do desenvolvimento para os ambientes de teste e produção.
Usando o machine learning no banco de dados, as revisões no modelo de ML podem se propagar 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 se integram instantaneamente, permitindo que as funções sejam executadas sem interrupções de etapas adicionais ou recursos de computação sobrecarregados.
Quando insights são gerados usando modelos de ML diretamente em um banco de dados, o resultado é insights quase em tempo real sem etapas adicionais ou preocupações sobre latência ETL/ELT e integridade de dados.
O machine learning no banco de dados encurta naturalmente os processos e reduz as necessidades de hardware das organizações, criando uma série de benefícios. Embora essa abordagem venha com seu próprio conjunto de limitações, os benefícios comuns são os seguintes:
Mover dados entre sistemas é, na melhor das hipóteses, complicado. Na pior das hipóteses, ele pode introduzir erros, latência e riscos de segurança enquanto retarda as operações. Ao manter as tarefas de análise dentro do banco de dados, os obstáculos extras envolvidos com ELT/ETL - exportação, transformação de dados e carregamento - são negados, garantindo que o processo de análise geral se mova o mais rápido possível.
Quando uma organização elimina a necessidade de mudar grandes conjuntos de dados, ela ganha economia em armazenamento e mão de obra especializada, além de menos latência. Afinal, tempo é dinheiro. Além disso, a eficiência aprimorada reduz as horas gastas na solução de problemas de hardware e software para um nível secundário de redução de custos.
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 remoção de processos de movimentação de dados elimina o poder de computação adicional necessário para concluir etapas como exportação ou conversão de formato. Manter os dados dentro do banco de dados reduz a necessidade de resolver problemas de compatibilidade e melhora a eficiência da computação, oferecendo assim maior flexibilidade e dimensionamento mais fácil para atender à demanda.
Os processos ELT/ETL são uma fonte primária de dados duplicados dentro de uma rede. A duplicação pode resultar de muitas fontes, como um problema de hardware que interrompe a exportação, deixando 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 abre riscos que podem danificar a qualidade e a precisão de um conjunto de dados e, ao mesmo tempo, diminuir a eficiência do processo.
O machine learning dentro do banco de dados mantém os dados em um só lugar. Isso elimina a necessidade de mover dados, reduzindo a exportação/importação e a entrada/saída. Como resultado, os processos podem acontecer dentro do ambiente nativo, sem depender de outros sistemas. Isso libera ferramentas e recursos de automação para várias tarefas, como implantaçã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.
As ferramentas de machine learning no banco de dados vêm em uma variedade de serviços e recursos. Em muitos casos, essas ferramentas são semelhantes às que um fornecedor de banco de dados pode fornecer como recursos independentes, seja como um subconjunto de recursos integrados ou como uma conexão incorporada à plataforma de machine learning do fornecedor. Por exemplo, o Oracle Database fornece recursos de machine learning dentro do ambiente para eliminar a necessidade de mover dados de sistema para sistema. 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, juntamente com uma variedade de algoritmos disponíveis.
Embora venha com 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 a migração futura ou quando o modelo de ML requer algo além dos recursos nativos do ambiente.
As desvantagens e limitações mais comuns do machine learning no banco de dados incluem o seguinte:
Se tudo se alinhar às necessidades e metas de machine learning de um projeto, passar do teste à implementação é, na verdade, uma etapa simples. No entanto, esses modelos se baseiam nos recursos específicos das ferramentas de banco de dados de uma organização. O que acontece quando o projeto evolui para algo mais complexo ou requer migração? Trabalhar com ferramentas no banco de dados pode tornar a carga de trabalho imediata de ML mais rápida e eficiente, mas o futuro pode ser um ponto de interrogação. Portanto, é necessário considerar se as metas de longo prazo se alinham aos recursos atuais.
O machine learning no banco de dados funciona apenas em aplicativos de banco de dados suportados e pode oferecer um conjunto limitado de APIs. Isso está mudando à medida que os recursos dos sistemas de machine learning no banco de dados crescem, mas, como regra geral, as ferramentas autônomas oferecem mais poder e recursos, juntamente com uma variedade de especialistas disponíveis para ajudar as empresas a explorar esses recursos.
A maior força do machine learning no banco de dados também leva a uma de suas maiores desvantagens: mantendo 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 ignoradas.
Em muitos casos, os bancos de dados não compartilharão os mesmos recursos de computação que as ferramentas de machine learning, especialmente 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 configuração organizacional é diferente; da mesma forma, as necessidades de cada projeto são diferentes, e isso é uma compensação a ser considerada durante os estágios iniciais de planejamento.
HeatWave fornece IA e ML generativos automatizados, integrados e seguros em um único serviço de nuvem para transações e análises de escala lakehouse. O HeatWave AutoML inclui tudo o que o usuário precisa para criar, treinar e explicar modelos de ML em HeatWave, sem custo adicional. Com o ML no Banco de Dados em HeatWave, os clientes não precisam mover dados para um serviço ML separado. Eles podem aplicar de forma fácil e segura treinamento de ML, inferência e explicação aos dados armazenados no MySQL e 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 forneça ML no banco de dados, o que pode ser um divisor de águas para organizações que buscam aproveitar totalmente o poder do ML. Ao trazer algoritmos de ML para os dados, em vez de vice-versa, os tomadores de decisão obtêm análises mais rápidas e eficientes.
Os modelos de IA vêm em muitos tamanhos e níveis de complexidade, desde LLMs até modelos de ML mais simples. O que todos eles têm em comum? A necessidade de dados. Aqui estão 4 componentes de uma infraestrutura de dados pronta para IA.
Como o ML no banco de dados pode ser usado de forma eficaz?
O machine learning no banco de dados só funciona quando as empresas empregam um banco de dados que suporta recursos no banco de dados. A base desse banco de dados para recursos de computação deve ser considerada, juntamente 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 os tempos de processo de semanas para dias, pois elimina a necessidade de confiar em ferramentas externas para ETL / ELT. Do ponto de vista geral, isso também reduz o custo de propriedade e aumenta a escalabilidade e a eficiência operacional por meio de menos 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 pesar os seguintes fatores:
Essas perguntas podem esclarecer os prós e contras do machine learning no banco de dados e devem ser consideradas para cada projeto.
Quais são algumas tendências futuras no ML no banco de dados?
Os provedores continuam a melhorar e expandir seus recursos de machine learning no banco de dados, o que significa que várias tendências estão por vir. À medida que mais e mais ferramentas e plataformas suportam machine learning no banco de dados, os cientistas de dados poderão criar e implementar modelos mais complexos. Isso também oferece maior transparência porque o modelo existe em uma plataforma unificada, em vez de se limitar a quem está usando e conduzindo as ferramentas de machine learning. Capacidades maiores também significam usabilidade com conjuntos de dados maiores e, portanto, treinamento, teste e implementação mais rápidos.