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

Duda conceptual , ¿1 base de datos o varias?

Estas en el tema de Duda conceptual , ¿1 base de datos o varias? en el foro de Bases de Datos General en Foros del Web. Buenas, ahi voy con mi duda... Tengo un juego online por navegador , este tipo de web es muy jodida para el Mysql porque no ...
  #1 (permalink)  
Antiguo 31/01/2010, 05:29
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 7 meses
Puntos: 150
Duda conceptual , ¿1 base de datos o varias?

Buenas, ahi voy con mi duda... Tengo un juego online por navegador, este tipo de web es muy jodida para el Mysql porque no puedes cachear apenas nada, los jugadores estan constantemente realizando acciones por lo que los UPDATE, INSERT y DELETE se multiplican que da miedo...

El tema es que ahora mismo tengo la base de datos que solo soporta 1 unica partida, y voy a programar para que soporte un numero ilimitado de partidas simultaneas.

IDEA #1: Bueno, lo más sencillo seria añadir una tabla PARTIDAS y al resto de tablas añadirle un campo ID_PARTIDA, supongo que lo entendeis asi dicho tan simple. Aclaro que el juego tiene más de 25 tablas..

IDEA #2: Mi duda viene a si realmente esta es la mejor manera de hacer esto, o merece la pena crear una base de datos para cada partida, con lo que por ejemplo la tabla COMBATES constaria por ejemplo de 30.000 registros en cada base de datos, en vez de tener 120.000 registros si lo aglutinara todo en una unica tabla COMBATE de una base de datos. (?)

IDEA #3: Otra idea que se me acaba de ocurrir es usar 1 sola base de datos y crear varias tablas con un prefijo segun la partida, asi tendriamos COMBATE_P1 , COMBATE_P2...



En fin.... ahi suelto mi duda a ver si alguien especializado en estos casos me puede aconsejar, o decirme algun articulo que me oriente.
  #2 (permalink)  
Antiguo 31/01/2010, 08:07
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 1 mes
Puntos: 360
Respuesta: Duda conceptual , ¿1 base de datos o varias?

Que tal vun

Yo me quedo con tu opción 1.
Es la opción mas acertada si tratas de conservar estructura, integridad y facilidad de mantenimiento de tu base de datos.

El hecho de que tenga una cantidad muy alta de inserciones, consultas y actualizaciones es un reto muy grande para que sepas administrar muy bien tu base de datos. Por que sin dudarlo, se que mysql está en capacidad de hacerlo.

saludos vun
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 01/02/2010, 11:09
Avatar de Midal  
Fecha de Ingreso: febrero-2010
Ubicación: Valencia
Mensajes: 60
Antigüedad: 14 años, 1 mes
Puntos: 9
Respuesta: Duda conceptual , ¿1 base de datos o varias?

No termino de entender que es eso de "solo soporta una partida", quizás es por que no conozco el juego.

Supongo que te refieres a que no pueden pelear mas de dos personas a la vez ¿No?

De todas formas supongo que la respuesta da lo mismo. Si deseas optimizar tu código para pocos usuarios usa siempre la misma BD, así tu código PHP será mas eficaz, en cambio si ves que el juego está creciendo a un buen ritmo y que la ampliación del servidor va a ser necesaria a un plazo medio distribuye en varias bases de datos.

El por que es sencillo, en el futuro podrás repartir la carga poniendo una o varias bases de datos en cada servidor y así no saturar ninguno.

De todas formas IDEA #3 no se llevaria muy bien con esto:
Cita:
voy a programar para que soporte un numero ilimitado de partidas simultaneas.
Ya que tendrías una cantidad de tablas ilimitadas y administrar eso puede ser caótico.

Última edición por Midal; 01/02/2010 a las 11:28
  #4 (permalink)  
Antiguo 01/02/2010, 11:54
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 7 meses
Puntos: 150
Respuesta: Duda conceptual , ¿1 base de datos o varias?

Gracias por las respuestas!

Midal, lo de varias partidas es como si tu tienes una base de datos digamos de un videoclub por ejemplo con las tablas: Peliculas, clientes, alquileres

Y te dicen que van a abrir 5 videclubs más, por lo que habria que añadir la tabla Videoclubs y pasarle la ID al resto de tablas.

Supongo que mejor haré una base de datos para cada partida (videoclub), de forma que si mi juego explota con miles de jugadores (dejadme soñar) tenga un sistema sostenible (esta de moda esta palabra)
  #5 (permalink)  
Antiguo 01/02/2010, 12:42
Avatar de Midal  
Fecha de Ingreso: febrero-2010
Ubicación: Valencia
Mensajes: 60
Antigüedad: 14 años, 1 mes
Puntos: 9
Respuesta: Duda conceptual , ¿1 base de datos o varias?

Supongo entonces que limitarás las partidas a una determinada cantidad, no irás a tener 100 bases de datos, por ejemplo.
  #6 (permalink)  
Antiguo 01/02/2010, 12:48
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 7 meses
Puntos: 150
Respuesta: Duda conceptual , ¿1 base de datos o varias?

Si, como máximo serían 5 o 6, tengo que leer más sobre como enlazar tablas de bases de datos distintas x_X
  #7 (permalink)  
Antiguo 02/02/2010, 05:00
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: Duda conceptual , ¿1 base de datos o varias?

Hola.

No te recomiendo la solución de crear una BD para cada partida, porque eso te puede dar millones de problemas de administración. Además si como dices más arriba lo vas a limitar a 5 o 6, para eso no necesitas tantos recursos.

La mejor idea es tenerlo todo en una sola base de datos y creo que no deberías preocuparte por MySQL, porque las bases de datos están pensadas para millones de registros y cientos de tablas.
Seguro que soporta varias decenas de usuarios sin mayores inconvenientes.

Otra cuestión es si el servidor donde lo tienes alojado te permite tanta caña.
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 07:47.