{"id":61434,"date":"2024-01-02T14:45:00","date_gmt":"2024-01-02T13:45:00","guid":{"rendered":"https:\/\/fotc.com\/?p=61434"},"modified":"2024-02-12T07:03:09","modified_gmt":"2024-02-12T06:03:09","slug":"cloud-sql-czyli-baza-danych-w-chmurze","status":"publish","type":"post","link":"https:\/\/fotc.com\/pl\/blog\/cloud-sql-czyli-baza-danych-w-chmurze\/","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 chmury Google<\/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:<\/strong><\/span><\/p>\n\n\n\n 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 w chmurze 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\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 chmurze Google<\/span><\/h3>\n\n\n\n
Szerokie 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