Spis treści[Ukryć][Pokazać]
Bazy danych są kluczowym elementem każdego programu, niezależnie od tego, czy jest hostowany lokalnie, czy w chmurze.
Ze względu na rosnące zapotrzebowanie na hosting w chmurze, coraz częściej wymagane są oparte na chmurze relacyjne bazy danych, które zapewniają spójność, niezawodność i dostępność, a także obsługują wdrożenia online.
Przykładem bazy danych w chmurze jest Google Cloud Spanner.
Przyjrzyjmy się szczegółowo Google Cloud Spanner w tym artykule, w tym wszystkie jego możliwości, przypadki użycia, cenę i inne szczegóły.
Co to jest Klucz Google Cloud?
Relacyjnym DBMS, który przyjmuje metodologię NewSQL, jest Google Cloud Spanner. Zapewnia zgodność z ACID (atomowość, spójność, izolacja i trwałość) i jest szczególnie odpowiedni do przetwarzania transakcji online OLTP.
Nadal obsługuje architekturę skalowalną i jest bardzo skalowalny, podobnie jak systemy NoSQL. Dzięki skalowalnej konstrukcji można łatwo dodać więcej węzłów do istniejącego klastra w celu dystrybucji przechowywania danych i obliczeń oraz uzyskania skalowalności.
Zalety NoSQL i NewSQL są zapewniane przez Google Cloud Spanner.
TrueTime, globalnie zsynchronizowany zegar Google, jest podstawą spójności Google Spanner. Firma Google stworzyła TrueTime, szeroko rozpowszechniony i wysoce dostępny zegar globalny, który jest dostępny dla wszystkich usług i serwerów Google w chmurze.
TrueTime zapewnia, że nowo utworzony znacznik czasu, powiedzmy T1, będzie zawsze wyższy niż jakikolwiek znacznik czasu T2, o ile T2 został wygenerowany przed wygenerowaniem T1. W rezultacie True-time jest w stanie tworzyć znaczniki czasu, które rosną monotonicznie, co oznacza, że będą stale rosnąć w całej domenie.
Aplikacje mogą następnie wykorzystać to do nadania każdej ze swoich transakcji charakterystycznych, rosnących znaczników czasu. Każda część danych publikowana w Google Cloud Spanner otrzymuje sygnaturę czasową za pomocą TrueTime, a ta sygnatura czasowa jest wiarygodna na całym świecie.
Oznacza to, że każda transakcja przechowywana w Spanner będzie miała przypisany specjalny znacznik czasu, który rejestruje dokładny moment, w którym Spanner przetworzył transakcję.
Za pomocą tych sygnatur czasowych Google Cloud Spanner może oferować niezawodne odczyty z dowolnego miejsca na świecie bez blokowania zapisów.
Ponadto Google Cloud Spanner jest w stanie zapewnić ścisłą kontrolę współbieżności wszystkich swoich transakcji.
Chociaż Google Cloud Spanner mógł wykonać (i/lub zduplikować) wszystkie transakcje w wielu lokalizacjach, dla użytkownika zewnętrznego wydaje się, że wszystkie transakcje następowały kolejno, jedna po drugiej. Innymi słowy, Google Cloud Spanner działa jako pojedyncza baza danych maszyny dla użytkowników zewnętrznych.
Globalny porządek sygnatury czasowej jest dostarczany przez Google Cloud Spanner, którego transakcje mogą używać do kolejnych operacji i zapytań. Użytkownicy musieli wybierać między niską wydajnością + silniejszymi gwarancjami LUB doskonałą wydajnością + słabszymi gwarancjami w poprzednich systemach baz danych.
Jednak Google Cloud Spanner oferuje solidne gwarancje, wysoką integralność transakcji i szybszą wydajność. Deweloperzy powinni po prostu dbać o to, aby każda z ich transakcji była prawidłowa, a ich logika aplikacji była prawidłowa, zamiast martwić się o jakiekolwiek konflikty lub wyścigi między wieloma transakcjami.
Korzyści
- Większość aplikacji można łatwo tworzyć, integrować i testować.
- Można go scharakteryzować jako bazę danych NewSQL, ponieważ obsługuje zarówno NoSQL, jak i SQL, rozwiązując problemy ze skalowalnością i wydajnością konwencjonalnych baz danych SQL.
- Jego precyzja jest dość duża, ponieważ synchronizuje czas za pomocą zegarów atomowych i technologii GPS.
- Obsługiwane są transakcje między tabelami.
- Obejmuje zaawansowane funkcje zarządzania i administracyjne, w tym tworzenie kopii zapasowych, odzyskiwanie, możliwość tworzenia instancji SLA i nie tylko.
- W przypadku wystąpień lokalnych i wieloregionalnych zapewnia dostępność na poziomie 99.999%.
- Poziomo skaluje się płynnie z niewielką przeszkodą. Zaletą skalowalności poziomej jest to, że po dodaniu dodatkowych serwerów wydajność systemu znacznie się poprawia.
- Aby zbudować pojedynczy cykl życia danych, oferuje zapytania dotyczące dużych zbiorów danych w czasie rzeczywistym.
- Na podstawie ilości żądań i rozmiaru danych automatycznie dzieli dane.
- Nie wybiera automatycznie indeksów pomocniczych, mimo że są one obsługiwane.
- Przejrzysta replikacja jest oferowana w wielu konfiguracjach i lokalizacjach geograficznych.
- zapewnia zaawansowane analizy i dane.
- Dane z różnych aplikacji i systemy przechowywania są zsynchronizowane.
- Możliwe są fizyczne zależności między tabelami bazy danych.
- Do ciągłego odzyskiwania danych oferuje Point-In-Time-Recovery (PITR). Dodatkowo możesz pobierać dane z dokładnością do mikrosekund.
- Uwzględniono klucze szyfrowania zarządzane przez klienta (CMEK), integrację IAM, szyfrowanie w warstwie danych i inne środki bezpieczeństwa na poziomie przedsiębiorstwa.
Przypadków użycia
1. Witryny e-commerce na całym świecie
Zamawianie produktów, pobieranie płatności i aktualizacja stanów magazynowych to funkcje systemu transakcyjnego, które definiują e-commerce. W wielu witrynach e-commerce można zobaczyć duże ślady krajowe lub światowe.
Zapewnienie globalnej spójności transakcyjnych baz danych ma kilka zalet, w tym zapewnienie integralności danych i zminimalizowanie potrzeby tworzenia kreatywnych rozwiązań inżynierii oprogramowania w celu rozwiązania problemów ze spójnością danych.
2. Przetwarzanie analiz w czasie rzeczywistym
Liczne najnowocześniejsze możliwości, które ułatwiają przetwarzanie analityczne, są zawarte w Google Cloud Spanner. Te ulepszenia obejmują między innymi lepszą szybkość zapytań, indeksy partycjonowania i ładowanie danych. To sprawia, że ten RDBMS jest doskonałą opcją dla światowego systemu przetwarzania analitycznego, który jest całkowicie oparty na chmurze.
3. Odzyskiwanie po awarii (DR)
DR jest kluczowe, ale bardzo trudne do wprowadzenia w życie, zwłaszcza jeśli stosujesz się do zalecanej praktyki zatrudniania daleko geograficznych lokalizacji DR w celu ochrony przed lokalnymi katastrofami. W rzeczywistości wiele firm IT tworzy kopie zapasowe i ma nadzieję, że nigdy ich nie będą potrzebować.
Dla DR Spanner zapewnia praktyczną przyszłą trasę. Replikacja danych z bazy danych Spanner do odległej lokalizacji przywróci aplikację bez konieczności jej przebudowy przy użyciu danych z taśmy kopii zapasowej.
Utwórz nowe zasoby komputera w innej lokalizacji i połącz je z zapasowym systemem bazy danych Spanner na wypadek, gdyby lokacja główna stała się dostępna. Ze względu na swoją prostotę DR jest teraz dostępny dla znacznie większej liczby działów IT.
4. Minimalizacja ręcznej interwencji przy jednoczesnym zwiększeniu czasu reakcji
Wydajność typowej bazy danych spada, gdy liczba użytkowników osiąga określony poziom progowy. Przywrócenie wydajności zajmuje wiele etapów, w tym ocena pomiarów wydajności i skalowanie bazy danych w razie potrzeby.
Ponieważ serwer ma maksymalny rozmiar, skalowanie w poziomie jest trudne, podczas gdy skalowanie w pionie jest proste. W takich okolicznościach Google Cloud Spanner może być praktycznym wyborem, ponieważ zarządza skalowaniem poziomym przy niewielkiej interwencji.
5. Baza danych gier
Do śledzenia wydajności graczy i danych w grach online, zwłaszcza w grach wieloosobowych, potrzebne są złożone struktury baz danych. Biorąc pod uwagę, że często wymaga to shardingu, wiele firm ma trudności z rozwojem i zarządzaniem tą złożonością.
Ponadto, ponieważ bazy danych NoSQL mogą dostosowywać się do zmian w bazowym modelu danych, stanowią doskonałą opcję do gier. Redundancja jest również kluczowym elementem oprogramowania gry.
Ponieważ obsługuje wszystkie te cechy, Google Spanner to odpowiednia opcja dla bazy danych gier. Wierzymy, że demonstrując te przypadki użycia, będziesz w stanie zobaczyć, jak wszechstronny jest Google Cloud Spanner i określić, czy dobrze pasuje do Twojej firmy.
6. Usługi finansowe
Ograniczenia regulacyjne i oczekiwania klientów w tym sektorze to doskonała burza. Agencje regulacyjne, banki i firmy fintech muszą stale i doskonale się komunikować.
Ponadto setki milionów transakcji muszą być bezbłędnie obsługiwane przez programy takie jak bramki płatnicze i bankowości online jednocześnie przechodząc przez złożone procedury zwalczania nadużyć finansowych i rozliczeń.
Aby obsłużyć ten ciągły napływ danych w przeszłości, historyczne bazy danych musiały zostać skrupulatnie przeprojektowane i zastosowano niestabilne rozwiązania niestandardowe. Burza jest łatwo obsługiwana przez Google Cloud Spanner.
Ograniczenie
Niemniej jednak ma pewne ograniczenia, w tym brak możliwości obsługi widoków bazy danych, brak szczegółowych uprawnień lub ustawień ról oraz konieczność kilku obejść, aby w pełni wykorzystać wszystkie węzły. Dokonując wyboru, pamiętaj również o tych ograniczeniach.
Cennik
Koszt Spannera jest prosty i przewidywalny. Płacisz tylko za miejsce, z którego korzystają tabele bazy danych i indeksy pomocnicze (nieudostępniane wstępnie), miejsce na kopie zapasowe, ilość ruchu wychodzącego z sieci oraz moc obliczeniową instancji (mierzoną w liczbie węzłów lub jednostek przetwarzania).
Wnioski
Naprawdę zdumiewający produkt, Google Spanner jest doskonałym przykładem ogromnej sprawności technologicznej Google.
Jeśli Google będzie nadal wypuszczać takie przełomowe produkty, wkrótce prześcignie inne usługi chmurowe i zajmie pozycję konkurenta.
Dodaj komentarz