Cloud SQL to kolejna usługa z chmury Google, którą warto poznać jeżeli planujemy zbudować szybki i duży serwis lub już zajmujemy się utrzymywaniem dużego i skalowalnego serwisu internetowego. Cloud SQL to w pełni zarządzana przez Google usługa relacyjnych baz danych dla MySQL, PostgreSQL i SQL Server. Usługa ta umożliwia korzystać z tradycyjnych relacyjnych baz danych SQL z bogatymi możliwościami konfiguracyjnymi bez konieczności posiadania i zarządzania serwerem SQL.

Zalety DBaaS – Database as a Service

Usługa Cloud SQL to nic innego jak DBaaS czyli Database as a Service. Dostęp do bazy danych w tym modelu ma wiele zalet. DBaaS pozwala między innymi:

  • zmniejszyć koszty utrzymania dzięki w pełni zarządzanym bazom danych MySQL, PostgreSQL i SQL Server,
  • zapewnić ciągłość działania dzięki niezawodnym i bezpiecznym usługom wspieranym przez całodobowy zespół SRE,
  • zautomatyzować czasochłonne zadania związane z konfigurowaniem i zabezpieczaniem bazy danych,
  • łatwo monitorować pracę bazy danych dzięki Cloud SQL Insights,
  • łatwo i szybko zintegrować bazy danych z istniejącymi projektami opartymi na Google Cloud.

Największą jednak zaletą jest automatyczne skalowanie, które dzieje się bez naszej ingerencji. Korzystając z Cloud SQL nie interesuje nas potrzebna pamięć, procesor oraz czy dysk HDD jest odpowiedniej wielkości bądź rodzaju. Do bazy tego typu możemy w przeciągu jednej minuty wysłać jedno zapytanie lub kilka milionów. Z drugiej strony, w każdej chwili możemy dodać rdzenie procesora, pamięć RAM lub pamięć masową bez utraty danych.

Korzystanie z Cloud SQL

Na potrzeby tego tutorialu dokonamy migracji typowej bazy danych strony internetowej do Cloud SQL i zaiunstalujemy aplikację CMS. Dzięki temu zobaczymy jak korzystać z tej usługi w praktycznych scenariuszach. Na sam początek musimy uruchomić usługę Cloud SQL, którą w wygodnym panelu Google Cloud uruchomimy jednym przyciskiem.

Tworzenie instancji Cloud SQL

Następnie wprowadzamy nazwę, region oraz podstawowe opcje konfiguracyjne:

Konfigurowanie instancji Cloud SQL

Już po wykonaniu tych podstawowych czynności nasz serwer jest gotowy do działania. Automatyczne kopie zapasowe baz wykonywane są co 24 godziny w wybranej przez nas porze. Łączenie do bazy może następować w prywatnej sieci bądź za pomocą publicznego adresu IP co oznacza, że z baz danych może korzystać dowolny serwer i kwerendy można bez problemu wykonywać także spoza Google Cloud.

Po utworzeniu instancji Cloud SQL mamy dostęp do panelu zarządzania. W zakładce przegląd mamy najważniejsze informacje dotyczące tej instancji i jak nawiązywać połączenie.

Przegląd – Cloud SQL

Tworzenie bazy danych w Cloud SQL

Na samym początku musimy stworzyć bazę danych. Służy do tego panel, w którym mamy niektóre opcje podobne z phpMyAdmin:

Tworzenie bazy danych w Cloud SQL

Import bazy danych do Google Cloud SQL

Kolejny krokiem będzie import danych. Plik możemy wczytać z obecnego zasobnika Cloud Storage:

Import pliku SQL z Cloud Storage do Cloud SQL

Połączenie z Cloud SQL

Aby połączyć się z Cloud SQL potrzebujemy adresu, loginu i hasła. Trzeba też pamiętać o dodaniu adresu IP serwera, który będzie wykonywał kwerendy do listy adresów, z których Cloud SQL będzie obsługiwał zapytania. Można udzielić dostępu dla jednego adresu IP, sieci bądź wszystkich możliwych adresów IP (ale ta ostatnia opcja nie jest zbyt bezpieczna). W tym celu przechodzę do zakładki Połączenia i w polu Autoryzowane sieci, dodaję własną sieć klikając w Dodaj sieć:

Autoryzacja sieci w Cloud SQL

W trakcie instalacji wpisywaliśmy hasło dla domyślnego użytkownika root. W zakładce Użytkownicy możemy dodać dodatkowych użytkowników bazy SQL ze spersonalizowanymi prawami dostępu.

Zobaczmy, czy wszystko działa. Dla testu możemy:

  • napisać prosty skrypt odpytujący bazę danych,
  • zainstalować CMS wykorzystujący Cloud SQL na serwerze, który jest autoryzowany do łączenia się z naszą instancją,
  • lub zmienić serwer bazy danych w istniejącej aplikacji.

Jako adres wykorzystuję publiczny adres IP (bo dla testu łączę się spoza Google Cloud), login to root a hasło wpisywaliśmy przy tworzeniu instancji.

Kopie zapasowe w Cloud SQL

W Cloud SQL kopie zapasowe baz danych są wykonywane domyślnie raz na dobę. Możemy zmienić częstotliwość a także porę dnia ich wykonywania. Jednym przyciskiem możemy przywrócić stan dowolnego zrzutu:

Kopie zapasowe w Cloud SQL

Replikacja baz danych w Cloud SQL

Podobnie łatwa do wykonania jest replikacja baz danych. Robimy to dosłownie jednym przyciskiem myszy w zakładce repliki.

Replikacja baz danych w Cloud SQL

Posiadając własny serwer SQL bez specjalnego oprogramowania tworzenie replikacji jest dość uciążliwe co pokazałem w tutorialu replikacja baz danych MySQL.

Alternatywy dla Cloud SQL

Należy pamiętać, że Cloud SQL to nie jedyne rozwiązanie dostępne na rynku i istnieje wiele alternatywnych rozwiązań, w których korzystanie z baz danych wygląda bardzo podobnie. Niektóre z nich to:

  • Amazon RDS,
  • Oracle Database,
  • Azure SQL Database.

Podsumowanie

Oddzielenie bazy danych od serwera WWW to jeden z pierwszych kroków skalowania serwisu, który fachowo określamy jako partycjonowanie funkcjonalne. Interesującą opcją jest wykorzystanie nowoczesnych chmurowych rozwiązań z zarządzanymi bazami danych. Łatwe przywracanie wykonanej automatycznie kopii zapasowej czy wykonanie replikacji jednym przyciskiem myszy świetnie ilustruje jak wygodne jest korzystanie z Cloud SQL. To jednak wydajność, bezpieczeństwo, niezawodność i jakość, która jest zapewniana przez Google to największe zalety tego rozwiązania.

Źródła

Oceń artykuł na temat: Google Cloud SQL – zalety zarządzanych baz danych
Średnia : 4.3 , Maksymalnie : 5 , Głosów : 4