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

Registros en MySQL

Estas en el tema de Registros en MySQL en el foro de Bases de Datos General en Foros del Web. Hola: Estoy desarrollando una aplicacion en PHP + MySQL, pero me he dado cuenta que la cantidad de registros que voy a almacenar puede llegar ...
  #1 (permalink)  
Antiguo 06/04/2005, 16:05
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 10 meses
Puntos: 0
Registros en MySQL

Hola:
Estoy desarrollando una aplicacion en PHP + MySQL, pero me he dado cuenta que la cantidad de registros que voy a almacenar puede llegar a unos 20 millones en algunas tablas.
Mi pregunta, ¿ Será suficientemente capaz MySQL de manejar esa cantidad de información ? ... ¿ Serán muy altos los tiempos de respuesta al realizar un "Select * from tabla ;" , donde tabla tenga 20 millones de registros, teniendo un server linux con 512mb , procesador de Celeron de 3.2, y 200 gb de disco duro ?
Que otras variables deberia tener muy en claro para decidir que motor de base de datos usar ?.
Si creen que MySQL no soporta esta carga, que motor me recomiendan ?

Espero su ayuda.

Gracias.

Salu2 !!!
__________________
AK.T.I.V.E.tm Live, Never DIE
  #2 (permalink)  
Antiguo 06/04/2005, 19:04
Avatar de JBalde  
Fecha de Ingreso: febrero-2005
Ubicación: Madrid
Mensajes: 118
Antigüedad: 19 años, 2 meses
Puntos: 5
Decirte que es un poco exagerado decir de primeras que una tabla para una pagina web puede tener 20 millones de registros, a no ser que sea algo de algun gobierno o de una institucion publica. Decirte que los SGBD (motores) mas potentes del mercado son para mi gusto 3. Oracle es el mas potente, seguido muy de cerca por SQL Server. Por ultimo y decirte que MySQL que es el que vas a usar, es muy potente y veloz. A lo mejor no tiene funciones como los SP de Oracle y SQL Server, pero es el mas rapido de todos. Tambien decirte que MySQL al igual que los otros dos no tiene limite teorico, el verdadero limite esta en el servidor donde corre. Dudo mucho que con tu servidor puedas hacer un "SELECT * FROM tabla" a la tabla de 20 millones de registros, puesto que si varios usuarios hacen ese select al mismo tiempo se petara el servidor. Tienes dos opciones si quieres utilizar MySQL:
1ª-Compras un servidor mas pontente.
2ª-Utilizas Cluster de servidores para repartir el peso de MySQL

Todo esto es bajo mi punto de vista, porque no se de que trata la web que quieres hacer ni el uso que le vas a dar. Espero haberte sido de ayuda, si quieres mas informacion dimelo.
  #3 (permalink)  
Antiguo 07/04/2005, 08:14
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 10 meses
Puntos: 0
Gracias JBalde por tu ayuda.
La web que estoy diseñando es para una empresa telefonica, la que maneja informacion de sus clientes en forma historica, digamos sus cuentas en forma historica. Actualmente el sistema funciona con Pascal y archivos planos, ese archivo plano historico de cuentas pega 2 gb, que contiene al rededor de 15 millones de registros.
Ahora bien, el tema de hacer un "select * from tabla" no se va a dar, siempre se realizan consultas donde no se muestran todos los campos.
Ahora bien, la cantidad de usuarios de la web, actualmente llegaria a unos 150 usuarios, pero en futuro, digamos un año, se dara acceso a los clientes que son en promedio unos 150.000. Asi que, en el peor de los casos, las conexiones simultaneas a la BD serian unas 151.000, con lo que cualquier server se caeria o no ?
Respecto del server, en un futuro se agregara uno de mejor rendimiento y se piensa en poner mas de uno que atienda las peticiones sobre la BD .... ¿ Se puede esto o no ?.
Bueno, espero sus comentarios.
Gracias.

Salu2 !!!
__________________
AK.T.I.V.E.tm Live, Never DIE
  #4 (permalink)  
Antiguo 07/04/2005, 15:03
Avatar de JBalde  
Fecha de Ingreso: febrero-2005
Ubicación: Madrid
Mensajes: 118
Antigüedad: 19 años, 2 meses
Puntos: 5
Lo ideal para una web que vaya a tener tantas consultas es usar varios cluster de ordenadores. Decirte que tambien hay que tener en cuenta que no se va a dar el caso en que todos los usuarios se conecten, se conectaran unos pocos, como mucho 500 a la vez si es que llega, asi que asi si te va a aguantar el servidor. De todas formas te recomiendo que cuando puedas dentro de a lo mejor un año, utilices varios servidores de mas potencia, sobre todo varios gigas de memoria ram, puesto que esta es el recurso que mas se consume en un servidor, y uses los servidores en cluster, que por si no sabes lo que es, es crear una especie de conexion entre varios ordenadores para repartir el peso como si fuera un unico ordenador con la potencia de la sumas de los equipos que componen el cluster. MySQL te soportara perfectamente esto, aunque si en algun momento estas dispuesto a gastar dinero te recomiendo Oracle que es mucho mas potente que MySQL y tiene funciones que este no tiene como por ejemplo Trigger, SP, transacciones, etc.
  #5 (permalink)  
Antiguo 07/04/2005, 22:37
 
Fecha de Ingreso: julio-2003
Ubicación: Colombia
Mensajes: 591
Antigüedad: 20 años, 9 meses
Puntos: 7
Hola KillerBKS, bueno yo te diria que mas que el motor que vas a buscar, es el tipo de consulta que vas a utilizar, es decir un select * from tabla, teniendo 20 millones de registros, es nocivo, para cualquier sisitema de base de datos, y mas cuando se requieren muchos accesos concurrentes, como en el web....

En realidad fijate por indexar bien la tabla, y por hacer unas consultas apropiadas, para tener un buen desempeño...con mysql, estas mas que bien para manejar esa cantidad de registros, por su capacidad y rapidez....

Chaop!
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 19:55.