---
title: "Utilizando o Google Cloud SQL"
date: "2016-01-06"
categories: 
  - "data-integration"
  - "mobile"
  - "software"
  - "technology"
tags: 
  - "baseball"
  - "cloud-sql"
  - "database"
  - "google-cloud-sql"
  - "lahmans-baseball-database"
  - "sql"
description: Explore como configurar e utilizar o Google Cloud SQL com o banco de dados de baseball Lahman, aprimorando os sistemas de suporte para aplicações móveis e as capacidades de análise de dados.
---
Status: #blog

Tags:  #baseball #cloud-sql #database #google-cloud-sql #lahmans-baseball-database #sql

Categories: [data-integration](/blog/pt/category/data-integration.md) 
# Utilizando o Google Cloud SQL

Google [recentemente anunciado](http://googlecloudplatform.blogspot.com/2015/12/the-next-generation-of-managed-MySQL-offerings-on-Cloud-SQL.html) Apresentámos a nossa próxima geração de soluções MySQL geridas no Cloud SQL, e queríamos testá-la e criar um banco de dados SQL na nuvem que pudéssemos utilizar como base para aplicações móveis, ou até mesmo para análises de dados avançadas a partir dos nossos computadores.

De acordo com a Google, os dois principais objetivos da segunda geração do Cloud SQL foram melhorar.. _desempenho_ e _escalabilidade_ por dólar. Parece que conseguiram atingir esses objetivos: a segunda geração do Cloud SQL é mais de sete vezes mais rápida que a primeira. Além disso, suporta até 10TB de dados, 15.000 operações de entrada/saída por segundo e 104GB de RAM por instância – muito além do que a primeira geração oferecia. Portanto, parece ser uma solução ideal e escalável de base de dados na nuvem para aplicações móveis.

![Dados na nuvem](/blog/images/shutterstock_68942902.jpg)

<!--more-->If you follow the instructions on the the [Google blog post](http://googlecloudplatform.blogspot.com/2015/12/the-next-generation-of-managed-MySQL-offerings-on-Cloud-SQL.html), you will first have to create a trial account for Google Cloud. Then, once you are logged into the Google Developer Console, click on the top-left menu button and select SQL under the storage section. This will enable you to create a new second generation Cloud SQL instance:

![Consola do Google Cloud SQL](/blog/images/GoogleCloudSQLConsole-1030x880.png)

É altamente recomendável alterar a sua palavra-passe de administrador e permitir o acesso à sua instância na nuvem apenas a partir de redes autorizadas que irão hospedar as suas máquinas de desenvolvimento ou os seus servidores de back-end para a aplicação móvel que está a desenvolver. Por exemplo, num futuro artigo do blogue, exploraremos a criação de uma aplicação móvel com base nesta base de dados, e o servidor de back-end [MobileTogether](https://www.altova.com/pt/mobiletogether/server.html) que fornecerá todas as funcionalidades e o fluxo de trabalho para a nossa aplicação móvel terá de ser capaz de aceder a esta instância do Cloud SQL.

Para utilizar a instância do Cloud SQL a partir do seu computador de desenvolvimento, será necessário [descarregar as ferramentas do MySQL](http://dev.mysql.com/downloads/) para o seu sistema, o que lhe permitirá utilizar a ferramenta de linha de comandos **mysql**. Além disso, para utilizar o banco de dados do Cloud SQL a partir de outras aplicações no seu computador, terá de descarregar os respetivos [conectores MySQL](http://dev.mysql.com/downloads/connector/). Neste artigo, utilizaremos o [Altova DatabaseSpy](https://www.altova.com/pt/databasespy.html) para aceder à instância SQL, carregar alguns dados e, em seguida, realizar algumas análises, por isso, deverá [descarregar o MySQL Connector/ODBC para Windows](http://dev.mysql.com/downloads/connector/odbc/). Essencialmente, o DatabaseSpy é semelhante ao Toad, mas permite-lhe conectar-se a várias instâncias de base de dados diferentes em diferentes servidores de base de dados ao mesmo tempo. Assim, pode ter uma ligação aberta ao Cloud SQL, uma ligação a um SQL Server local e uma terceira ligação a um banco de dados Oracle, tudo dentro do mesmo ambiente de trabalho. É bastante útil.

Uma observação importante: certifique-se de que descarrega o driver Connector/ODBC correto. Se estiver a utilizar a versão de 64 bits do DatabaseSpy, também precisará da versão de 64 bits do driver MySQL Connector/ODBC. Ou, melhor ainda, pode descarregar tanto a versão de 32 bits como a de 64 bits do Connector/ODBC e instalá-las ambas – assim, poderá utilizar o Cloud SQL tanto em software de 32 bits como em software de 64 bits no seu computador.

Para preencher a nossa instância do Cloud SQL com dados úteis para experimentação e análise posterior, descarregámos o excelente.. [Base de dados de baseball de Lahman](http://www.seanlahman.com/baseball-archive/statistics/), que está convenientemente disponível como um ficheiro MySQL compactado. Depois de o descarregar para o nosso computador, tínhamos uma descrição completa das tabelas da base de dados SQL, juntamente com todos os dados, tudo num único ficheiro SQL, o que facilita a sua subida para a nossa instância Cloud SQL.

O primeiro passo é.. [Crie um novo banco de dados no seu Cloud SQL](https://cloud.google.com/sql/docs/create-database) Por exemplo, pode fazer isso através da utilidade de linha de comandos `mysql`, através da Google Developer Console, ou através do cURL – consulte o link no início deste parágrafo para mais detalhes. Vamos simplesmente chamar esta base de dados "lahman".

Agora podemos conectar-nos a esta base de dados a partir do DatabaseSpy, selecionando o comando "Conectar a uma base de dados" e seguindo estes passos através do assistente de conexão. Em primeiro lugar, selecionamos o MySQL como a tecnologia da base de dados:

![Google Cloud SQL: Conectar](/blog/images/GoogleCloudSQLConnect1.png)

Em seguida, confirmamos a utilização do driver MySQL Connector/ODBC que previamente instalámos

![Google Cloud SQL Connect 2](/blog/images/GoogleCloudSQLConnect2.png)

E, por último, mas não menos importante, especificamos o endereço IP, o nome de utilizador e a palavra-passe da nossa instância Cloud SQL, e depois clicamos no botão "Testar" para verificar a ligação. Se tudo funcionar, podemos agora criar uma fonte de dados, atribuindo-lhe um nome, e também especificar a base de dados "lahman" que criámos anteriormente:

![Google Cloud SQL Connect 3](/blog/images/GoogleCloudSQLConnect3.png)

Agora estamos prontos para carregar todos os dados nas tabelas da nossa nova base de dados. Para isso, basta abrir o ficheiro SQL da base de dados Lahman Baseball, que previamente descarregámos e descompactámos, e que aparece assim no DatabaseSpy:

![LahmanSQLdump](/blog/images/LahmanSQLdump-1030x854.png)

Como podem ver, o ficheiro SQL dessa base de dados contém todos os comandos necessários para recriar todas as tabelas na nossa nova instância do Cloud SQL. Agora, tudo o que temos de fazer é clicar no botão "Executar" e esperar. Dependendo da velocidade da sua ligação à Internet, este processo pode demorar algum tempo, pois estão a criar 24 tabelas com estatísticas detalhadas de baseball desde 1871 até 2014 – algumas das quais contêm mais de 160.000 linhas. No meu caso, demorou cerca de 8 minutos a ser concluído.

Agora pode clicar em "Atualizar" no seu navegador de base de dados online no DatabaseSpy e, em seguida, explorar todas as tabelas e os dados que contêm, bem como a [estrutura da base de dados Lahman](http://seanlahman.com/files/database/readme2014.txt). E pode usar esta base de dados para calcular dados históricos interessantes, realizar análises estatísticas e aplicar outras ferramentas frequentemente utilizadas em [sabermetria](https://en.wikipedia.org/wiki/Sabermetrics) para compreender melhor a qualidade dos jogadores.

Como exemplo, vamos analisar a percentagem de home runs (HR) que o jogador [David Ortiz](http://www.baseball-reference.com/players/o/ortizda01.shtml) conseguiu em relação ao número de vezes que se apresentou ao batedor (AB) ao longo de toda a sua carreira, e representaremos essa percentagem em função da sua idade. Poderão encontrar o desempenho de um jogador no número de vezes que se apresentou ao batedor na tabela "Batting" e o seu nome, data de nascimento, etc., na tabela "Master". É fácil unir as duas tabelas em SQL e selecionar os dados de David Ortiz, e podemos então calcular a sua trajetória de home runs ao longo da carreira simplesmente como HR/AB e representar esse valor em função da sua idade num determinado ano:

```
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
```

Assim que clicar em "Executar", esta consulta é enviada para a instância do Cloud SQL e os dados resultantes são devolvidos quase instantaneamente, apresentados numa tabela. Em seguida, pode clicar no botão "Gráfico" na visualização da tabela de resultados para criar um gráfico dos dados e representar a trajetória da carreira em termos de recursos humanos ao longo da idade:

![DBSpy para Google Cloud SQL](/blog/images/DBSpyGoogleCloudSQL-1030x863.png)

Como podem ver, é muito fácil conectar-se e utilizar as novas instâncias do Google Cloud SQL a partir do Altova DatabaseSpy, ou, de facto, a partir de qualquer uma das outras ferramentas de desenvolvimento da Altova, incluindo o XMLSpy, o MapForce, o MobileTogether, o StyleVision e o UModel. Além disso, podem utilizar facilmente as instâncias do Cloud SQL a partir do servidor MapForce para projetos de integração e conversão de dados.

Num futuro artigo do blog, vamos conectar esta instância do Cloud SQL a partir de uma aplicação móvel e explorar o quão fácil é criar uma interface de utilizador móvel intuitiva, utilizando a base de dados de baseball Lahman.
