Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-03-2012
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
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
  #2  
Antiguo 28-03-2012
JAI_ME JAI_ME is offline
Miembro
 
Registrado: ene 2006
Posts: 188
Poder: 21
JAI_ME Va por buen camino
Gracias de nuevo, al parecer lo haré todo en una sola base de datos, pero sigo teniendo la duda, mysql o postgresql.

en cuanto a la relaciones anteriores

Cita:
Empezado por mamcx Ver Mensaje
Si quitas esos campos entonces pierdes la integridad referencial.
No se porque se perdería la integridad referencial, si por lo menos la tabla ALUMNO_CLASE tiene el id del alumno y lo puedo relacionar con el ID de la tabla alumno y esta ultima me dice a que escuela pertenece. Lo mismo con la tabla ALUMNO_CLASE

saludos a todos.
__________________
JaiMelendez
Responder Con Cita
  #3  
Antiguo 28-03-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Tienes razón, esos campos no son necesarios en esas tablas.

Por otro lado, quizá debas considerar el caso en que un profesor de clase en varias escuelas o un alumno tome cursos en varias escuelas.

// Saludos
Responder Con Cita
  #4  
Antiguo 28-03-2012
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por JAI_ME Ver Mensaje
Gracias de nuevo, al parecer lo haré todo en una sola base de datos, pero sigo teniendo la duda, mysql o postgresql.
Puedes mirar

http://wiki.postgresql.org/wiki/MySQL

http://stackoverflow.com/questions/1...ls-environment

http://stackoverflow.com/questions/1...sql-over-mysql

En lineas generales? MySql esta optimizado para ser rapido en lecturas a costas de integridad de datos, a menos que se use un motor de almacenamiento diferente. Ya que la seleccion del almacenamiento altera el funcionamiento, hay cosas que funcionan de una manera u otra. Basicamente, mysql muy bueno para hacer paginas web, pero no para datos transaccionales.

Postgres es mas orientado a ser robusto a nivel transaccional y le dan mucha prioridad a la estabilidad de datos. Un punto a favor es que postgres es una comunidad unificada - incluso quienes comercialmente trabajan sobre postgres como EnterpriseDB- mientras MySql ahora es una serie de "forks" en especial MySql original que lo mantiene Oracle y MariaDB que es el intento por ser mas opensource.

Como notas por las referencias que te doy, estoy mas inclinado a Postgres. Lo estoy usando ahora, y me ha sorprendido: Tiene un esquema de programacion muy flexible y potente. Me parece que es rapido, facil de configurar y flexible a lo loco. La unica cosa que tiene MySql es su facilidad para hacer un esquema de Maestro de escritura-Esclavos de solo lectura que es ideal para escalar sitios web, pero desde la version 9.1 toda la historia de la escalabilidad horizontal de postgres se ha vuelto mucho mejor.

En general, si estas acostumbrado a Sql Server y/o Firebird, pienso que postgres es mejor alternativa. Casi todo lo que hago con Sql Sever a nivel de BD (Sql server tiene otras cosas que no tienen los motores opensource) lo hago en postgres. Incluso me pregunto: Sera que podria en postgres hacer esto? Y puff! resulta que si.

Un punto muy bueno son sus modulos:

http://www.postgresql.org/docs/9.1/static/contrib.html

Hay modulos para hacer cosas muy potentes. Dale una mirada.
__________________
El malabarista.
Responder Con Cita
  #5  
Antiguo 28-03-2012
JAI_ME JAI_ME is offline
Miembro
 
Registrado: ene 2006
Posts: 188
Poder: 21
JAI_ME Va por buen camino
Gracias Roman, en conclusión definitivamente php-postgresql y una sola base de datos ? en caso que ustedes los fueran a desarrollar
__________________
JaiMelendez

Última edición por JAI_ME fecha: 28-03-2012 a las 19:22:25.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Sugerencia ricardo_yah OOP 10 06-11-2010 03:17:59
Una sugerencia... david_uh Varios 6 06-06-2007 20:10:10
Una sugerencia por favor Sugerencia !! yepixxx Firebird e Interbase 6 13-03-2007 19:07:10
Sugerencia turminator Varios 2 30-06-2006 19:42:28


La franja horaria es GMT +2. Ahora son las 16:00:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi