Estoy tratando de usar una base de datos como back-end para un sistema de mensajería en mi juego (algo así como mensajería instantánea). Estoy usando una base de datos local para almacenar los mensajes recibidos y una base de datos en mi servidor para enviarlos. Aquí están las tablas que estoy usando:Esquema de mensajería de juego de base de datos
Usuarios:
nombre de usuario (varchar)
idioma (varchar)
currentGames (varchar)
Mensajes:
remitente (varchar)
receptor (varchar)
mensaje (varchar)
marca de tiempo (int)
Mi pla n es que cuando un usuario envía un mensaje, primero almaceno el mensaje en su base de datos local y luego envío el mensaje al servidor.
Cuando un usuario verifica si hay mensajes nuevos (sondeo), primero obtiene la última marca de tiempo de su base de datos local y utiliza esta vez para consultar la base de datos en línea para todos los mensajes enviados después de ese momento. Todos los mensajes recibidos se eliminan de la base de datos.
¿Hay algún problema con la forma en que estoy haciendo esto? Estoy tratando de prepararme para lo peor, y no tengo idea de cómo escalará este tipo de plan. No estoy usando una identificación única para la tabla de "Usuarios" y creo que debería hacerlo. Debido a que mi experiencia con la base de datos es limitada, no entiendo completamente la importancia del ID único de incremento automático o cómo me podría ayudar aquí. Cualquier consejo/crítica sería apreciado.
por lo que en la base de datos local almacena primero algunos mensajes y los envía al servidor en línea y borra los mensajes db locales, según tengo entendido. ... así que para esto puedo usar un enfoque de datos simple como 'xml' – Sudantha
Oh no, los almaceno en la base de datos local para que incluso cuando el usuario cierre la sesión, todavía puedan ver los mensajes. Los borro del servidor una vez que están seguros en el db local. Estoy usando xml para transferir los datos. La pregunta es más acerca de si estoy haciendo el esquema correctamente. – jnortey