Fala, pessoal! Hoje vou compartilhar minha experiência explorando o Oracle Database 23ai! Depois de alguns anos trabalhando principalmente com MySQL, PostgreSQL e outros bancos, resolvi dar uma olhada no que a Oracle anda aprontando. Minha última experiência séria com Oracle foi lá em 2020 com o 12c.
Spoiler: mudou MUITA coisa, e de forma impressionante!
Por Que Oracle 23ai é Diferente?
O que me chamou atenção logo de cara: Oracle Database 23ai é a próxima versão de suporte de longo prazo do Oracle Database, substituindo o 19c. Uma versão de longo prazo oferece cinco anos de suporte premium e três anos de suporte estendido.
O que me fez olhar para Oracle novamente: Curiosidade sobre como eles estão lidando com IA nativa, já que nos outros bancos sempre precisamos de extensões ou ferramentas externas para funcionalidades similares.
O Que Isso Significa na Prática?
Oracle Database 23ai agora é um banco de dados vetorial. AI Vector Search permite criar e armazenar vetores de IA diretamente no banco em seu formato nativo. Esses vetores capturam embeddings para vários tipos de dados, incluindo texto, imagens, áudio ou até mesmo vídeo.
Imagine isso: ao invés de buscar por palavras-chave exatas, você pode buscar por significado.
Experimentando com RAG
Uma das coisas mais legais que testei foi o RAG (Retrieval Augmented Generation):
RAG ajuda organizações a fornecer respostas personalizadas para perguntas de negócio sem o alto custo de retreinar ou fazer fine-tuning dos LLMs.
O processo é interessante:
- Você faz uma pergunta em linguagem natural
- O banco busca dados similares semanticamente
- Os resultados são formatados como prompt e contexto para o LLM. O LLM recebe dados de negócio atualizados, reduzindo assim as alucinações
Novo Tipo de Dados VECTOR
O tipo de dados VECTOR é introduzido com o lançamento do Oracle Database 23ai, fornecendo a base para armazenar embeddings vetoriais junto com dados de negócio no banco.
CREATE TABLE acdc_songs (
song_id INT,
song_title VARCHAR2(100),
lyrics CLOB,
lyrics_vector VECTOR
);
É simples assim! Agora posso armazenar vetores diretamente nas tabelas, lado a lado com dados relacionais tradicionais. Imaginem buscar músicas do AC/DC por sentimento ou tema, não apenas por nome!
JSON Relational Duality: Unindo Dois Mundos
Se AI Vector Search é impressionante, JSON Relational Duality Views é revolucionário para quem trabalha com APIs modernas.
O Problema que Resolve
Sabe aquela eterna briga entre "usar SQL ou NoSQL"? JSON Relational Duality é uma nova capacidade de modelagem de dados que apresenta visualizações de documento JSON atualizáveis e consistentes sobre dados relacionais.
Permite que os dados permaneçam em tabelas relacionais normalizadas, mas sejam acessados como documentos JSON. Essa dualidade de acesso e armazenamento elimina a necessidade de escolher entre modelos relacionais e de documento para desenvolvimento de aplicações.
Testando na Prática
CREATE OR REPLACE JSON RELATIONAL DUALITY VIEW acdc_member_dv AS
SELECT JSON {
'_id' : m.member_id,
'name' : m.first_name || ' ' || m.last_name,
'instrument' : m.instrument,
'join_date' : m.join_date,
'band_info' : {
'band_id' : b.band_id,
'band_name' : b.name,
'formed_year' : b.formed_year,
'origin' : b.origin
}
}
FROM members m, bands b
WHERE m.band_id = b.band_id
AND b.name = 'AC/DC'
WITH INSERT UPDATE DELETE;
O resultado? Posso fazer um simples:
SELECT * FROM acdc_member_dv;
E recebo JSON estruturado com os membros da banda! Mas o mais legal: posso fazer INSERT, UPDATE e DELETE diretamente no JSON, e ele atualiza as tabelas relacionais automaticamente.
Imaginem uma API que retorna informações dos membros do AC/DC como JSON, mas por trás usa tabelas relacionais normalizadas!
Comparando com o Que Conhecia (Oracle 12c vs MySQL/PostgreSQL)
Vindo de uma experiência antiga com Oracle 12c e anos recentes com MySQL e PostgreSQL, as diferenças são gritantes:
Oracle 12c
- JSON básico como CLOB
- Recursos de IA/ML praticamente inexistentes
- Principalmente focado em dados relacionais tradicionais
- Complexo para configurar e usar
MySQL/PostgreSQL (minha experiência recente)
- JSON nativo no PostgreSQL, mais limitado no MySQL
- Extensões para machine learning (como pgvector no Postgres)
- Ecosistema open source
- Simplicidade para desenvolvimento moderno
Oracle 23ai
- 23ai oferece o novo tipo de dados JSON, JSON Relational Duality Views avançadas para integração relacional-JSON, funções SQL/JSON aprimoradas, mecanismos de indexação melhorados e opções de armazenamento binário eficientes
- IA integrada ao kernel do banco (isso é NOVO!)
- Busca semântica nativa
- Combine livremente APIs JSON, REST e SQL padrão, dependendo do seu caso de uso
Honestamente: Se alguém me perguntasse há alguns anos se consideraria Oracle para projetos novos, eu diria "talvez não". Agora? Oracle está competindo de igual para igual com soluções modernas, e em alguns aspectos, ultrapassou.
Outras Features que Me Surpreenderam
SQL Firewall
SQL Firewall é uma funcionalidade de segurança do banco construída no kernel do Oracle Database 23ai que inspeciona todas as conexões de entrada e declarações SQL e permite/registra/bloqueia atividades não autorizadas seguindo políticas específicas do usuário do banco.
Boolean Data Type Nativo
Finalmente! Oracle Database agora suporta o tipo de dados Boolean compatível com o padrão ISO SQL. Isso permite armazenar valores True e False em tabelas e usar expressões booleanas em declarações SQL.
Não mais aquele VARCHAR2(1)
com 'Y'/'N'. Aleluia!
Property Graphs
Oracle 23ai vem com suporte nativo aprimorado para modelos de dados property graph, permitindo construir e consultar grafos junto com dados transacionais, JSON e espaciais.
Experimentando com Oracle 23ai Free
Oracle Database 23ai Free oferece aos desenvolvedores acesso às funcionalidades mais recentes que simplificam o desenvolvimento.
Baixei a versão free e foi surpreendentemente fácil de configurar. Em menos de 30 minutos tinha um ambiente completo rodando com todas as funcionalidades de AI.
Bons pontos
Comparado às soluções anteriores de banco Oracle, esta é a primeira versão que foca pesadamente em funcionalidades para IA. É também por isso que a Oracle decidiu renomear de Database 23c para o mais tecnicamente atrativo Database 23ai.
Por que isso me fez repensar Oracle:
- Facilidade de uso: Oracle 23ai Free baixou MUITO a barreira de entrada
- Funcionalidades nativas de IA: Não preciso de extensões ou gambiarras como em outros bancos
- JSON Duality: Resolve de vez o dilema SQL vs NoSQL
- Performance: Os benchmarks que vi são impressionantes
Se você, como eu, teve experiências antigas com Oracle e migrou para outras soluções, minha recomendação: baixe o 23ai Free e experimente. Me surpreendi positivamente, e talvez você também se surpreenda.
A era da IA chegou ao Oracle, e francamente... eles fizeram o dever de casa!
Ah, e se você curtiu esse conteúdo e quer aprender mais sobre tecnologias emergentes, te faço um convite! Temos uma comunidade super ativa onde compartilhamos conhecimento, tiramos dúvidas e fazemos networking.
Junte-se ao Quarkus Club:
- Discord: https://discord.gg/nMeSs2u4ZJ
- YouTube: https://www.youtube.com/@QuarkusClub
E se quiser trocar uma ideia sobre Oracle, IA, ou qualquer tech em geral, me adiciona no LinkedIn:
Referências
- Oracle Database 23ai Features
- AI Vector Search User's Guide
- JSON Relational Duality
- Oracle Database 23ai Free Download
Por Luis De Llamas
Developer Advocate
Top comments (0)