sql >> Base de Datos >  >> RDS >> Mysql

¿Windows 8 y MySQL? ¿Cuáles son mis opciones?

Recomiendo enfáticamente que los programas cliente no se conecten directamente a un servidor de base de datos a través de Internet, por las siguientes razones:

  • Las bibliotecas cliente están diseñadas y creadas asumiendo que la base de datos está a unos pocos milisegundos de distancia, especialmente los protocolos muy comunicativos (MSSQL se encuentra entre estos). Como resultado, las operaciones cortas pueden demorar considerablemente más.
  • Es una responsabilidad de seguridad, no solo está exponiendo su servidor de base de datos a Internet, sino que también está incrustando detalles de conexión (como contraseñas) en su aplicación.
  • No se presta a la escalabilidad. ¿Qué pasa si introduce varios servidores de base de datos con equilibrio de carga o conmutación por error? Tendría que volver a escribir su cliente.
  • También asume que no habrá ningún problema de conectividad. Muchas redes (especialmente redes móviles) restringen la actividad fuera del puerto 80/443 para evitar el abuso de su red (como ataques de usuarios zombis).

La solución ideal en estos casos es desarrollar una interfaz de servicio web para su base de datos; su aplicación luego se conectaría con el servicio web en lugar de su base de datos. Esto tiene otras ventajas.

Por supuesto, los clientes (especialmente los clientes móviles) deben usar un caché de datos para que la aplicación continúe funcionando cuando esté desconectada.

Volviendo al tema:suponiendo que aún desee utilizar una conexión directa, entonces no veo por qué la biblioteca del cliente MySQL no funcionará en 4.5. Puede modificar el manifiesto/configuración de un ensamblado para que se ejecute en versiones futuras de .NET CLR (solo tendrá problemas si dicha biblioteca usa tipos y miembros eliminados desde entonces o depende de un comportamiento modificado. El marco .NET tiene una buena reputación de compatibilidad con versiones anteriores y posteriores).