Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/12/2007, 17:18
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Re: Manejar grandes cantidades datos

Hola,

Las variantes son muchas, no se si existe una respuesta directa para este caso, depende del modelo de datos, de la cantidad de conexiones/operaciones/transacciones, usuarios, etc.

Yo soy de la idea de que los datos van en la base de datos, hasta ahora no vi la necesidad real de mantener informacion en XML fuera de la base, aun cuando en este momento me toca administrar un sistema que hace exactamente eso, 70% en la base y 30% en XML.

Un par de cosas a tener en cuenta:

1. Es necesario que la informacion este en formato XML?, si es asi, hoy en dia varios motores de base de datos estan haciendo un esfuerzo muy grande para dar soporte XML dentro de la base, implementando XQuery y XPath, y por las pruebas de rendimiento que he realizado, no creo que ninguna aplicacion supere la velocidad de la base de datos, esto lo digo sin desmerecer tus habilidades como programador.

2. Si alamcenas la informacion en XML fuera de la base, pierdes todas las ventajas de los modelos de cache que dan las bases de datos, tecnologia que lleva años evolucionando.

3. A menos que lo desarrolles o que los datos en XML sean de solo lectura, pierdes la capacidad de proteger los datos mediante transacciones cuando los usuarios hagan modificaciones.

4. Tienes la informacion dividida, lo que te da un grado mas de tareas de administracion, esto lo digo pensando en backup y recuperacion.

5. Tienes la sobrecarga de generar/actualizar los XML, aunque no se donde estara la inforamcion inicialmente.

6. Denende del sistema operativo con el que trabajes, pero la mayoria de los filesystems carecen de indices, por lo tanto es probable que sea mas lenta la busqueda de datos en el sistema operativo que dentro de una base de datos, esto esta sujeto a la cantidad de ficheros XML que tengas.

En fin, podria seguir enumerando, pero me doy cuenta que solo digo las contras y no las ventajas :)

Saludos