Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

sugerencia para elegir RDBMS para esta Gran base de datos

Estas en el tema de sugerencia para elegir RDBMS para esta Gran base de datos en el foro de Bases de Datos General en Foros del Web. Hola, tengo una gran base de datos, bueno por el momento no esta llena, les comentare un poco hice un sistema web para la administracion ...
  #1 (permalink)  
Antiguo 13/12/2007, 12:29
 
Fecha de Ingreso: junio-2007
Mensajes: 254
Antigüedad: 16 años, 10 meses
Puntos: 2
sugerencia para elegir RDBMS para esta Gran base de datos

Hola,

tengo una gran base de datos, bueno por el momento no esta llena, les comentare un poco hice un sistema web para la administracion de colegios, es decir cada colegio lo va a tener implementado es sus instalaciones es decir cada uno con su base de datos e independiente de los otros, hasta ahi digamos que esta bien.
Como ustedes saben existe una organizacion o institucion educativa que centraliza toda la informacion de alumnos, maestros, y calificaciones de todos los colegios de una ciudad hasta a veces de otras ciudades y poblaciones rurales, bueno en mi ciudad esta institucion concentra la informacion de alrededor de 128.000 alumnos es decir va ha existir una tabla alumnos con 128.000 registros, ahora cada alumno tiene sus notas o calificaciones para cada materia, y esta instucion alberga las notas de los 4 ultimos años de secundaria y como son 3 examenes que se toman y digamos 10 materias cada año, entonces tenemos por alumno= 10 materias x 3 parciales x 4 años =120
entonces tenemos 128000x120=15.360.000 registros de la tabla calificaciones pero al cabo de 4 años esta cifra se va duplicar, cada 4 años se van a incrementar 15.360.000 registros a la tabla calificaciones.

¿Que RDBMS selecciono para esta gran base de datos?
el sistema tendra un servidor en la institucion centralizadora y los colegios via internet se conectaran con la institucion y llenaran la bd con los alumnos, calificaciones, etc. Yo pensaba hacerlo con php y postgresql, mysql es la base de datos que usado, pero no se si sera la ideal para este sistema.
agradecere mucho sus sugerencias en cuanto a la tecnologia(lenguaje, RDBMS) que seria mas conveniente para este proyecto.

la verdad lo que me pierde es la gran cantidad de datos que tendra la base de datos y las conexiones hacia el servidor digamos un orden de mas 200 conexiones simultanes(digamos 200 colegios conectandose al servidor para registrar datos y cosultas)

hasta el momento realice sistemas, pero pequeños(php+mysql) y como les dije por el volumen de datos estoy un poco impresionado ¿ o no deberia preucuparme eso?

Gracias por la ayuda,
saludos.
  #2 (permalink)  
Antiguo 13/12/2007, 15:22
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Re: sugerencia para elegir RDBMS para esta Gran base de datos

Hola,

No es la primera vez que veo que se toma como referencia la cantidad de registros que tendra una base de datos para elegir una u otra tecnologia. Debo decir que en mi experiencia este parametro debe ser considerado como uno de los ultimos, sino el ultimo. Vuelvo a citar a alguien que sabe mucho de bases de datos, quien dijo, "... el tamaño de la base de datos es casi irrelevante, lo que se hace con lo datos lo es...".

Intentare enumerar lo que en tu lugar evaluaria, lo que se me ocurre de momento si tener mucha informacion del proyecto, el orden en que los comento no es el orden de importancia, eso lo debes decidir tu.

Requerimientos: En funcion del modelo de datos, que base de datos cubre mejor las necesidades que tengas, es decir, habran datos historicos, datos mas/menos consultados, particionamiento, posibilidad de separar datos en discos lentos/rapidos, cantidad/tipo de transacciones.

Tecnologia: Como se almacenaran los datos y como se accederan a ellos, por enumerar algunas
1. Alcance del lenugaje SQL, planes de acceso.
2. Alcance del lenguaje de programacion de base de datos, procedimientos almacenados, funciones, triggers.
3. Tipos de datos de las tablas, manejo de caracteres, fechas, numeros, xml.
4. Capacidad para almacenar datos binarios, por ejemplo, fotos, documentos.
5. Replicacion, si hay diferentes centros de datos, como se los puede replicar/agrupar.

Seguridad: Nivel de seguridad requerido, dado que se almacenara informacion personal, posibilidad de encriptacion, administracion de cuentas de usuario, contraseñas, caducidad, perfiles, accesos de lectura y/o escritura.

Disponibilidad: Capacidad del motor de base de datos para garantizar alta disponibilidad, es decir 7x24.

Backup y Recuperacion: Capacidades del motor de base de datos para hacer backup en caliente/frio, consistentes, tiempos de recuperacion en caso de fallos, recuperaciones parciales/completas.

Presupuesto: Cuanto estan dispuestos a pagar, si estan dispuestos, por un motor de base de datos.

Hardware: De cuanto equipo disponen, no todos lo motores funcionan igual en el mismo hardware.

Software: En cuantos sistemas operativos es instalable el motor de base de datos.

Conocimiento: Hay DBAs disponibles para administrar, hacer tunning de bases de datos, consultas SQL, programacion. Existe buena documentacion, manuales, libros, foros sobre la base de datos.

Soporte: Nivel de soporte que provee el productor del motor de base de datos.

Ciclo de Vida: Nivel de parches, actualizacion de versiones del motor de base de datos, facilidad de actualizacion, necesidad de actualizacion.

En fin, podria seguir escribiendo, pero creo que para hacerse una idea es suficiente, como veras, la cantidad de registros de una o varias tablas empieza a quedar un poco atras.

Si hay un buen diseño del modelo y un buen plan de acceso a los datos, la cantidad de registros no afecta tanto, es decir, es poco probable que alquien haga un listado de todos los alumnos, de todas sus calificaciones y de los ultimos 4 años, probablemente la base de datos te de la informacion despues de algun tiempo, pero no me imagino que alguien se lea todo eso en un listado o en un informe :)

Saludos

Última edición por matanga; 13/12/2007 a las 15:36
  #3 (permalink)  
Antiguo 15/12/2007, 08:09
 
Fecha de Ingreso: junio-2007
Mensajes: 254
Antigüedad: 16 años, 10 meses
Puntos: 2
Re: sugerencia para elegir RDBMS para esta Gran base de datos

Hola matanga gracias por la info, ya la estoy digeriendo,

he investigado los puntos que trataste y hasta ahora yo creo que me inclino por Postgresql 8.2 y php5 y software de servidor un Windows server 2003, pero no se como funcionaran juntos en produccion Postgresql corriendo bajo Win, o si elijo postgresql tendre que seleccionar Linux como servidor?

En cuanto al hardware de servidores, tengo poca experiencia, yo pensaba recomendar para el sistema una Pentium d una de las ultimas, pero lei por ahi que es mejor seleccionar un autentico servidor, a que se refieren con un autentico servidor? no bastaria una pentium d? creo que tengo que investigar mas, si tienen alguna orientacion la agradecere mucho,

saludos.
  #4 (permalink)  
Antiguo 15/12/2007, 11:20
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Re: sugerencia para elegir RDBMS para esta Gran base de datos

Hola,

Cita:
...pero no se como funcionaran juntos en produccion Postgresql corriendo bajo Win, o si elijo postgresql tendre que seleccionar Linux como servidor?
No tengo experiencia en Postgresql, pero tengo entendido que el unico benchmark oficial publicado este año por Postgresql fue hecho sobre Sun Solaris 10, podrias intentar buscar comparaciones de performance entre Linux y Windows, o bien instalar los dos entornos y hacer algunas pruebas con tu modelo de datos.

En teoria, el sistema operativo donde corren los motores de base de datos no deberia tener un impacto sobre el rendimiento, aunque a veces nos dan limitaciones, como por ejemplo, en los Unix AIX 4.3 y en Windows con FAT32 habia limitaciones de 2G para el tamaño de los archivos.

En mi opinion, la eleccion del sistema operativo deberia ser exclusivamente una cuestion de gusto, comodidad o conocimiento por parte de las personas que van a adminsitrar los servidores, dado que al momento de tener problemas, si tenemos que recurrir a los manuales o google, tardaremos mucho mas en resolverlos.

Cita:
En cuanto al hardware de servidores, tengo poca experiencia, yo pensaba recomendar para el sistema una Pentium d una de las ultimas, pero lei por ahi que es mejor seleccionar un autentico servidor, a que se refieren con un autentico servidor? no bastaria una pentium d? creo que tengo que investigar mas, si tienen alguna orientacion la agradecere mucho,
Los Pentium D serie 800/900 fueron declarados por muchos como un fiasco por parte de Intel, investiga sobre este tema, y te formaras una opinion muy rapido :)

Los siguientes links que te publico, son a nivel informativo, no te estoy recomendando ninguna marca o modelo, son para dar una idea de como se esta separando el hardware entre Desktop y Server.

En cuanto a procesadores

http://www.intel.com/products/server...roc+tab_server

En cuanto a equipos

http://www1.euro.dell.com/content/pr...dt1&l=es&s=bsd

En estas dos paginas podras darte una idea de la diferencia entre armar hardware para servidores o para desktops.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:58.