Korzystanie z Google Cloud SQL
Google ostatnio ogłoszono Chcieliśmy przetestować najnowszą generację rozwiązań zarządzanych baz danych MySQL dostępnych w usłudze Cloud SQL, aby stworzyć bazę danych SQL działającą w chmurze, którą następnie moglibyśmy wykorzystać jako podstawę dla aplikacji mobilnych, a nawet do zaawansowanej analizy danych z naszych komputerów stacjonarnych.
Według firmy Google, dwa główne cele drugiej generacji Cloud SQL to przede wszystkim: lepsza występ i skalowalność za dolara. Wygląda na to, że udało im się osiągnąć te cele: druga generacja Cloud SQL jest ponad siedem razy szybsza niż pierwsza. Ponadto, obsługuje do 10 TB danych, 15 000 operacji wejścia/wyjścia na sekundę (IOPS) i 104 GB pamięci RAM na instancję – co znacznie przewyższa możliwości pierwszej generacji. Wydaje się więc, że jest to idealne, skalowalne rozwiązanie bazodanowe w chmurze, przeznaczone dla aplikacji mobilnych.


Zdecydowanie zalecamy zmianę hasła administratora oraz zezwalanie na dostęp do instancji w chmurze tylko z autoryzowanych sieci, które będą hostować urządzenia programistyczne lub serwery backendowe aplikacji mobilnej, którą tworzycie. Na przykład, w przyszłym wpisie na blogu omówimy tworzenie aplikacji mobilnej w oparciu o tę bazę danych, a serwer backendowy MobileTogether, który zapewni wszystkie funkcje serwerowe i przepływ pracy dla naszej aplikacji mobilnej, będzie musiał mieć dostęp do tej instancji Cloud SQL.
Aby korzystać z instancji Cloud SQL z komputera deweloperskiego, należy pobrać narzędzia MySQL przeznaczone dla danego systemu, co umożliwi korzystanie z narzędzia wiersza poleceń mysql. Ponadto, aby korzystać z bazy danych Cloud SQL z innych aplikacji na komputerze, należy pobrać odpowiednie sterowniki MySQL. W tym wpisie na blogu będziemy korzystać z Altova DatabaseSpy do uzyskiwania dostępu do instancji SQL, przesyłania danych, a następnie wykonywania analiz, dlatego należy pobrać sterownik MySQL Connector/ODBC dla systemu Windows. Mówiąc krótko, DatabaseSpy jest podobny do Toad, ale umożliwia łączenie się z wieloma różnymi instancjami baz danych na różnych serwerach baz danych jednocześnie. Dzięki temu można mieć jedno połączenie z Cloud SQL, jedno połączenie z lokalnym serwerem SQL Server i trzecie połączenie z bazą danych Oracle – wszystko w ramach jednego środowiska pracy. To bardzo przydatne.
Ważna uwaga: upewnij się, że pobierasz odpowiedni sterownik Connector/ODBC. Jeśli korzystasz z 64-bitowej wersji programu DatabaseSpy, będziesz również potrzebować 64-bitowej wersji sterownika MySQL Connector/ODBC. A jeszcze lepiej, możesz pobrać zarówno 32-bitową, jak i 64-bitową wersję Connector/ODBC i zainstalować je obie – wtedy będziesz mógł korzystać z Cloud SQL zarówno z 32-bitowych, jak i 64-bitowych programów na swoim komputerze.
Aby wypełnić naszą instancję Cloud SQL danymi przydatnymi do eksperymentów i dalszej analizy, pobraliśmy doskonałą bazę danych baseballowej Lahman's Baseball Database, która jest wygodnie dostępna jako skompresowany plik MySQL. Po pobraniu tego pliku na nasz komputer, otrzymaliśmy kompletny opis tabel bazy danych SQL, a także wszystkie dane – wszystko w jednym pliku SQL, co ułatwia jego załadowanie do naszej instancji Cloud SQL.
Pierwszym krokiem jest Utwórz nową bazę danych w usłudze Cloud SQL Na przykład, można to zrobić za pomocą narzędzia wiersza poleceń mysql, przez konsolę programistyczną Google lub za pomocą cURL – więcej szczegółów można znaleźć w linku na początku tego akapitu. Nazwiemy tę bazę danych "lahman".
Teraz możemy połączyć się z tą bazą danych za pomocą programu DatabaseSpy, wybierając opcję "Połącz się z bazą danych" i postępując zgodnie z instrukcjami wyświetlanymi w oknie konfiguracji połączenia. Najpierw wybieramy MySQL jako technologię bazy danych:

Następnie potwierdzamy użycie sterownika MySQL Connector/ODBC, który wcześniej pobraliśmy

I na koniec, ale nie mniej ważne, podajemy adres IP, nazwę użytkownika i hasło naszej instancji Cloud SQL, a następnie klikamy przycisk "Testuj", aby sprawdzić połączenie. Jeśli to się powiedzie, możemy teraz utworzyć źródło danych, nadając mu nazwę, oraz określić bazę danych "lahman", którą wcześniej utworzyliśmy

Teraz możemy przesłać wszystkie dane do tabel w naszej nowej bazie danych. W tym celu po prostu otwieramy plik SQL zawierający dane z bazy danych Lahman Baseball, który wcześniej pobraliśmy i rozpakowaliśmy. Wygląda on w programie DatabaseSpy w następujący sposób:

Jak widać, plik SQL zawierający dane z tej bazy danych zawiera wszystkie niezbędne polecenia do odtworzenia wszystkich tabel na naszej nowej instancji Cloud SQL. Teraz wystarczy kliknąć przycisk "Wykonaj" i poczekać. W zależności od prędkości połączenia internetowego, ten proces może potrwać pewien czas, ponieważ teraz tworzymy 24 tabele zawierające bardzo szczegółowe statystyki baseballowe od 1871 do 2014 roku – niektóre z nich zawierają ponad 160 000 wierszy. W moim przypadku proces ten trwał około 8 minut.
Teraz można kliknąć przycisk "Odśwież" w przeglądarce baz danych w programie DatabaseSpy, a następnie przejrzeć wszystkie tabele oraz dane zawarte w nich Struktura bazy danych Lahman. Można wykorzystać tę bazę danych do obliczania ciekawych danych historycznych, przeprowadzania analiz statystycznych oraz stosowania innych narzędzi, które są często używane w Sabermetryka aby lepiej ocenić jakość zawodników.
Przykładowo, przeanalizujemy procent homerunów (HR) zdobytych przez Davida Ortiza w stosunku do liczby jego występów przy pałce (AB) w trakcie całej jego kariery i przedstawimy to jako funkcję jego wieku. Informacje o skuteczności danego zawodnika przy pałce można znaleźć w tabeli "Batting", a jego imię, data urodzenia itp. w tabeli "Master". Połączenie tych dwóch tabel w SQL i wybór danych dla Davida Ortiza jest proste, a następnie możemy obliczyć jego statystykę homerunów w trakcie kariery jako HR/AB i przedstawić ją w formie wykresu w zależności od jego wieku w danym roku:
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
Po kliknięciu przycisku "Wykonaj", zapytanie jest wysyłane do instancji Cloud SQL, a wynikowe dane są niemal natychmiast zwracane w formie tabeli. Następnie można kliknąć przycisk "Wykres" w widoku tabeli z wynikami, aby wyświetlić dane w formie wykresu i przedstawić trajektorię rozwoju kariery w odniesieniu do wieku danej osoby

Jak widać, podłączenie się do nowych instancji Google Cloud SQL i ich wykorzystanie jest bardzo proste, zarówno z poziomu programu Altova DatabaseSpy, jak i z każdego innego narzędzia dla programistów firmy Altova, w tym XMLSpy, MapForce, MobileTogether, StyleVision i UModel. Ponadto, można łatwo wykorzystywać instancje Cloud SQL z serwera MapForce do projektów integracji i konwersji danych.
W kolejnym wpisie na blogu pokażemy, jak połączyć się z tą instancją Cloud SQL z aplikacji mobilnej i jak łatwo można stworzyć wygodny interfejs aplikacji mobilnej, korzystając z bazy danych Lahman dotyczącej baseballu.