{"id":31266,"date":"2020-11-06T15:34:12","date_gmt":"2020-11-06T14:34:12","guid":{"rendered":"https:\/\/fotc.com\/?p=31266"},"modified":"2021-11-05T12:34:07","modified_gmt":"2021-11-05T11:34:07","slug":"cloud-sql","status":"publish","type":"post","link":"https:\/\/dev.fotc.com\/pl\/blog\/cloud-sql\/","title":{"rendered":"Cloud SQL, czyli baza danych w chmurze. Czym jest i dlaczego warto z niej korzysta\u0107?"},"content":{"rendered":"\n
Baza danych jest nieod\u0142\u0105cznym elementem ka\u017cdej aplikacji czy systemu informatycznego. Zachowuje nowe informacje oraz zmiany wprowadzone przez u\u017cytkownik\u00f3w, inne urz\u0105dzenia czy procesy (np. na platformach internetu rzeczy).<\/span><\/p>\n\n\n\n\n\n\n\n To dzi\u0119ki (w du\u017cej mierze) bazom danych, po wej\u015bciu na Facebooka czy inny portal spo\u0142eczno\u015bciowy, nie musimy od nowa uzupe\u0142nia\u0107 naszego profilu \u2013 poniewa\u017c <\/span>raz wprowadzone informacje o imieniu, nazwisku, uko\u0144czonej szkole wy\u017cszej, a r\u00f3wnie\u017c nasze posty, zosta\u0142y zapisane w bazie danych i s\u0105 dost\u0119pne za ka\u017cdym razem, gdy logujemy si\u0119 na portal<\/b>.<\/span><\/p>\n\n\n\n Bazy danych umo\u017cliwiaj\u0105 te\u017c m.in.: <\/span><\/p>\n\n\n\n Zacznijmy od tego, czym s\u0105 dane. <\/span>Dane to zbiory liczb i tekst\u00f3w o r\u00f3\u017cnych formach; w informatyce dane to obiekty, na kt\u00f3rych operuj\u0105 programy<\/b>. Przyk\u0142adowo, danymi jest Twoje imi\u0119, nazwisko i numer telefonu, a przetwarzaj\u0105cym \u201cprogramem\u201d jest ksi\u0105\u017cka telefoniczna (klasyczny przyk\u0142ad bazy danych).<\/span><\/p>\n\n\n\n Baza danych to uporz\u0105dkowany system przechowywania informacji<\/b>. Dane s\u0105 usystematyzowane, dzi\u0119ki czemu \u0142atwiej jest nimi zarz\u0105dza\u0107.<\/span><\/p>\n\n\n\n Dane zbierane i przetwarzane w systemach informatycznych czy aplikacjach cz\u0119sto s\u0105 bardziej z\u0142o\u017cone ni\u017c lista nazwisk z przypisanym numerem telefonu. Ich rozmiary mog\u0105 si\u0119ga\u0107 setek terabajt\u00f3w, a do zebrania i obs\u0142ugi rekord\u00f3w powsta\u0142o wiele rodzaj\u00f3w baz danych. <\/span>Obecnie systemy bazodanowe mo\u017cna podzieli\u0107 ze wzgl\u0119du na sposoby organizacji danych:<\/b><\/p>\n\n\n\n Najcz\u0119\u015bciej u\u017cywanymi bazami danych w programowaniu s\u0105 bazy relacyjne.<\/b> Bazy relacyjne posiadaj\u0105 wewn\u0119trzne j\u0119zyki programowania, wykorzystuj\u0105ce SQL (Structured Query Language, strukturalny j\u0119zyk zapyta\u0144) do operowania na danych i tworzenia zaawansowanych funkcji obs\u0142ugi. <\/span>Najpopularniejsze relacyjne bazy danych to MySQL, PostgreSQL i SQL Server.<\/b><\/p>\n\n\n\n Cloud SQL to us\u0142uga <\/span>Google Cloud Platform<\/span><\/a>. To us\u0142uga bazy danych w chmurze, czyli database-as-a-service (DBaaS). <\/span>Dane w bazie danych s\u0105 przechowywane i przetwarzane w chmurze, na infrastrukturze us\u0142ugodawcy chmurowego, a dost\u0119p jest zapewniany z poziomu konsoli Google Cloud Platform lub wiersza polece\u0144<\/b>. To oznacza, \u017ce w\u0142a\u015bciciel aplikacji mo\u017ce korzysta\u0107 z mocy obliczeniowej Google Cloud, nie traci\u0107 czasu na utrzymanie w\u0142asnej infrastruktury oraz \u0142atwo \u0142\u0105czy\u0107 us\u0142ug\u0119 bazy danych w chmurze z innymi us\u0142ugami GCP \u2013 na przyk\u0142ad maszynami wirtualnymi czy us\u0142ug\u0105 zarz\u0105dzania kontenerami Kubernetes.<\/span><\/p>\n\n\n\n Obecnie (listopad 2020)<\/strong> Cloud SQL obs\u0142uguje trzy popularne systemy bazodanowe:<\/b><\/p>\n\n\n\n Cloud SQL jest cz\u0119\u015bci\u0105 infrastruktury chmurowej Google Cloud Platform. GCP to skalowalne i elastyczne rozwi\u0105zanie, o du\u017cej wydajno\u015bci i wysokiej dost\u0119pno\u015bci us\u0142ug.<\/span><\/p>\n\n\n\n Wszystkie maszyny Google Cloud s\u0105 zarz\u0105dzane przez us\u0142ugodawc\u0119. To oznacza, \u017ce, korzystaj\u0105c z chmury, <\/span>nie musisz traci\u0107 czasu na konserwacj\u0119 czy aktualizacj\u0119 sprz\u0119tu<\/b>, a mo\u017cesz korzysta\u0107 z us\u0142ug bezserwerowych, dost\u0119pnych w wielu regionach i lokalizacjach. <\/span><\/p>\n\n\n\n Google Cloud tworzy w\u0142asn\u0105 sie\u0107 po\u0142\u0105cze\u0144 \u015bwiat\u0142owodowych pomi\u0119dzy centrami danych, co mo\u017ce by\u0107 istotne zw\u0142aszcza dla w\u0142a\u015bcicieli aplikacji o globalnym zasi\u0119gu. <\/span>Pr\u0119dko\u015b\u0107 przesy\u0142u przez sie\u0107 Google si\u0119ga nawet 10Tbs<\/b>, co pozwala zwi\u0119kszy\u0107 wydajno\u015b\u0107 przy zachowaniu takiej samej ceny za us\u0142ug\u0119. Ponadto Google Cloud gwarantuje <\/span>dost\u0119pno\u015b\u0107 us\u0142ug na poziomie 99,95-99,99%<\/b>, co stanowi najwy\u017csze SLA spo\u015br\u00f3d popularnych dostawc\u00f3w us\u0142ug chmurowych.<\/span><\/p>\n\n\n\n To oznacza, \u017ce Cloud SQL, jako jedna z us\u0142ug GCP, jest us\u0142ug\u0105 bezserwerow\u0105, skalowaln\u0105, zapewniaj\u0105c\u0105 wysok\u0105 dost\u0119pno\u015b\u0107 i wydajno\u015b\u0107. Oraz elastyczno\u015b\u0107 koszt\u00f3w, poniewa\u017c zu\u017cycie mocy obliczeniowej Google Cloud jest liczone w uj\u0119ciu sekundowym (o czym za chwil\u0119 przeczytasz).<\/span><\/p>\n\n\n\n Wi\u0119cej o GCP przeczytasz w artyku\u0142ach:<\/span> W Cloud SQL mamy mo\u017cliwo\u015b\u0107 szczeg\u00f3\u0142owej konfiguracji instancji dla ka\u017cdego systemu bazodanowego. Konfiguracja us\u0142ugi do wymaga\u0144 aplikacji b\u0119dzie mia\u0142a prze\u0142o\u017cenie na wydajno\u015b\u0107, ale te\u017c na cen\u0119.<\/span><\/p>\n\n\n\n Tworz\u0105c instancj\u0119, mo\u017cemy wybra\u0107:<\/span><\/p>\n\n\n\n Poniewa\u017c Cloud SQL korzysta z mocy obliczeniowej Google Cloud, <\/span>koszt jest uzale\u017cniony od wykorzystanej przestrzeni dyskowej i zu\u017cycia w uj\u0119ciu sekundowym<\/b>. Je\u015bli zapyta\u0144 do bazy danych b\u0119dzie niewiele i zu\u017cycie nie b\u0119dzie wysokie, koszt us\u0142ugi b\u0119dzie ni\u017cszy. W momencie, gdy aplikacja b\u0119dzie obci\u0105\u017cona (np. b\u0119dzie z niej korzysta\u0142o kilkakrotnie wi\u0119cej u\u017cytkownik\u00f3w ni\u017c zwykle), us\u0142uga zeskaluje si\u0119 w g\u00f3r\u0119, a Cloud SQL bez problemu obs\u0142u\u017cy wszystkie zapytania. Wykorzystanie mocy obliczeniowej b\u0119dzie wy\u017csze, a koszt us\u0142ugi proporcjonalny do zu\u017cycia.<\/span><\/p>\n\n\n\n Cena us\u0142ugi jest te\u017c uzale\u017cniona od posiadanego systemu bazodanowego, konfiguracji instancji czy regionu. Jednak w ka\u017cdym przypadku koszt naliczany jest za rzeczywiste zu\u017cycie, a nie za \u201cwynaj\u0119te na za\u015b\u201d zasoby.<\/span><\/p>\n\n\n\n Jak wspomnia\u0142am, us\u0142ugi Google Cloud Platform s\u0105 w pe\u0142ni zarz\u0105dzane \u2013 Cloud SQL r\u00f3wnie\u017c. O stan fizycznej infrastruktury dba zesp\u00f3\u0142 Google, co pozwala u\u017cytkownikowi przenie\u015b\u0107 koszty utrzymania w stref\u0119 rozwoju (w przypadku Arena.pl przej\u015bcie na Google Cloud Platform pozwoli\u0142o zredukowa\u0107 wewn\u0119trzne koszty utrzymania infrastruktury o 20-30% \u2013 <\/span>zobacz case study<\/span><\/a>). <\/span>Automatyzacje us\u0142ug pozwalaj\u0105 nie tylko zmniejszy\u0107 koszty wewn\u0119trzne, ale chroni\u0105 te\u017c przed pope\u0142nieniem b\u0142\u0119du.<\/b><\/p>\n\n\n\n W us\u0142udze Cloud SQL mo\u017cna wprowadzi\u0107 wiele automatyzacji odci\u0105\u017caj\u0105cych zesp\u00f3\u0142 techniczny. Zautomatyzowa\u0107 mo\u017cna mi\u0119dzy innymi:<\/span><\/p>\n\n\n\n Ju\u017c na etapie konfiguracji instancji, GCP daje mo\u017cliwo\u015b\u0107 wskazania okna czasowego, w kt\u00f3rym b\u0119dzie wykonywana automatyczna kopia zapasowa<\/b>. Drug\u0105 zalecan\u0105 opcj\u0105 jest odzyskiwanie danych z dok\u0142adno\u015bci\u0105 do u\u0142amka sekundy dzi\u0119ki dziennikom log\u00f3w binarnych. Kopi\u0119 zapasow\u0105 mo\u017cna przechowa\u0107 w innym regionie ni\u017c znajduje si\u0119 instancja. Koszt przechowywania kopii zapasowej jest naliczany za gigabajt danych w skali miesi\u0105ca; wysoko\u015b\u0107 jest uzale\u017cniona od systemu bazodanowego, regionu i konfiguracji instancji.<\/span><\/p>\n\n\n\n Us\u0142uga Cloud SQL jest zgodna ze <\/span>standardami bezpiecze\u0144stwa SSAE 16, ISO 27001, PCI DSS i HIPAA<\/b>. Dane s\u0105 szyfrowane w spoczynku (encryption at rest) i podczas przesy\u0142ania (encryption in transit). Cloud SQL obs\u0142uguje \u0142\u0105czno\u015b\u0107 z Virtual Private Cloud, a ka\u017cda instancja posiada zapor\u0119 sieciow\u0105 (firewall), kt\u00f3ra pozwala kontrolowa\u0107 dost\u0119p sieci publicznej. Baza danych z sieci\u0105 publiczn\u0105 mo\u017ce po\u0142\u0105czy\u0107 si\u0119 jedynie za po\u015brednictwem SSL lub Cloud SQL Proxy.<\/span><\/p>\n\n\n\n Z Cloud SQL mo\u017cna po\u0142\u0105czy\u0107 aplikacje znajduj\u0105ce si\u0119 poza \u015brodowiskiem Google Cloud. Jednak maj\u0105c ca\u0142\u0105 aplikacj\u0119 lub spor\u0105 jej cz\u0119\u015b\u0107 w chmurze Google, mo\u017cna osi\u0105gn\u0105\u0107 wi\u0119cej, chocia\u017cby dzi\u0119ki po\u0142\u0105czeniom mi\u0119dzy us\u0142ugami.<\/span><\/p>\n\n\n\n Cloud SQL b\u0119dzie bez problemu dzia\u0142a\u0142o z innymi us\u0142ugami z wachlarza Google Cloud Platform, mi\u0119dzy innymi z grupy Compute & Serverless: <\/span>Compute Engine<\/b>, App Engine<\/b><\/a>, Kubernetes Engine<\/b><\/a>, Cloud Run <\/b>czy Cloud Functions<\/b>. Do szybkiego odpytania bazy danych i prowadzenia natychmiastowej analityki mo\u017cna zaanga\u017cowa\u0107 <\/span>BigQuery<\/b><\/a> (us\u0142ug\u0119 hurtowni danych) wraz z rozwi\u0105zaniami takimi jak:<\/span><\/p>\n\n\n\n Wi\u0119cej o \u0142\u0105czeniu Cloud SQL z us\u0142ug\u0105 BigQuery przeczytasz na stronie Google Cloud: <\/span>Cloud SQL federated queries<\/span><\/a>.<\/span><\/p>\n\n\n\n Instancj\u0119 us\u0142ugi Cloud SQL mo\u017cna \u0142atwo stworzy\u0107 i skonfigurowa\u0107 z poziomu konsoli Google Cloud<\/b>. Ca\u0142y proces sk\u0142ada si\u0119 z paru klikni\u0119\u0107 i uzupe\u0142nienia kilku p\u00f3l. O tym, jak proste jest za\u0142o\u017cenie instancji Cloud SQL, dowiesz si\u0119 z tutorialu ni\u017cej.<\/span><\/p>\n\n\n\n Po konfiguracji i uruchomieniu us\u0142ugi mo\u017cesz przenie\u015b\u0107 swoj\u0105 baz\u0119 danych do Cloud SQL. <\/span>Proces jest czytelnie opisany w konsoli, a us\u0142uga posiada wbudowane narz\u0119dzia do przeprowadzenia migracji<\/b>. Przeprowadzenie migracji nie jest uci\u0105\u017cliwe (w wielu przypadkach nie trzeba nawet wprowadza\u0107 zmian w kodzie aplikacji), jedynie sam import bazy danych mo\u017ce zaj\u0105\u0107 troch\u0119 czasu.<\/span><\/p>\n\n\n\n P\u0142atno\u015bci za us\u0142ug\u0119 Cloud SQL s\u0105 uzale\u017cnione od zu\u017cycia oraz zaj\u0119tej przestrzeni. Na cen\u0119 ko\u0144cow\u0105 sk\u0142ada si\u0119 kilka czynnik\u00f3w, m.in.:<\/span><\/p>\n\n\n\n Ko\u0144cowy koszt us\u0142ugi mo\u017cesz obliczy\u0107 w <\/span>kalkulatorze Google Cloud<\/span><\/a> lub zg\u0142osi\u0107 si\u0119 do FOTC po estymacj\u0119. Dodatkowo, <\/span>nawi\u0105zuj\u0105c wsp\u00f3\u0142prac\u0119 z <\/b>oficjalnym Partnerem Google Cloud<\/b><\/a>, zyskasz voucher w wysoko\u015bci 500 $ do wykorzystania w Google Cloud Platform.<\/b><\/p>\n\n\n\n Dowiedz si\u0119 wi\u0119cej o Google Cloud Platform<\/span> Konfiguracja i uruchomienie us\u0142ugi trwa kilka minut<\/strong>, a najwi\u0119cej czasu zajmuje tworzenie instancji przez Google Cloud Platform na podstawie podanych informacji. Czyli – kilka klikni\u0119\u0107 i kr\u00f3tka przerwa na kaw\u0119 lub herbat\u0119!<\/p>\n\n\n\n \u017beby uruchomi\u0107 us\u0142ug\u0119 Cloud SQL, musisz posiada\u0107 aktywne konto w Google Cloud Platform. Tutaj przeczytasz, <\/span>jak utworzy\u0107 i skonfigurowa\u0107 konto w GCP<\/span><\/a>.<\/span><\/p>\n\n\n\n Wejd\u017a do konsoli Google pod adresem <\/span>https:\/\/console.cloud.google.com\/<\/span><\/a>.<\/span><\/p>\n\n\n\nCo to jest baza danych?<\/span><\/h2>\n\n\n\n
Co to jest Cloud SQL?<\/span><\/h2>\n\n\n\n
Baza danych w wydajnej chmurze Google<\/span><\/h3>\n\n\n\n
\n<\/span>Co to jest Google Cloud Platform i w jaki spos\u00f3b wspiera biznes<\/span>
\n<\/span><\/a>20 powod\u00f3w, by wybra\u0107 infrastruktur\u0119 chmurow\u0105 GCP<\/span><\/a><\/p>\n\n\n\nSzerokie mo\u017cliwo\u015bci konfiguracji instancji<\/span><\/h3>\n\n\n\n
Skalowalno\u015b\u0107 us\u0142ugi i elastyczno\u015b\u0107 koszt\u00f3w<\/span><\/h3>\n\n\n\n
Zmniejszenie koszt\u00f3w utrzymania dzi\u0119ki automatyzacjom<\/span><\/h3>\n\n\n\n
Automatyczne tworzenie kopii zapasowej<\/span><\/h4>\n\n\n\n
Bezpiecze\u0144stwo danych w Cloud SQL <\/span><\/h3>\n\n\n\n
\u0141atwa integracja z innymi us\u0142ugami GCP<\/span><\/h3>\n\n\n\n
Szybkie uruchomienie i \u0142atwa migracja<\/span><\/h3>\n\n\n\n
Ile kosztuje Cloud SQL?<\/span><\/h2>\n\n\n\n
\n<\/span><\/a>Skontaktuj si\u0119 z nami, by otrzyma\u0107 voucher 500 $ na GCP<\/span><\/a><\/p>\n\n\n\nJak uruchomi\u0107 i skonfigurowa\u0107 us\u0142ug\u0119 Cloud SQL? Tutorial<\/span><\/h2>\n\n\n\n