Banco de Dados

18 jun, 2010

Santo Large Hadron Collider, Batman!

Publicidade

No início do mês aconteceu, na Holanda, a Conferência Internacional sobre Ciência Computacional. Lá, Valentin
Kuznetsov
apresentou um trabalho sobre a utilização do CERN
MongoDB para os dados do Large Hadron Collider. O paper sobre o CMS de
agregação de dados do sistema está disponível como um PDF no ScienceDirect.

Veja o que diz o resumo:

Meta-dados desempenham um papel importante nas grandes empresas modernas, as experiências de pesquisa e de bibliotecas digitais vêm de muitas fontes diferentes e são distribuídas em uma variedade de formatos digitais. São organizados e geridos pela constante evolução de software usando fontes de dados relacionais e não relacionais de dados. Mesmo que nós possamos aplicar uma abordagem de recuperação de informação a fontes de dados não-relacional, não podemos fazê-lo para as relacionais, onde as informações são acessadas através de um conjunto pré-estabelecido de dados de serviços.

Aqui vamos discutir um sistema de agregação de novos dados que consome índices e oferece informações de diferentes fontes de dados relacionais e não relacionais para responder a consultas cruzadas de serviços de dados e explorar meta-dados associados com petabytes de dados experimentais. Nós combinamos a simplicidade da pesquisa baseada em palavras com a precisão de RDMS no âmbito do novo sistema. As informações agregadas são recolhidos de várias fontes, permitindo que os usuários finais possam colocar as consultas dinâmicas, obter respostas precisas e acionar a recuperação de informação sob demanda. Com base nos casos de uso do experimento CMS, temos realizado um conjunto de informações detalhadas e testes em larga escala – esses resultados são os que apresentamos neste artigo.  

Vamos lá

“CMS” significa Compact Muon
Solenoid
, um detector de partículas da física construída sobre o
Large Hadron Collider. O projeto CMS publicado possui alguns quadrinhos
que proporcionam uma agradável e simples explicação do que o CMS / LHC
faz.

O LHC gera enormes quantidades de dados de todas as
variedades, que são distribuídos através de uma rede mundial. Eles enviam
mensagens de status para alguns dos computadores, informações do
trabalho de monitoramento para outros computadores, informações
contábeis ainda em outro lugar e assim por diante.

Isso significa que cada local tem consultas especializadas que podem
fazer sobre os dados que possui, mas até agora tem sido muito difícil
para consultar através de toda a rede.

Como funciona

O sistema de totalização usa MongoDB como cache. Ele verifica se
Mongo tem a agregação que o usuário está pedindo e retorna-o; caso
contrário, o sistema faz a agregação e salva o Mongo.
Eles consultam o sistema usando uma SQL, linguagem simples, como a
que eles transformam em uma consulta MongoDB.

Então, algo como file =
“abc”, execute> 10 torna-se “file:” abc “,” executar: (“$ (gt”: 10)). Não é o mesmo que o SQL, mas o código para isso poderia ser
interessante para pessoas que querem usar consultas SQL com MongoDB.

Se o cache não contém a consulta solicitada, o sistema itera sobre
todos os lugares do mundo que poderiam ter essa informação e
os consulta, recolhendo os seus resultados.

Em seguida, ele mescla
todos os resultados, fazendo uma espécie de “GROUP BY”, operação baseada
em pré-identificação dos grupos, e insere as informações agregadas no
cache.
Ele foi construído usando o driver Python.

Objetivos

Eles estão ansiosos para testá-lo em campo e escalar horizontalmente o
sistema com sharding. Como se trata de uma grid aggregation/querying
tool, eles também estão interessados na sua aplicação a problemas fora
do LHC e o CERN.

Enquanto isso, a gente fica aqui na torcida, esperando!