Actualmente estoy trabajando en un CMS basado en XML que guarda los datos en fragmentos llamados "elementos". Estos pueden usarse en el sitio web para mostrar contenido.Datos en archivos XML: ¿Un archivo grande o varios pequeños?
Ahora, de momento tengo un archivo XML por separado para cada elemento. Dado que la mayoría de las páginas de ese sitio web utilizan de tres a cuatro de estos elementos, un sitio web bastante pequeño con, p. 20 páginas tiene alrededor de 100 artículos diferentes. Y por lo tanto, la misma cantidad de archivos xml en mi carpeta/xml/items.
¿Sería preferible almacenar todos esos datos en un solo archivo items.xml o mi enfoque actual es el mejor?
Pro solo archivo - xml/items.xml
- archivos menos (quizá comienza a convertirse en un problema rendimiento cuando se habla de miles de elementos en una página web más grande.)
- Menos acceso al disco (especialmente en la administración con una lista de todos los artículos )
Pro - varios archivos. xml/artículos/xml *
- más rápido para acceder a un solo elemento ya que sólo un pequeño archivo tiene que ser analizado sintácticamente
Gracias por su comentario sobre el bloqueo. Por el momento, el CMS funciona en una escala muy pequeña, pero agregar un mecanismo de bloqueo para evitar la pérdida de datos es algo a tener en cuenta. –
@ Jørg: en referencia al archivo XML único. La pérdida de datos y el bloqueo son dos cosas diferentes.Dado que tienes un sitio grande con miles de páginas. Si alguien edita una sola página, el archivo XML completo de todas las páginas se bloqueará hasta que se complete la escritura (dependiendo del código y la velocidad puede llevar tiempo). También te metes en las cosas divertidas del control de versiones: ¿qué sucede si dos personas editan dos páginas al mismo tiempo? Un archivo => cambios de una persona se sobrescribe. – Thies
Hehe, estaba hablando de pérdida de datos en caso de que dos usuarios abran y guarden el mismo archivo al mismo tiempo. Bloquear un archivo lo resolverá, pero solo funciona cuando se trabaja con varios archivos. Usar un archivo XML grande hace que la misma tarea sea mucho más difícil (como dijiste, versionando y fusionando cambios, etc.) –