Utilizando ou Não o Componente Dataset na Criação de ETLs no ODI 12c?
- Rodrigo de Oliveira
- 15 de jan. de 2024
- 3 min de leitura
Ao desenvolver novas cargas de ETL no Oracle Data Integrator (ODI), nos deparamos com o componente Dataset disponibilizado na versão 12c do ODI. Vamos explorar esse componente e suas aplicações. Algumas empresas têm como regra não utilizar esse componente no desenvolvimento de suas cargas, enquanto outras têm aberto a possibilidade de sua utilização. Vamos entender mais sobre o componente.
O guia para desenvolvedor do Oracle Data Integrator (ODI Documentation) diz:
“Datasets are container components which contain one or more source datastores, which are related using filters and joins. To other components in a mapping, a dataset is indistinguishable from any other projector component (like a datastore); the results of filters and joins inside the dataset are represented on its output port.”
Com essa definição em mente, podemos dizer que o componente Dataset é uma funcionalidade projetada para fornecer uma abordagem mais avançada e flexível no desenvolvimento de processos de ETL. Ele introduz a ideia de um contêiner lógico que encapsula a lógica de transformação e consulta de dados, oferecendo maior reutilização, modularidade e flexibilidade.
Acredito que a estratégia da Oracle ao introduzir o componente Dataset no ODI 12c foi aprimorar a experiência de transição entre as versões 11g e 12c.
Na versão 11g, todas as tabelas, relacionamentos e filtros eram encapsulados dentro de um dataset padrão. No 12c, o conceito é basicamente o mesmo na utilização do dataset, com a possibilidade da sua utilização dentro de um fluxo de mapeamento. Em outras palavras, a utilização do dataset na versão 12c não exclui a arquitetura baseada em fluxo introduzida na nova versão. Apenas torna mais flexível a utilização do conceito de “Dataset”.
Para empresas que utilizam o banco de dados na nuvem, um ponto interessante é que pacotes de cargas com a utilização de dataset possuem um tamanho maior em relação à utilização sem o componente.
Vamos observar alguns pontos sobre o uso ou não do componente dataset:
Sem o Uso de Dataset:
Fontes e Destinos Diretos: Sem a utilização de Dataset, você normalmente mapeia diretamente as fontes e destinos nos componentes de mapeamento do ODI.
Limitações de Reutilização: A reutilização de lógica pode ser mais desafiadora, pois os componentes estão mais diretamente vinculados aos objetos de origem e destino específicos.
Menos Flexibilidade na Manipulação de Dados: A manipulação de dados pode ser mais restrita, pois você está trabalhando diretamente com os objetos de origem e destino no nível do mapeamento.
Com o Uso de Dataset:
Abstração de Dados: A introdução de Dataset traz uma camada adicional de abstração. Os Datasets atuam como contêineres lógicos que representam conjuntos de dados.
Reutilização Aprimorada: Você pode criar Datasets reutilizáveis que encapsulam lógica de transformação e consulta, proporcionando uma maior flexibilidade na manipulação de dados.
Independência de Origens e Destinos: Datasets oferecem uma maior independência de origens e destinos específicos, permitindo uma lógica de mapeamento mais flexível e reutilizável.
Facilita a Manutenção: A utilização de Datasets pode facilitar a manutenção, pois as mudanças nas fontes ou destinos podem ser tratadas dentro do Dataset sem afetar diretamente o mapeamento.
Melhor Organização e Estruturação: Os Datasets ajudam a organizar e estruturar a lógica do mapeamento de uma forma mais modular e organizada.
O uso de Dataset no ODI 12c proporciona uma abordagem mais avançada e modular para o desenvolvimento em mapeamentos, facilitando a reutilização, manutenção e organização da lógica de ETL. No entanto, a escolha entre usar ou não dependerá dos requisitos específicos do projeto, da complexidade dos processos de ETL e da preferência da equipe de desenvolvimento.
Espero que essas informações sejam úteis. Estou à disposição para fornecer mais esclarecimentos. Até a próxima!
Commenti