Cita:
Empezado por JAI_ME
En cuanto a las relaciones que nos regalo nuestro amigo duilioisola pienso que no tendría problemas en cuanto a velocidad si quito los id_escuela de la tabla alumno_clase, alumno_asistencia, ustedes me dirán.
|
Si quitas esos campos entonces pierdes la integridad referencial.
Como te escribi solo hay dos escuelas: O pones todo en una tabla y particionas por un(os) campo(s) como los que te pusieron o particionas por base de datos.
En el primero, si la BD se crece mucho (mucho es mucho: millones y millones) y no tienes RAM para cargar los indices en memoria y el motor no lo aguanta, se quedaria "colgado". En esta escuela, debes saber poner indices y ser muy juicioso en el manejo de los SQL para cargar solo lo necesario, debes por todos lados injectar los campos que particionan la tabla y hay JOINS a lo loco. Los backups son dificiles: Como sacas solo un colegio? Y los restore peor aun. Pero es facil hacer reportes. Y hacer cambios globales, como agregar un campo. Pero replicar es mas simple ya que es solo un BD.
La otra escuela, requiere mayor complejidad de administracion (ej: hacer backups, o sea configurarlos N veces), pero los datos son aislados de forma natural, puedes mover de forma simple los datos de una empresa, puedes meter facilmente varios servidores y escalar facil porque mueves unas empresas al uno y otras al otro, pero hacer reportes es un lio (y con FB no veo como sacar una consulta que agrupe muchas BD) y los cambios en los esquemas hay que repetirlo por N bd, sin un pool de conexiones pierdes velocidad al estar conectando y desconectando a N bd, los planes de ejecucion los pierdes al moverte entre BD, etc.. El codigo es mas simple (no hay que injectar campos ni tanto join) y las consultas salen mas facil y rapido. Gastas mas espacio en disco, y ram. O no. Es difcil adivinarlo.
Eso es pa empezar.
Cita:
Empezado por JAI_ME
Se me olvidaba preguntarles si conocen una buena empresa hosting que tenga un servicio excelente, y donde pueda configurar firebird.
|
Especificamente sobre FB no se, pero
www.mediatemple.net,
www.rackspace.com son muy buenas. Rackspace tiene soporte tecnico de lujo.
P.D. Quizas sea buena idea que evalues postgres. Su concepto de lo que es una BD encaja muy bien con la escuela de "bd por compañia" y a la vez es viable hacer un query a todas las BD. De hecho, postgres es asi:
Una BD = Un cluster de "esquemas". Un esquema en postgres = Una bd en mysql, firebird.
Por lo tanto, queda una sola instancia de BD que configurar y administrar, y tienes un poco mas simple el manejo de los esquemas. Ademas, tienes opcion de usar
https://postgres.heroku.com/, que es la razon #1 por la que estoy con postgres ahora. Ya depende que economicamente te de resultado.