Pregunta

Necesito escribir una aplicación que obtenga un par de valor de nombre de elemento (datos de series de tiempo) de cualquier fuente XML, ya sea archivo, servidor web, cualquier otro servidor. la aplicación consumiría el XML y eliminaría los valores de interés, tiene que ser muy, muy rápida (digamos 50000 eventos / segundos o más), también el tamaño del documento XML sería enorme y la frecuencia de estos documentos también sería alta (para ej. 2500 archivos / min (más de 500 MB de datos / archivo XML).

Solo quiero ver cómo experimentaron las personas que piensan que debería abordar esto. Soy un novato que acaba de empezar, aunque puedo hacer cualquier solución que me sugieras, no importa lo difícil o fácil que sea.

Muchas gracias.

¿Fue útil?

Solución

Si usa el análisis SAX, su cuello de botella es la E / S involucrada, no el procesamiento de cadenas XML. Y dado su número de 500 MB, diría que tiene para realizar un análisis SAX en lugar de un análisis DOM. Por lo tanto, cualquier cosa con una interfaz de tipo SAX debería estar bien.

Otros consejos

Soy fanático de Xerces , creo que tendrá que pruébelos para ver cuál tiene el mejor rendimiento para su aplicación. Como Warren dijo, querrás usar el procesamiento SAX. Siendo realistas si realmente necesita el rendimiento, debe usar un dispositivo XML especializado para realizar el procesamiento.

Utilizo libxml2 en nuestros proyectos. Es compatible con SAX y DOM. Como dijo Warren Young, deberías usar SAX. Puedes probar Expat.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top