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

Límite de registros (rendimiento)

Estas en el tema de Límite de registros (rendimiento) en el foro de Mysql en Foros del Web. Hola... he estado investigando, pero no encuentro una explicación certera. Estoy trabajando con varias tablas que gaurdan una serie de datos, interconectados entre sí. El ...
  #1 (permalink)  
Antiguo 27/05/2011, 08:27
Avatar de Alvaro_Franz  
Fecha de Ingreso: mayo-2011
Mensajes: 84
Antigüedad: 13 años, 6 meses
Puntos: 4
Límite de registros (rendimiento)

Hola... he estado investigando, pero no encuentro una explicación certera.

Estoy trabajando con varias tablas que gaurdan una serie de datos, interconectados entre sí. El caso es que en una de ellas.. se guardan las noticias de los usuarios, de la siguiente manera:

Tres campos numéricos identificativos, uno de texto (35 caracteres)

¿Es posible que en una tabla así quepan 10 mil millones de registros aprox. y se pueda trabajar con ellos "cómodamente"?
  #2 (permalink)  
Antiguo 27/05/2011, 08:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Límite de registros (rendimiento)

Cita:
¿Es posible que en una tabla así quepan 10 mil millones de registros aprox. y se pueda trabajar con ellos "cómodamente"?
Sin ver el diseño completo de esa base, una tabla no nos dice nada. Puede estar bien o mal dependiendo de muchos factores.

Respecto a la capacidad, 10.000.000.000 de registros con un ancho de 43 bytes, representan cerca de 450 Gb. Vas a tener problemas con el almacenamiento antes de tenerlo con la estructura de la base en sí.

Además, esa cantidad de posts representaría un tráfico del orden de los 3.000 post por segundo durante un año entero, lo que implica alrededor de 10 mil de conexiones/hora... cosa que ningún servicio de hosting estaría dispuesto a darte sin pagar mucha plata.
Estás haciendo cálculos en el aire, muy poco reales. Creo que deberías plantear una idea más concreta del escenario que esperas trabajar antes de preguntarte su tu base puede soportar un nivel de transacciones más propio de Hotmail, GMail o algo así.

En principio, para que quede claro, cuando hablas de bases de datos de muy alta concurrencia estamos hablando de diseños de ase complejos, implementados en forma distribuida, montados en varios servidores, con gran capacidad de transacciones, sistemas de respaldo y disponibilidad afinados, etc. Además, necesitarías un equipo de gente para poder manejarlo.

Trata de definir mejor el plan del proyecto y luego vemos si la base te sirve y hasta dónde se peude extender.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/05/2011, 09:00
Avatar de Alvaro_Franz  
Fecha de Ingreso: mayo-2011
Mensajes: 84
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Límite de registros (rendimiento)

Gracias por tu respuesta... han sido unos cálculos como dices "en el aire".. sin pensarlo muy muy a fondo, además de haberle sumado más del 20% para garantizar seguridad.

El caso es que necesito guardar noticias de usuarios sobre los contenidos.
Las noticias pueden ser... creación de nuevo contenido, recomendación de un contenido, etc.

Entonces guardo... Id de usuario + Tipo de noticia (INT) + id_contenido + datetime

Es cierto, que no más de 30-40 noticias nuevas habrá en mi proyecto cada segundo. Pero pensando en un período de tiempo largo (un par de años)... Esta tabla acabará llenándose. Podría plantearme el hecho de borrar noticias antiguas, así entraría en un límite donde el número de noticias no seguirá creciendo por la eliminación de las antiguas. Pero surge ahora otra cuestión:

El estar constantemente eliminando y metiendo nuevos registros, ¿puede llegar a saturar una tabla?

Gracias por tu tiempo.

Etiquetas: registros, rendimiento
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 21:34.