Persistência poliglota

Content

Este artigo precisa de citações adicionais para verificação. Ajude a melhorar este artigo adicionando citações a fontes confiáveis. Material não concedido pode ser desafiado e removido.Find Fontes: "Persistência de Poliglota" - Notícias · Jornais · Livros · Scholar · Jstor (dezembro de 2020) (Saiba como e quando remover esta mensagem de modelo)

A persistência da poliglota é um termo que se refere ao uso de várias tecnologias de armazenamento de dados para variar as necessidades de armazenamento de dados em um aplicativo ou em componentes menores de um aplicativo. Essas necessidades variadas de armazenamento de dados podem surgir nos dois casos, ou seja, uma empresa com vários aplicativos ou componentes singulares de um aplicativo que precisa armazenar dados de maneira diferente.

Descrição

A persistência da poliglota compartilha suas origens com a forma como o termo programação de poliglota é definido. A programação poliglota é um termo cunhado pela NEAL Ford em 2006 e expressa a idéia de que os aplicativos de computador devem ser escritos em uma mistura de diferentes linguagens de programação, a fim de aproveitar o fato de que diferentes idiomas são adequados para enfrentar diferentes problemas. Aplicativos complexos combinam diferentes tipos de problemas; portanto, escolher o idioma certo para cada trabalho pode ser mais produtivo do que tentar resolver todos os aspectos do problema usando um único idioma. Esse mesmo conceito pode ser aplicado aos bancos de dados, que um aplicativo pode se comunicar com diferentes bancos de dados, usando cada um para o que é melhor para atingir uma meta final, daí o termo persistência de poliglota.

Como existem inúmeros bancos de dados disponíveis para resolver problemas diferentes, o uso de um único banco de dados para atender a todos os requisitos de um programa pode resultar em um não desempenho ", Solução Jack de todas as negociações, Master of None". Os bancos de dados relacionais, por exemplo, são bons em aplicar relacionamentos que existem entre várias tabelas de dados. Para descobrir um relacionamento ou encontrar dados de diferentes tabelas que pertencem ao mesmo objeto, uma operação de junção SQL pode ser usada. Isso pode funcionar quando os dados são menores em tamanho, mas se tornam problemáticos quando os dados envolvidos crescem. Um banco de dados de gráficos pode resolver o problema dos relacionamentos em caso de big data, mas pode não resolver o problema das transações de banco de dados, que podem ser fornecidas melhor pelos sistemas de gerenciamento de banco de dados relacionais. Em vez disso, um banco de dados de documentos NoSQL pode ser usado para armazenar dados não estruturados para essa parte específica do problema. Assim, problemas diferentes são resolvidos por diferentes sistemas de banco de dados, todos dentro do mesmo aplicativo.

Algumas dessas tecnologias de armazenamento de dados, mas não se limitando a, podem ser

RelationalNoSQLGraphIn-memory

Martin Fowler escreve em um de seus artigos: "Uma das consequências interessantes disso é que estamos nos preparando para uma mudança para a persistência de poliglotos, onde qualquer empresa de tamanho decente terá uma variedade de diferentes tecnologias de armazenamento de dados para diferentes tipos de dados. Lá, lá terá dados. Ainda será grande quantia gerenciada em lojas relacionais, mas cada vez mais perguntaremos pela primeira vez como queremos manipular os dados e somente então descobrir qual tecnologia é a melhor aposta para isso ".