Pergunta

Preciso escrever um aplicativo que busque o nome do nome do elemento (dados da série de tempo) em qualquer fonte XML, seja arquivo, servidor da web, qualquer outro servidor. O aplicativo consumiria o XML e retiraria valores de interesse, deve ser muito rápido (digamos 50000 eventos/segundos ou mais) e o tamanho do documento XML seria enorme e a frequência desses documentos também poderia ser alta (para Ex. 2500 arquivos/min - mais de 500 MB de dados/arquivo XML).

Eu só quero ver como você experiente pessoas pensam que eu deveria abordar isso. Eu sou um novato que acabou de começar, embora eu possa fazer qualquer solução que você me sugira, por mais difícil/fácil.

Muito obrigado.

Foi útil?

Solução

Se você usa análise de sax, seu gargalo está envolvido em E/S, não o processamento da String XML. E dado seu número de 500 MB, eu diria que você teria tenho fazer o sax análise em vez de Dom Parsing. Portanto, qualquer coisa com uma interface do tipo sax deve estar bem.

Outras dicas

Eu sou fã de Xerces, Acho que você terá que experimentá -los para ver o que tem o melhor desempenho para o seu aplicativo. Como Warren disse que você vai querer usar o processamento sax. Realisticamente, se você realmente precisar do desempenho, use um dispositivo XML especializado para fazer o processamento.

eu uso libxml2 em nossos projetos. Ele suporta Sax e DOM. Como Warren Young disse, você deve usar o Sax. Você pode experimentar o expatriado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top