Ver Mensaje Individual
  #12  
Antiguo 26-03-2012
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por JAI_ME Ver Mensaje
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 Ver Mensaje
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.
__________________
El malabarista.

Última edición por mamcx fecha: 26-03-2012 a las 18:24:39.
Responder Con Cita