Mapeamento de bases de dados e ETL (Extração, Transformação e Carga)

Mapear e converter dados entre bases de dados ou outros formatos de dados

  • Extração, transformação e carregamento de dados para qualquer base de dados
  • Execute consultas em bases de dados em todas as plataformas principais
  • Suporte para bases de dados SQL e NoSQL
  • Conversão de um tipo de base de dados para outro
  • Mapear dados de um banco de dados para outros formatos de dados, ou vice-versa
  • Especificar as configurações da chave do banco de dados
  • Registo de informações e tratamento de erros
  • Definir ações para as tabelas do banco de dados
  • Consultar diretamente as bases de dados
  • Conectar-se e mapear dados XML de bases de dados em tabelas
  • Ordenar os componentes de entrada do banco de dados

Ferramentas de mapeamento de bases de dados

O MapForce é uma ferramenta de integração de dados e ETL que oferece um suporte poderoso para a conversão de bases de dados. Permite converter entre qualquer combinação de dados de bases de dados e formatos como XML, JSON, PDF, CSV e outros ficheiros de texto simples, EDI, Excel, protobuf, XBRL, serviços web, Shopify/GraphQL e até mesmo outros formatos de bases de dados.

Quando carrega uma estrutura de base de dados na janela de design, o MapForce interpreta automaticamente o esquema da base de dados, permite-lhe selecionar as tabelas e vistas disponíveis e reconhece as relações entre as tabelas. Assim, pode visualizar a estrutura da base de dados de forma gráfica.

Mapeamento gráfico de bases de dados no MapForce para integrar facilmente os dados das bases de dados

Depois de ter carregado todos os modelos de conteúdo necessários para o mapeamento da sua base de dados, complete o mapeamento simplesmente arrastando linhas de ligação entre as estruturas de origem e de destino.

Suportado relacional bases de dados:

  • Firebird
  • IBM DB2 for iSeries®
  • IBM DB2®
  • Informix®
  • MariaDB
  • Microsoft Access™
  • Microsoft® Azure SQL
  • Microsoft® SQL Server®
  • MySQL®
  • Oracle®
  • PostgreSQL
  • Progress OpenEdge
  • SQLite
  • Sybase® ASE
  • Teradata

Suportado NoSQL Bases de dados:

  • MongoDB
  • CouchDB
  • Microsoft Azure Cosmos DB

O MapForce suporta todas as principais bases de dados relacionais, bem como bases de dados NoSQL populares, permitindo-lhe criar designs gráficos de mapeamento de dados entre a fonte de dados da base de dados, funções e filtros de processamento de dados, e outras estruturas de dados de vários tipos. Isto permite o suporte para cenários comuns de migração de bases de dados, como: Migração de MySQL para PostgreSQL... bem como inúmeras outras possibilidades, incluindo transformações de dados de um para muitos e transformações encadeadas.

Ferramentas de ETL para bases de dados

O MapForce inclui ferramentas ETL (Extração, Transformação e Carga) poderosas para escrever dados em bases de dados SQL e NoSQL. Isto inclui não só a transformação de formatos de dados como XML, JSON, Shopify/GraphQL e outros para bases de dados, mas também a transformação de dados de um tipo de base de dados para outro, como pode ser necessário após uma fusão e aquisição ou uma migração de sistemas.

  • Extração: Uma vez estabelecida a ligação, o MapForce lê os dados de qualquer formato de origem suportado para realizar a extração.
  • Transformação: O MapForce suporta uma vasta gama de funções de transformação, incluindo manipulação de texto, operações matemáticas, conversões de datas e muito mais, bem como funções personalizadas e lógica condicional para lidar com transformações complexas.
  • Carregamento: O MapForce facilita a configuração de ligações a bases de dados de destino, a geração de scripts SQL para inserir dados transformados e a definição de ações como inserção, atualização ou eliminação, para controlar como os dados são gravados. Tudo isto com opções abrangentes para tratamento de erros e registo de atividades.

Filtragem e processamento de dados de bases de dados

Muitas transformações de bases de dados exigem a manipulação de dados entre a fonte e o destino, com base em condições booleanas ou em instruções SQL e SQL/XML. Pode ser necessário realizar comparações lógicas, cálculos matemáticos ou operações com strings, verificar se os dados da base de dados correspondem a um determinado valor e efetuar outras modificações nos dados. Na captura de ecrã acima, as funções de processamento de dados aparecem como os blocos entre as linhas que ligam o modelo de dados de origem e o modelo de dados de destino.

As funções de processamento de dados permitem realizar mapeamentos avançados de bases de dados em tempo real, para uma vasta gama de necessidades de transformação. Por exemplo, pode criar mapeamentos de bases de dados que utilizem mensagens XML ou EDI para extrair linhas da base de dados com base em critérios de filtragem provenientes dos elementos XML ou EDI.

Conversão instantânea de bases de dados

Depois de definir o mapeamento, o motor MapForce integrado permite visualizar e guardar os resultados com apenas um clique.

As associações entre bases de dados e XML geram um documento de saída em formato XML. As associações entre bases de dados e ficheiros simples têm como saída ficheiros CSV ou ficheiros de texto de comprimento fixo. As associações entre bases de dados e EDI podem gerar mensagens EDIFACT, X12 ou HL7. As associações entre bases de dados e o Excel produzem marcação Office Open XML (OOXML), e as associações para XBRL geram relatórios financeiros em formato XBRL.

As transformações para uma base de dados geram resultados na forma de scripts SQL (por exemplo, instruções SELECT, INSERT, UPDATE e DELETE) ou scripts NoSQL, que são executados diretamente na sua base de dados de destino, a partir do próprio MapForce.

Além da transformação imediata, o processamento ETL de alto desempenho está disponível através do MapForce Server.

Registo (ou rastreamento) da saída da base de dados

A rastreabilidade da saída da base de dados facilita o registo de todas as alterações efetuadas por um projeto de mapeamento ou ETL na base de dados, durante a execução do mapeamento.

Quando o registo de eventos está ativado, ações como inserções ou atualizações de dados na base de dados, ou erros, são registados num ficheiro XML que pode ser analisado posteriormente ou processado de forma automatizada.

A monitorização de bases de dados pode ser ativada a nível do componente da base de dados, da tabela, do procedimento armazenado ou do campo da base de dados. Pode optar por monitorizar todas as mensagens ou apenas os erros, ou pode desativar completamente a monitorização.

Depois de selecionar o nível de registo desejado, o componente de base de dados afetado no projeto de mapeamento é expandido com uma estrutura XML que mostra a estrutura do registo. Se preferir que o ficheiro de registo esteja num formato diferente de XML, pode mapear os dados para outro formato suportado pelo MapForce (por exemplo, um ficheiro de texto ou até mesmo outra base de dados).

Ao clicar no botão "Saída" para visualizar o resultado da configuração, o programador também pode ver um exemplo de como será o registo de eventos quando a configuração for executada.

Rastreamento do banco de dados para registar informações de saída, no contexto de processos de ETL (extração, transformação e carregamento) de dados

Gestão de erros em transações de bases de dados

O MapForce também oferece funcionalidades para o tratamento de transações de bases de dados, permitindo reverter a parte afetada da conversão da base de dados quando ocorre um erro, e, opcionalmente, prosseguir com o restante do processo de mapeamento.

Por vezes, ocorre um erro que não impede a continuação do restante do mapeamento da base de dados, como quando certas restrições da base de dados impedem o processo ETL de inserir ou atualizar dados inválidos.

A ativação do tratamento de transações de base de dados irá encapsular todas as alterações efetuadas pelo componente de base de dados dentro de uma transação, que será revertida em caso de erro. Poderá optar por prosseguir com o restante da configuração ou interromper a execução da mesma. É possível ativar as transações tanto no nível do componente de base de dados como no nível das ações da tabela.

Permitir transações de base de dados para tratamento de erros

Isto é muito útil quando o designer de mapeamento deseja capturar apenas os dados recebidos que são válidos e simplesmente ignorar os dados inválidos.

Mapeamento avançado de bases de dados e ETL (Extração, Transformação e Carga)

Para utilizadores que trabalham com SQL, o MapForce inclui uma aba "Consulta de Base de Dados" para realizar consultas diretas à base de dados. Quando se conecta a uma base de dados através da aba "Consulta de Base de Dados", o MapForce exibe as tabelas da base de dados numa estrutura hierárquica na janela do navegador.

Consultar a base de dados ao definir um mapeamento de conversão da base de dados

Pode, então, utilizar a aba do editor SQL para visualizar, editar e executar instruções SQL ou SQL/XML, seja abrindo ficheiros SQL existentes ou criando instruções SQL do zero, utilizando funcionalidades de arrastar e soltar e de autocompletar.

Pode executar o seu script SQL e visualizar os resultados em formato tabular, e também pode guardar tanto os dados obtidos como o próprio script SQL, individualmente, em ficheiros separados.

Configurações das chaves da base de dados

As configurações de chaves de base de dados no MapForce permitem personalizar a forma como os valores das chaves primárias e estrangeiras serão adicionados a uma base de dados que é o destino do mapeamento de dados. Pode fornecer os valores das chaves diretamente no MapForce, ou pode deixar que o sistema de base de dados gere automaticamente esses valores.

Em situações em que as relações de chave primária e/ou chave estrangeira não estão explicitamente definidas nas suas tabelas de base de dados, o MapForce permite que defina estas relações diretamente, sem qualquer impacto nos dados de origem.

Definir ações para tabelas de base de dados

Quando está a mapear para uma base de dados, o MapForce permite-lhe selecionar ações para as tabelas da base de dados, permitindo controlar como os dados são gravados na base de dados. Isto oferece-lhe total flexibilidade para automatizar as tarefas de gestão de dados mais avançadas.

A caixa de diálogo "Ações da Tabela de Base de Dados", de fácil utilização, permite definir as colunas da tabela selecionada que serão utilizadas para determinar qual ação (INSERIR, ATUALIZAR, ELIMINAR) deve ser executada na base de dados.

Isto oferece uma flexibilidade sem precedentes na manipulação de linhas de bases de dados, em resposta a dados XML, de bases de dados, EDI, XBRL, ficheiros simples, Excel, JSON, JSON5, serviços web ou outros dados de bases de dados, através do MapForce.

Suporte para procedimentos armazenados SQL

O MapForce oferece um suporte robusto para procedimentos armazenados, que podem ser utilizados como componentes de entrada (procedimentos que fornecem resultados) ou como componentes de saída (procedimentos que inserem ou atualizam dados). Alternativamente, os procedimentos armazenados podem ser integrados como chamadas de função, permitindo que os utilizadores forneçam dados de entrada, executem o procedimento armazenado e leiam/transformem os dados de saída para outros componentes.

Esta captura de ecrã mostra a utilização de um procedimento armazenado no SQL Server para criar um ficheiro XML. O procedimento devolve uma tabela de dados que mostra todos os gestores na hierarquia acima do identificador do funcionário especificado, que é fornecido como um parâmetro de entrada – neste exemplo, o valor constante 67.

O parâmetro também pode ser fornecido como um valor calculado ou como um elemento de dados obtido de outra parte da base de dados.

O MapForce oferece um menu de contexto que permite aos utilizadores executar o procedimento armazenado para visualizar a estrutura de dados utilizada no mapeamento. A execução do mapeamento ilustrado gera a saída em formato XML.

As ferramentas avançadas de mapeamento de dados incluem suporte para procedimentos armazenados

Mapas XML armazenados em campos de base de dados

O MapForce também permite conectar-se e mapear dados XML armazenados em campos de bases de dados relacionais (atualmente suportado para SQL Server e IBM DB2). Basta atribuir um esquema XML – seja um esquema registado na base de dados ou um esquema do seu sistema de ficheiros local – ao campo, e o MapForce renderiza o esquema como uma subárvore do campo da base de dados, para fins de mapeamento.

Ordenar os componentes de entrada da base de dados

As consultas SQL que operam dentro da base de dados nem sempre são suficientes para tarefas complexas de mapeamento de dados. O MapForce oferece funcionalidades adicionais de ordenação de bases de dados através do componente SQL-WHERE/ORDER, permitindo processar dados de entrada de bases de dados que necessitam de processamento adicional, ou quando outros dados ou condições no mapeamento afetam a ordem de classificação das linhas de dados.

Suporte para valores nulos nas ações de tabelas de base de dados

A caixa de diálogo "Ações na Tabela de Base de Dados" suporta a comparação de valores NULL. As comparações que consideram os valores NULL oferecem uma forma mais eficiente de lidar com bases de dados que contêm valores nulos. Os utilizadores do MapForce podem configurar um mapeamento de base de dados de forma que a comparação de dados seja feita tendo em conta os valores NULL, de acordo com as regras aplicáveis ao tipo de base de dados envolvido no mapeamento.

O mapeamento de dados apresentado à direita tem como objetivo atualizar a tabela de destino sem inserir registos duplicados. Ambas as tabelas são definidas de forma a permitir que o campo de e-mail seja nulo, pelo que é possível que existam registos com o mesmo nome, mas com campos de e-mail nulos, em cada tabela.

Clicar no ícone "Ações" ao lado da tabela de base de dados "TARGET" abre a caixa de diálogo "Ações da Base de Dados". A caixa de seleção "Igual a NULL" ao lado do campo de e-mail permite que o MapForce trate os valores NULL na origem e no destino como iguais para fins de mapeamento de dados, mesmo que não sejam considerados iguais pelas regras da base de dados.

Mapeamento de bases de dados com tratamento de valores nulos no MapForce

Converter base de dados para XML

O MapForce permite criar mapeamentos entre bases de dados e XML, com base em modelos de conteúdo XML Schema ou DTD. Para criar um mapeamento entre uma base de dados e XML, basta importar um XML Schema e a base de dados para o MapForce e, em seguida, arrastar linhas de conexão entre os nós XML e os objetos da base de dados.

Se não tiver um esquema associado a um documento de instância XML, o MapForce gera um esquema XML a partir desse documento.

Mapeamento de bases de dados XML com o MapForce

Suporte para caracteres curinga em XML

O elemento `<xs:any>` e o elemento `<xs:anyAttribute>` num esquema XML permitem que qualquer novo elemento ou atributo seja colocado na posição correspondente num documento XML, mesmo que o novo elemento ou atributo não esteja definido no esquema XML. Isto é conhecido como um "caractere curinga" em XML e é um mecanismo popular utilizado para permitir um certo grau de personalização em muitos esquemas XML que suportam padrões da indústria em uma vasta gama de empresas.

O MapForce suporta os elementos `<xs:any>` e `<xs:anyAttribute>` para mapear dados para a saída em XML ou qualquer outro formato. Um novo botão de seleção, localizado ao lado de `<xs:any>` ou `<xs:anyAttribute>` num componente de entrada de mapeamento XML, abre uma caixa de diálogo de seleção de caracteres curinga.

O elemento `<xs:any>`, bem como o `<xs:anyAttribute>`, são frequentemente utilizados no design de esquemas XML, e o suporte a estes elementos no MapForce tem sido uma solicitação frequente por parte dos utilizadores.

Aprenda como converter dados de bases de dados para XML e outros formatos no MapForce

Mapeamento de bases de dados JSON

O MapForce inclui suporte para a definição e execução de mapeamentos de bases de dados baseados em modelos JSON (JavaScript Object Notation). Pode adicionar ficheiros de instância JSON ou ficheiros de esquema JSON como componentes de origem ou destino de um mapeamento de base de dados. O MapForce lê e escreve ficheiros JSON com base no esquema JSON Draft 04.

Como se pode ver abaixo, os componentes JSON são apresentados com a sintaxe de elementos adequada, e os seus tipos de dados são claramente indicados.

Converter dados de um banco de dados para JSON no MapForce

As funções de processamento de dados da biblioteca de funções do MapForce podem ser aplicadas para transformar dados JSON, exatamente como são utilizadas com outros componentes.

Gerar automaticamente esquemas JSON

Quando adiciona um ficheiro JSON ou JSON5 a um mapeamento de base de dados, o MapForce deteta automaticamente se se trata de um ficheiro de esquema ou de instância. Para ficheiros de instância JSON ou JSON5, o MapForce solicita que procure um esquema ou que o gere automaticamente. O MapForce utiliza o esquema JSON ou JSON5 para construir a estrutura do componente.

Integração de dados de alto desempenho e automatização de processos ETL

Altova MapForce Server inclui o motor de transformação de dados integrado, desenvolvido para o MapForce, e foi significativamente aprimorado para funcionar em ambientes de servidor. O MapForce Server realiza.. transformações de dados para qualquer combinação de XML, PDF, bases de dados, EDI, XBRL, ficheiros simples, Excel, JSON e/ou serviços web, utilizando mapeamentos de dados pré-processados e otimizados, armazenados em ficheiros de execução e baseados em.. definições de mapeamento de dados no MapForceO MapForce Server eleva o processamento de dados ETL a um novo nível, oferecendo funcionalidades de servidor que incluem processamento paralelo, multithreading, inserção em lote de dados SQL, suporte a diferentes plataformas, entre outras.

A pré-processamento permite um desempenho mais rápido e uma utilização de memória reduzida para a maioria das mapeamentos de dados. O MapForce Server funciona sob a gestão do FlowForce Server, podendo ser executado de forma autónoma a partir da linha de comandos ou, de forma programática, através de uma API.

Após a criação e testes de um mapeamento no MapForce, este pode ser executado pelo servidor MapForce para automatizar processos de negócio que exigem transformações de dados repetitivas.

Automatize as tarefas de mapeamento de bases de dados através do MapForce

O MapForce pré-processa e otimiza as correspondências de dados, armazenando-as em ficheiros de execução do MapForce Server para execução a partir da linha de comandos pelo MapForce Server, e as carrega para utilização em tarefas do FlowForce Server.

Quando o MapForce Server funciona sob a gestão do FlowForce Server, os mapeamentos de dados e os processos de ETL são executados como etapas de um trabalho do FlowForce Server, com base em gatilhos definidos como parte desse trabalho. Por exemplo, um novo documento XBRL é colocado numa pasta, o que desencadeia um trabalho do FlowForce Server com várias etapas: primeiro, o ficheiro é validado usando o RaptorXML+XBRL Server, e depois o MapForce Server é executado para extrair determinados dados do XBRL e inseri-los numa base de dados.

O MapForce Server suporta a importação em lote de dados para bases de dados

A operação "Bulk Insert" (inserção em massa) está disponível para determinados bancos de dados e permite inserir um grande volume de dados numa tabela de um banco de dados através de uma única instrução SQL, em vez do método tradicional de utilizar instruções "Insert" individuais para cada linha. Como a sobrecarga de processamento pelo motor do banco de dados é significativamente reduzida, o desempenho é muito mais rápido. Testes realizados com o MapForce Server, utilizando alguns exemplos, demonstraram que a operação "Bulk Insert" pode ser mais de 10 vezes mais rápida do que as instruções "Insert" individuais.

A inserção em lote também é vantajosa em ambientes multiutilizador. Uma longa sequência de comandos de inserção enviados para a base de dados por um utilizador pode ser potencialmente interrompida por outro utilizador que envie uma consulta (SELECT) para a mesma tabela, e então a sequência de inserções continuaria. Numa situação como esta, a operação de consulta resultaria em dados incompletos ou inválidos.