Mi equipo está desarrollando una nueva aplicación (C#, .Net 4) que involucra un repositorio para contenido de usuarios compartidos. Necesitamos decidir dónde almacenarlo. Los requisitos son los siguientes:Almacenamiento basado en SQL vs SVN
- Comparte archivos entre los usuarios.
- Versiones de soporte.
- Habilita la búsqueda por etiquetas y admite otras consultas como "todos los archivos creados por personas del grupo X"
- Diferentes vistas para diferentes personas (el equipo X ve su propio contenido y nadie más puede ver el suyo).
No estoy seguro de lo que es mejor, por lo que:
- se puede buscar en más de SVN usando etiquetas (no etiquetas SVN, por supuesto, más como etiquetas de stackoverflow)?
- ¿Tiene algún sentido pensar en la duplicación, tanto SVN como SQL, del contenido?
- ¿Alguna otra sugerencia?
Editar
La aplicación permite a los usuarios escribir pruebas de validación que luego se ejecutan. Esas pruebas se comparten entre muchos grupos en diferentes sitios. Necesitamos versiones por las razones habituales: deshacer cambios, eliminaciones repentinas, etc. Esto requiere SVN.
La cuestión es que también queremos agregar la opción para buscar todas las pruebas que están etiquetadas como "urgentes" y que se han ejecutado hasta ahora, con fines de seguimiento.
espero que me he hecho más claro ahora :)
Editar II
me encontré con SvnQuery y se ve bien, pero ¿tiene una API que pueda usar? Prefiero usar su mecanismo con mi propia GUI.
EDITAR III
Mi colega apoya firmemente utilizando sólo una base de datos y olvidarse de almacenamiento basado en archivos. Afirma que es mejor para la persistencia (lo que se necesita, una prueba es más que la lista de comandos para ejecutar). Agradecería sugerencias sobre este tema, ya que creo que debería ser posible hacerlo de esta manera o de la otra.
Gracias!
Nunca había considerado usar svn como repositorio de documentos para una aplicación, pero la idea es intrigante. –
¿Cuáles son los requisitos de rendimiento y cuál es el tamaño esperado del archivo? – rerun
¿Es SharePoint una opción? – Brian