Mapeamento de dados em bases de dados NoSQL

As bases de dados NoSQL são bases de dados não relacionais que armazenam dados de forma diferente das bases de dados tradicionais, que são compostas por tabelas relacionais. Duas das bases de dados NoSQL mais populares, MongoDB e Apache CouchDB, armazenam dados como coleções de documentos BSON (JSON binário) e JSON. Estas bases de dados utilizam esquemas JSON flexíveis e escalam facilmente com grandes volumes de dados e com um elevado número de utilizadores.

O Altova MapForce tem, há muito, suporte para a mapeamento de dados de todas as bases de dados relacionais populares, e agora inclui também suporte nativo para o mapeamento de dados de bases de dados NoSQL. O MapForce inclui funcionalidades para inserir, extrair, filtrar e ordenar dados NoSQL. Vamos analisar um exemplo.

Abaixo, apresentamos um mapeamento completo dos dados do banco de dados de exemplo "sample_analytics" do tipo NoSQL MongoDB. Este mapeamento extrai um subconjunto dos dados binários no formato JSON (BSON) de várias coleções, combina, filtra, transforma e ordena os dados, e, em seguida, exporta o resultado como um único documento JSON.

A base de dados NoSQL "sample_analytics" é um exemplo hospedado no servidor de nuvem MongoDB Atlas, que é acessível publicamente. Ela armazena dados de treino para uma aplicação simulada de serviços financeiros. A base de dados inclui coleções de documentos BSON para 500 clientes, 1.746 contas e 1.746 transações de compra ou venda.

A mapeamento de dados em bases de dados NoSQL no MapForce começa selecionando a base de dados NoSQL no assistente de ligação à base de dados do MapForce e introduzindo os parâmetros de ligação. Em seguida, podemos selecionar as coleções que queremos mapear:

Cada coleção requer um esquema JSON para mapear os seus objetos. Este esquema pode ser definido na base de dados para fins de validação, ou pode ser um ficheiro externo.

Aqui está uma visão mais detalhada dos objetos nas coleções de clientes e transações, pronta para o mapeamento de dados NoSQL no MapForce:

Depois de fornecer um esquema JSON ou um ficheiro JSON de exemplo para o destino de saída, estamos prontos para começar a associar os objetos na base de dados ao resultado. A base de dados NoSQL MongoDB armazena dados JSON binários. A biblioteca de funções MapForce inclui funções integradas para manipular dados BSON:

A base de dados inclui clientes com endereços de email gmail, hotmail e yahoo nos seus perfis, mas o nosso projeto de mapeamento tem como objetivo recuperar apenas os resultados para clientes com endereços yahoo.com. Obviamente, não existe uma consulta SQL "Select / Where" numa base de dados NoSQL para filtrar os endereços de email! Portanto, em vez disso, podemos combinar uma função "to-regex" do BSON com uma estrutura "Where / Order" integrada do MapForce para alcançar o mesmo resultado:

A opção "Where / Order Sort" do MapForce também cumpre outro requisito do projeto: ordenar os clientes por data de nascimento no resultado.

O formato BSON suporta formatos de dados adicionais em comparação com as strings ou números JSON. O MapForce converte automaticamente a data de nascimento do formato de data BSON para formato de texto, para que possa ser processada pela função "formatar data" e exibida no resultado final.

A combinação das estruturas "Where" e "Order" do MapForce com outras funções integradas do MapForce permite filtrar a coleção de transações, exibindo apenas as transações de "compra", e permite associar as transações, organizadas e classificadas, aos perfis na coleção de clientes.

O ficheiro de saída contém todos os clientes com endereços de e-mail yahoo.com e apresenta os seus pedidos de compra, agrupados por conta para cada cliente. Além disso, o ficheiro de saída lista os clientes por ordem de data de nascimento, do mais novo para o mais velho. Segue uma visão parcial do resultado em formato JSON, visualizado no XMLSpy, uma ferramenta popular para edição, modelação, transformação e depuração de tecnologias JSON e XML:

Os utilizadores aparecem em ordem decrescente de data de nascimento, e as transações de compra para cada conta estão em ordem alfabética, de acordo com os objetos "name" em formato JSON na saída.

Se precisar repetir periodicamente o processo para recolher transações mais recentes, o MapForce Server automatiza a execução das regras de mapeamento de dados criadas no MapForce

O MapForce é uma ferramenta poderosa para mapeamento de dados, que permite mapear dados de bases de dados NoSQL para ou a partir de formatos como XML, JSON, bases de dados, EDI, XBRL, ficheiros simples, Excel e/ou serviços web. Para experimentar esta ferramenta na sua própria aplicação de mapeamento de dados NoSQL, descarregue um.. Versão de avaliação totalmente funcional e gratuita hoje!