Utilizando Google Cloud SQL
Google anunció recientemente su nueva generación de servicios gestionados de MySQL en Cloud SQL, por lo que queríamos probarlos y crear una base de datos SQL basada en la nube que pudiéramos utilizar como el sistema de respaldo para aplicaciones móviles, o incluso para análisis de datos avanzados desde nuestros ordenadores.
Según Google, los dos objetivos principales de la segunda generación de Cloud SQL fueron una mejor rendimiento y escalabilidad por dólar. Parece que lograron estos objetivos: la segunda generación de Cloud SQL es más de siete veces más rápida que la primera. Además, puede escalar hasta 10 TB de datos, 15.000 operaciones de entrada/salida por segundo (IOPS) y 104 GB de RAM por instancia, superando con creces a la primera generación. Por lo tanto, parece ser la base de datos en la nube ideal y escalable para aplicaciones móviles.


Se recomienda encarecidamente cambiar la contraseña de administrador y permitir el acceso a su instancia en la nube únicamente desde las redes autorizadas que alojarán sus máquinas de desarrollo o sus servidores de backend para la aplicación móvil que está desarrollando. Por ejemplo, en una futura publicación del blog, exploraremos cómo crear una aplicación móvil utilizando esta base de datos, y el servidor de backend MobileTogether que proporcionará todas las funcionalidades y el flujo de trabajo para nuestra aplicación móvil deberá poder acceder a esta instancia de Cloud SQL.
Para utilizar la instancia de Cloud SQL desde su ordenador de desarrollo, necesitará descargar las herramientas de MySQL para su sistema, lo que le permitirá utilizar la herramienta de línea de comandos mysql. Además, para utilizar la base de datos de Cloud SQL desde otras aplicaciones en su ordenador, deberá descargar los respectivos conectores de MySQL. En esta entrada del blog, utilizaremos Altova DatabaseSpy para acceder a la instancia de SQL, cargar algunos datos y, a continuación, realizar algunos análisis, por lo que deberá descargar el conector MySQL/ODBC para Windows. En esencia, DatabaseSpy es similar a Toad, pero le permite conectarse a múltiples instancias de bases de datos diferentes en distintos servidores de bases de datos al mismo tiempo. Así, puede tener una conexión abierta a Cloud SQL, una conexión a un servidor SQL local y una tercera conexión a una base de datos Oracle, todo ello dentro del mismo entorno de trabajo. Es bastante útil.
Una observación importante: asegúrese de descargar el controlador Connector/ODBC correcto. Si está utilizando la versión de 64 bits de DatabaseSpy, también necesitará la versión de 64 bits del controlador MySQL Connector/ODBC. O, mejor aún, puede descargar tanto la versión de 32 bits como la de 64 bits de Connector/ODBC e instalarlas ambas; de esta manera, podrá utilizar Cloud SQL tanto desde software de 32 bits como de 64 bits en su equipo.
Para poblar nuestra instancia de Cloud SQL con algunos datos útiles para la experimentación y el análisis posterior, descargamos la excelente.. La base de datos de béisbol de Lahman, que está disponible de forma conveniente como un archivo comprimido de volcado de MySQL. Después de descargarlo en nuestro ordenador, teníamos una descripción completa de las tablas de la base de datos SQL, junto con todos los datos, todo en un único archivo SQL, lo que facilita su carga en nuestra instancia de Cloud SQL.
El primer paso es crear una nueva base de datos en su instancia de Cloud SQL. Puede hacerlo a través de la utilidad de línea de comandos mysql, a través de la consola de Google Cloud, o mediante cURL. Consulte el enlace al principio de este párrafo para obtener más detalles. Simplemente llamaremos a esta base de datos "lahman".
Ahora podemos conectarnos a esta base de datos desde DatabaseSpy seleccionando la opción "Conectar a una base de datos" y siguiendo estos pasos a través del asistente de conexión. Primero, seleccionamos MySQL como la tecnología de la base de datos:

A continuación, confirmamos que se está utilizando el controlador MySQL Connector/ODBC que descargamos previamente:

Y, por último, pero no menos importante, especificamos la dirección IP, el nombre de usuario y la contraseña de nuestra instancia de Cloud SQL, y luego pulsamos el botón "Probar" para verificar la conexión. Si esto funciona, ahora podemos crear una fuente de datos asignándole un nombre, y también especificar la base de datos "lahman" que creamos previamente:

Ahora estamos listos para cargar todos los datos en las tablas de nuestra nueva base de datos. Para ello, simplemente abrimos el archivo SQL de la base de datos Lahman Baseball que descargamos y descomprimimos previamente, y que se ve así en DatabaseSpy:

Como pueden ver, el volcado SQL de esa base de datos contiene todos los comandos necesarios para recrear todas las tablas en nuestra nueva instancia de Cloud SQL. Así que, ahora solo tenemos que pulsar el botón "Ejecutar" y esperar. Dependiendo de la velocidad de su conexión a Internet, esto puede tardar un poco, ya que ahora se están creando 24 tablas con estadísticas detalladas de béisbol desde 1871 hasta 2014, algunas de las cuales tienen más de 160.000 filas. En mi caso, tardó aproximadamente 8 minutos en completarse.
Ahora puede hacer clic en "Actualizar" en el explorador de bases de datos en línea en DatabaseSpy y, a continuación, explorar todas las tablas y los datos que contienen, así como la estructura de la base de datos Lahman. Y puede utilizar esta base de datos para calcular datos históricos interesantes, realizar análisis estadísticos y aplicar otras herramientas que se utilizan habitualmente en sabermétricas para comprender mejor la calidad de los jugadores.
Como ejemplo, analizaremos.. David OrtizSe calculará el porcentaje de jonrones (HR) conectados por cada vez que el jugador se presenta al bate (AB) a lo largo de toda su carrera, y se representará ese valor como una función de su edad. Se podrá encontrar el rendimiento de un jugador en el número de veces que se presenta al bate en la tabla "Batting", y su nombre, fecha de nacimiento, etc., en la tabla "Master". Es fácil unir las dos tablas en SQL y seleccionar los datos de David Ortiz, y luego podemos calcular su trayectoria de jonrones a lo largo de su carrera simplemente como HR/AB, y representar ese valor en función de su edad en un año determinado:
SELECT yearID-birthYear AS Age, HR/AB AS CareerHRTrajectory FROM Batting, `Master`
WHERE Batting.playerID = `Master`.playerID AND nameLast='Ortiz' AND nameFirst='David'
ORDER BY Age ASC
Una vez que haga clic en "Ejecutar", esta consulta se envía a la instancia de Cloud SQL y los datos resultantes se devuelven casi instantáneamente en forma de tabla. Luego, puede hacer clic en el botón "Gráfico" en la vista de la tabla de resultados para graficar los datos y representar la trayectoria de su carrera en función de su edad

Como pueden ver, es muy fácil conectarse y utilizar las nuevas instancias de Google Cloud SQL desde Altova DatabaseSpy, o, por igual, desde cualquiera de las demás herramientas de desarrollo de Altova, incluyendo XMLSpy, MapForce, MobileTogether, StyleVision y UModel. Además, pueden utilizar fácilmente las instancias de Cloud SQL desde el servidor de MapForce para proyectos de integración y conversión de datos.
En una futura entrada del blog, nos conectaremos a esta instancia de Cloud SQL desde una aplicación móvil y exploraremos lo fácil que es crear una interfaz de usuario móvil intuitiva utilizando la base de datos de béisbol Lahman.