MapForce é uma ferramenta de integração de dados e ETL que oferece um suporte poderoso para a conversão de bancos de dados. É possível converter dados entre qualquer combinação de bancos de dados e formatos como XML, JSON, PDF, CSV e outros arquivos de texto simples, EDI, Excel, protobuf, XBRL, serviços web, Shopify/GraphQL e até mesmo outros formatos de banco de dados.
Ao carregar a estrutura de um banco de dados na janela de design, o MapForce interpreta automaticamente o esquema do banco de dados, permite que você selecione as tabelas e visualizações disponíveis e reconhece as relações entre as tabelas. Assim, você pode visualizar a estrutura do banco de dados de forma gráfica.
Depois de carregar todos os modelos de conteúdo necessários para o mapeamento do seu banco de dados, complete o mapeamento simplesmente arrastando linhas de conexão entre as estruturas de origem e destino.
Suportado relacional bancos de dados:
Suportado NoSQL Bancos de dados:
O MapForce oferece suporte a todos os principais bancos de dados relacionais, bem como a bancos de dados NoSQL populares, permitindo que você crie projetos de mapeamento gráfico entre dados de origem de bancos de dados, funções e filtros de processamento de dados, e outras estruturas de dados de diversos tipos. Isso permite o suporte a cenários comuns de migração de bancos de dados, como: Migração de MySQL para PostgreSQL... bem como inúmeras outras possibilidades, incluindo transformações de dados do tipo "um para muitos" e transformações de dados encadeadas.
O MapForce inclui ferramentas ETL (Extração, Transformação e Carga) poderosas para gravar dados em bancos de dados SQL e NoSQL. Isso inclui não apenas a transformação de formatos de dados como XML, JSON, Shopify/GraphQL e outros para bancos de dados, mas também a transformação de dados de um tipo de banco de dados para outro, como pode ocorrer após uma fusão e aquisição ou uma migração de sistema.
Muitas transformações de banco 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 do banco de dados possuem um valor específico e fazer outras modificações nos dados. Na captura de tela acima, as funções de processamento de dados aparecem como os blocos entre as linhas que conectam o modelo de dados de origem e o modelo de dados de destino.
As funções de processamento de dados permitem que você realize mapeamentos avançados de bancos de dados em tempo real, atendendo a uma variedade de necessidades de transformação. Por exemplo, você pode criar mapeamentos de banco de dados que utilizem mensagens XML ou EDI para extrair linhas de dados com base em critérios de filtro provenientes dos elementos XML ou EDI.
Depois que o mapeamento for definido, o motor MapForce integrado permite visualizar e salvar os resultados com apenas um clique.
As associações entre bancos de dados e XML geram um documento de saída em formato XML. As associações entre bancos de dados e arquivos de texto simples resultam em arquivos de saída em formato CSV ou em arquivos de texto de comprimento fixo. As associações entre bancos de dados e EDI podem gerar mensagens nos formatos EDIFACT, X12 ou HL7. As associações entre bancos de dados e o programa Excel produzem marcação no formato Office Open XML (OOXML), e as associações com o formato XBRL geram relatórios financeiros em XBRL.
As configurações para um banco de dados geram resultados na forma de scripts SQL (por exemplo, comandos SELECT, INSERT, UPDATE e DELETE) ou scripts NoSQL, que são executados diretamente no seu banco de dados de destino, a partir do próprio MapForce.
Além da transformação instantânea, o processamento ETL de alto desempenho está disponível através do MapForce Server.
O rastreamento da saída do banco de dados facilita o registro de todas as alterações feitas por um projeto de mapeamento ou ETL no banco de dados, durante a execução do mapeamento.
Quando o rastreamento está ativado, eventos como inserções ou atualizações no banco de dados, ou erros, são registrados em um arquivo XML que você pode analisar posteriormente ou processar de forma automatizada.
O rastreamento do banco de dados pode ser ativado no nível do componente do banco de dados, da tabela, do procedimento armazenado ou do campo do banco de dados. Você pode optar por rastrear todas as mensagens ou apenas os erros, ou pode desativar o rastreamento completamente.
Depois de selecionar o nível de rastreamento desejado, o componente do banco de dados afetado no projeto de mapeamento é expandido com uma estrutura XML que exibe a estrutura do log. Se preferir que o arquivo de log esteja em um formato diferente de XML, você pode mapear os dados para outro formato suportado pelo MapForce (por exemplo, um arquivo de texto ou até mesmo outro banco de dados).
Ao clicar no botão "Saída" para visualizar o resultado da configuração, o desenvolvedor também pode ver um exemplo de como será o registro de rastreamento quando a configuração for executada.
O MapForce também oferece recursos para gerenciar transações de banco de dados, permitindo reverter a parte afetada da conversão do banco de dados quando ocorre um erro, e, opcionalmente, prosseguir com o restante do processo de mapeamento.
Às vezes, ocorre um erro que não impede a continuação do restante do mapeamento do banco de dados, como quando certas restrições do banco de dados impedem o processo de ETL de inserir ou atualizar dados inválidos.
A ativação do tratamento de transações no banco de dados encapsulará todas as alterações realizadas pelo componente do banco de dados dentro de uma transação, que será desfeita em caso de erro. Você pode optar por prosseguir com o restante da configuração ou interromper a execução da configuração. É possível ativar as transações tanto no nível do componente do banco de dados quanto no nível das ações da tabela.
Isso é muito útil quando o designer do mapeamento deseja capturar apenas os dados de entrada válidos e simplesmente ignorar os dados inválidos.
Para usuários que trabalham com SQL, o MapForce inclui uma aba "Consulta de Banco de Dados" para realizar consultas diretas ao banco de dados. Ao se conectar a um banco de dados usando a aba "Consulta de Banco de Dados", o MapForce exibe suas tabelas em uma estrutura hierárquica na janela do navegador.
Você pode então usar a aba do editor SQL para exibir, editar e executar instruções SQL ou SQL/XML, seja abrindo arquivos SQL existentes ou criando instruções SQL do zero, utilizando funcionalidades de arrastar e soltar e de preenchimento automático.
Você pode executar seu script SQL e visualizar os resultados em formato de tabela, além de salvar tanto os dados recuperados quanto o script SQL individualmente em arquivos separados.
As configurações de chaves de banco de dados no MapForce permitem personalizar a forma como os valores de chaves primárias e estrangeiras serão adicionados a um banco de dados que é o destino do mapeamento de dados. Você pode fornecer os valores das chaves diretamente no MapForce, ou pode permitir que o sistema de banco de dados gerencie a criação de valores automáticos.
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 banco de dados, o MapForce permite que você defina essas relações diretamente, sem afetar os dados de origem.
Ao mapear dados para um banco de dados, o MapForce permite que você selecione ações para as tabelas do banco de dados, controlando assim como os dados são gravados. Isso oferece total flexibilidade para automatizar as tarefas de gerenciamento de dados mais avançadas.
A caixa de diálogo "Ações da Tabela de Banco de Dados", de fácil utilização, permite que você defina as colunas da tabela selecionada que serão usadas para determinar qual ação (INSERIR, ATUALIZAR, EXCLUIR) deve ser executada no banco de dados.
Isso oferece uma flexibilidade sem precedentes na manipulação de linhas de banco de dados em resposta a dados XML, de banco de dados, EDI, XBRL, arquivos de texto simples, Excel, JSON, JSON5, serviços web ou outros dados de banco de dados, utilizando o MapForce.
O MapForce oferece suporte abrangente 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 inseridos como uma chamada de função, permitindo que os usuários forneçam dados de entrada, executem o procedimento armazenado e leiam/transformem os dados de saída para outros componentes.
Esta captura de tela mostra a utilização de um procedimento armazenado no SQL Server para criar um arquivo XML. O procedimento retorna uma tabela de dados que exibe todos os gerentes na hierarquia de comando acima do ID 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 do banco de dados.
O MapForce oferece um menu de contexto que permite aos usuários executar o procedimento armazenado para exibir a estrutura de dados utilizada no mapeamento. A execução do mapeamento ilustrado gera a saída em formato XML.
O MapForce também permite conectar-se e mapear dados XML armazenados em campos de bancos de dados relacionais (atualmente suportado para SQL Server e IBM DB2). Basta atribuir um esquema XML – seja um esquema registrado no banco de dados ou um esquema do seu sistema de arquivos local – ao campo, e o MapForce renderiza o esquema como uma subárvore do campo do banco de dados para fins de mapeamento.
Consultas SQL que operam dentro do banco de dados nem sempre são suficientes para tarefas complexas de mapeamento de dados. O MapForce oferece funcionalidades adicionais de ordenação de banco de dados através do componente SQL-WHERE/ORDER, para entradas de banco de dados que exigem processamento adicional, ou quando outros dados ou condições no mapeamento afetam a ordem de classificação das linhas de dados.
A janela de diálogo "Ações da Tabela de Banco de Dados" suporta a comparação de valores NULL. As comparações que consideram valores NULL oferecem uma forma aprimorada de lidar com bancos de dados que contêm valores nulos. Os usuários do MapForce podem configurar um mapeamento de banco de dados para que a comparação de dados seja feita de forma a considerar valores NULL, de acordo com as regras aplicáveis ao tipo de banco de dados envolvido no mapeamento.
O mapeamento de dados apresentado à direita tem como objetivo atualizar a tabela de destino sem inserir registros duplicados. Ambas as tabelas são definidas de forma a permitir que o campo de e-mail seja nulo, portanto, é possível que existam registros com o mesmo nome, mas com campos de e-mail nulos, em cada tabela.
Clicar no ícone "Ações" ao lado da tabela de banco de dados "TARGET" abre a janela "Ações do Banco de Dados". A caixa de seleção "Igual a NULO" ao lado do campo de e-mail permite que o MapForce trate os valores NULOS na fonte e no destino como iguais para fins de mapeamento de dados, mesmo que eles não sejam considerados iguais pelas regras do banco de dados.
O MapForce permite a criação de mapeamentos entre bancos de dados e arquivos XML, com base em modelos de conteúdo XML Schema ou DTD. Para criar um mapeamento entre um banco de dados e um arquivo XML, basta importar o XML Schema e o banco de dados para o MapForce e, em seguida, arrastar linhas de conexão entre os nós XML e os objetos do banco de dados.
Se você não tiver um esquema associado para um documento de instância XML, o MapForce gera um esquema XML a partir desse documento de instância.
O elemento `<xs:any>` e o elemento `<xs:anyAttribute>` em um esquema XML permitem que qualquer novo elemento ou atributo seja colocado na posição correspondente em um documento XML, mesmo que o novo elemento ou atributo não esteja definido no esquema XML. Isso é conhecido como um "caractere curinga" em XML e é um mecanismo popular usado para permitir um certo grau de personalização em muitos esquemas XML que suportam padrões da indústria em uma ampla variedade de empresas.
O MapForce suporta os elementos `<xs:any>` e `<xs:anyAttribute>` para mapear dados para a saída em XML ou em qualquer outro formato. Um novo botão de seleção, localizado ao lado de `<xs:any>` ou `<xs:anyAttribute>` em um componente de entrada de mapeamento XML, abre uma caixa de diálogo de seleção de caracteres curinga.
O elemento `<xs:any>`, assim como o `<xs:anyAttribute>`, são frequentemente utilizados no design de esquemas XML, e o suporte a esses elementos no MapForce tem sido uma solicitação frequente por parte dos usuários.
O MapForce oferece suporte para a definição e execução de mapeamentos de banco de dados baseados em modelos JSON (JavaScript Object Notation). É possível adicionar arquivos de instância JSON ou esquemas JSON como componentes de origem ou destino de um mapeamento de banco de dados. O MapForce lê e grava arquivos JSON com base no esquema JSON Draft 04.
Como demonstrado abaixo, os componentes JSON são exibidos com a sintaxe correta para cada elemento, e seus tipos de dados são claramente indicados.
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.
Quando você adiciona um arquivo JSON ou JSON5 a um mapeamento de banco de dados, o MapForce detecta automaticamente se é um arquivo de esquema ou um arquivo de instância. Para arquivos de instância JSON ou JSON5, o MapForce solicita que você procure um esquema ou que ele o gere automaticamente. O MapForce utiliza o esquema JSON ou JSON5 para construir a estrutura do componente.
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, banco de dados, EDI, XBRL, arquivos de texto simples, Excel, JSON e/ou serviços web, utilizando mapeamentos de dados pré-processados e otimizados, armazenados em arquivos de execução, com base em.. mapeamentos de dados definidos no MapForceO MapForce Server eleva o processo de ETL (extração, transformação e carregamento de dados) a um novo patamar, oferecendo recursos de servidor que incluem processamento paralelo, multithreading, inserção em lote de dados SQL, suporte a diferentes plataformas e muito mais.
O pré-processamento permite um desempenho mais rápido e reduz o uso de memória para a maioria das transformações de dados. O MapForce Server opera sob o gerenciamento do FlowForce Server, podendo ser executado de forma independente a partir da linha de comando ou programaticamente através de uma API.
Após a criação e o teste de um mapeamento no MapForce, este pode ser executado pelo MapForce Server para automatizar processos de negócios que exigem transformações repetitivas de dados.
O MapForce pré-processa e otimiza as correspondências de dados, armazena-as em arquivos de execução do MapForce Server para execução via linha de comando pelo MapForce Server, e as envia para serem utilizadas em tarefas do FlowForce Server.
Quando o MapForce Server opera 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 é armazenado em um diretório, o que dispara um trabalho do FlowForce Server com várias etapas para, primeiramente, validar o arquivo usando o RaptorXML+XBRL Server, e, em seguida, executar o MapForce Server para extrair determinados dados do XBRL e inseri-los em um banco 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 em uma tabela do banco de dados em uma única instrução SQL, em vez do método tradicional de usar instruções "Insert" individuais para cada linha. Como a carga de processamento para o motor do banco de dados é significativamente reduzida, o desempenho é muito mais rápido. Testes realizados com o MapForce Server, utilizando alguns exemplos, demonstraram que o "Bulk Insert" pode ser mais de 10 vezes mais rápido do que as instruções "Insert" individuais.
A inserção em lote também é vantajosa em ambientes multiusuário. Uma longa sequência de comandos de inserção enviados ao banco de dados por um usuário pode ser potencialmente interrompida por outro usuário que envia uma solicitação de seleção para a mesma tabela, e então a sequência de inserções continuaria. Em uma situação como essa, a operação de seleção resultaria em dados incompletos ou inválidos.








