Przed dostawcami chmury i usługami zarządzanymi bazy danych musiały być instalowane lokalnie, a instalacja na dużą skalę mogła wiązać się z instalacją dużej ilości infrastruktury i utrzymywaniem kilku administratorów baz danych. Wraz z pojawieniem się dostawców chmury lokalne bazy danych zostały przeniesione do chmury, a wymagania dotyczące lokalnej infrastruktury zostały zmniejszone, jeśli nie zostały wyeliminowane. Dostawcy chmury, tacy jak Amazon Web Services (AWS) i Oracle Cloud Platform, zapewniają usługi zarządzane dla powszechnie używanych relacyjnych systemów baz danych Oracle Database i MySQL, które są odpowiednio 1 i 2 w rankingu DBEngines.com. AWS obsługuje również inne bazy danych, w tym bazę danych PostgreSQL i bazę danych SQL Server. AWS zapewnia wsparcie dla zastrzeżonej bazy danych NoSQL o nazwie DynamoDB.
W tym artykule omówimy bazy danych dostępne u dostawców chmury AWS i Oracle Cloud Platform. Niezależnie od tego, który dostawca usług w chmurze jest używany, niektóre funkcje są wspólne dla wszystkich baz danych dostawców usług w chmurze:usługi zarządzane, skalowalne, niezawodne, bezpieczne i funkcje współpracy. Ten artykuł ma następujące sekcje i podsekcje:
- Bazy danych w Amazon Web Services (AWS)
- RDS
- DynamoDB
- Przesunięcie ku czerwieni
- Elastyczna pamięć podręczna
- Bazy danych na platformie Oracle Cloud
- Baza danych Oracle
- Baza danych MySQL
- Baza danych Oracle NoSQL
- Wniosek
Bazy danych w Amazon Web Services (AWS)
Amazon Web Services (AWS) zapewnia usługi zarządzane w różnych kategoriach:
- Usługa relacyjnej bazy danych (RDS) dla relacyjnych baz danych
- DynamoDB dla baz danych NoSQL
- Przesunięcie ku czerwieni dla analitycznych baz danych opartych na zapytaniach (hurtownia danych)
- ElasticCache dla pamięci podręcznej w pamięci
RDS
Usługa relacyjnej bazy danych to zarządzana usługa hostowana w chmurze dla powszechnie używanych relacyjnych baz danych — bazy danych Oracle, bazy danych MySQL, SQL Server, PostgreSQL, MariaDB i zastrzeżonej Aurora — jak pokazano na rysunku 1.
Rysunek 1: Bazy danych hostowane w RDS
To, co sprawia, że RDS jest lepszą alternatywą dla lokalnych baz danych, to fakt, że RDS zapewnia zmienną pojemność, automatyzację zadań DBA, udostępnianie sprzętu w chmurze oraz automatyczne tworzenie kopii zapasowych i łatanie baz danych. Bazy danych RDS zapewniają zarówno środowiska produkcyjne, jak i programistyczne/testowe. Bazy danych RDS są w pełni zintegrowane z innymi usługami AWS, takimi jak S3, IAM, CloudWatch, Database Migration Service i CloudTrail. S3 służy do przechowywania kopii zapasowych i migawek, które są używane do tworzenia kopii zapasowych i przywracania bazy danych. IAM służy do zarządzania dostępem. CloudWatch służy do monitorowania i rejestrowania. CloudTrail służy do kontroli wywołań API. Database Migration Service służy do migracji baz danych:migracji lokalnej bazy danych do chmury lub migracji między różnymi bazami danych w chmurze. RDS zapewnia opcję wdrożenia bazy danych w wielu strefach dostępności.
Różne edycje komercyjnych baz danych Oracle i SQL Server są dostępne na RDS. Aurora to wysokowydajna baza danych, która jest w pełni kompatybilna z bazami danych MySQL i PostgreSQL i zapewnia następujące korzyści:
- Wysoka przepustowość (5x MySQL i 3x PostgreSQL)
- Automatyczne skalowanie pamięci masowej SSD (do 64 TB), która jest odporna na awarie
- Wiele replik do odczytu dla krótkich opóźnień i automatycznego przełączania awaryjnego
- Odporny na uszkodzenia. Awarie dysków są naprawiane bez utraty usług.
- Wysoka dostępność
- Przyrostowe kopie zapasowe i odzyskiwanie do określonego momentu
- Izolacja sieci (VPC), uprawnienia na poziomie zasobów przy użyciu uprawnień i szyfrowanie w celu zabezpieczenia baz danych
Bazy danych RDS zapewniają punkt końcowy, taki jak baza danych PostgreSQL na RDS pokazana na rysunku 2, dla dostępu z powszechnie używanymi klientami SQL.
Rysunek 2: Baza danych PostgreSQL na RDS
DynamoDB
DynamoDB to elastyczna baza danych NoSQL modelu danych, która zapewnia niskie opóźnienia (jednocyfrowe milisekundy), automatyczne skalowanie pojemności odczytu i zapisu z możliwością uzyskania pojemności zarezerwowanej, globalne indeksy wtórne dla wydajnego zapytania o dowolne pole (atrybut) w tabeli, oraz integracja z CloudWatch do monitorowania i logowania. Jeśli czas odpowiedzi jest stosunkowo wyższy, co oznacza w mikrosekundach, usługa DynamoDB Accelerator (DAX) jest dostępna, aby skrócić czas odpowiedzi w celu uzyskania ostatecznie spójnych danych. Tabela DynamoDB jest pokazana na rysunku 3.
Rysunek 3: Tabela DynamoDB
Przesunięcie ku czerwieni
Redshift to baza danych (hurtownia danych) dla OLAP (przetwarzania analitycznego online) ustrukturyzowanych danych w skali petabajta przechowywanych na dyskach lokalnych przy użyciu standardów SQL z możliwością rozszerzenia zapytań o nieustrukturyzowane dane w skali eksabajta przechowywane w S3 przy użyciu Redshift Spectrum. Z Redshift Spectrum można używać otwartych formatów danych, takich jak CSV, TSV, Parquet, Sequence i RCFile. Redshift oferuje te same funkcje usług zarządzanych, co w przypadku większości usług AWS, takie jak skalowalność, odporność na awarie, automatyczne kopie zapasowe, szyfrowanie, integracja monitorowania i rejestrowania za pomocą CloudWatch oraz izolacja sieci za pomocą VPC. Redshift zapewnia niestandardowe sterowniki ODBC i JDBC jako dodatek do standardowych sterowników PostgreSQL ODBC i JDBC, które umożliwiają dostęp za pomocą powszechnie używanych klientów SQL. Dostęp do klastra Redshift można uzyskać w zastrzeżonym punkcie końcowym, jak pokazano dla klastra Redshift na rysunku 4.
Rysunek 4: Klaster przesunięcia ku czerwieni
Elastyczna pamięć podręczna
Amazon ElasticCache to rozproszona pamięć podręczna w pamięci w chmurze. Dostępne są dwie opcje aparatu klastra dla klastra ElasticCache, ElasticCache dla Redis i Memcached. ElasticCache for Redis to magazyn struktury danych w pamięci, który może być używany jako baza danych, pamięć podręczna i broker komunikatów. Memcache to wysokowydajna pamięć podręczna obiektów pamięci rozproszonej zaprojektowana w celu przyspieszenia dynamicznych aplikacji internetowych. Dostępnych jest kilka opcji typu węzła przeznaczonych dla pamięci podręcznej, jak pokazano na rysunku 5.
Rysunek 5: Typy węzłów pamięci podręcznej
Zarezerwowane węzły są dostępne dla ElasticCache. Zautomatyzowane kopie zapasowe i powiadomienia SNS są dostępne w ElasticCache. Klienci klastra memcached ElasticCache są dostępni dla różnych języków:.NET, Java i PHP. Klient PHP jest dostępny dla kilku wersji PHP, od PHP 5.3 do PHP 7.0. Baza danych ElasticCache jest pokazana na rysunku 6.
Rysunek 6: Elastyczna pamięć podręczna Redis
Bazy danych na platformie Oracle Cloud
Oracle Cloud Services Platform obejmuje Oracle Database Cloud Service for Oracle Database oraz Oracle MySQL Cloud Service for MySQL. Usługi Oracle Cloud są pogrupowane w różne kategorie, podobnie jak usługi AWS. Jednak usługa Oracle Database Cloud Service jest przeznaczona dla baz danych, a Oracle IaaS Cloud Services dla infrastruktury wymaganej do uruchamiania baz danych w chmurze.
Baza danych Oracle
Baza danych Oracle w chmurze jest dostępna w większej liczbie edycji niż samodzielna baza danych, jak pokazano na rysunku 7.
Rysunek 7: Baza danych Oracle w wersjach chmurowych
Aby utworzyć bazę danych Oracle w chmurze, kliknij Utwórz usługę w panelu Oracle Database Cloud Service, jak pokazano na rysunku 8.
Rysunek 8: Tworzenie usługi Oracle Database Cloud
Obsługiwane edycje bazy danych to 11g R2, 12c R1 i 12c R2, jak pokazano na rysunku 9.
Rysunek 9: Edycje bazy danych Oracle
Jeśli używany jest 12c, domyślnie tworzona jest Pluggable Database, dla której należy skonfigurować nazwę PDB (patrz Rysunek 10). W przypadku tworzenia kopii zapasowych i odzyskiwania dostępne opcje to:Dysk, Chmura, Dysk i chmura oraz Brak.
Rysunek 10: Konfigurowanie usługi Oracle Database 12c zawierającej plik PDB
Usługa Oracle Database Cloud jest pokazana na pulpicie nawigacyjnym na rysunku 11.
Rysunek 11: Usługa Oracle Database Cloud
Publiczny adres IP zostanie utworzony dla bazy danych Oracle, jak pokazano na rysunku 12.
Rysunek 12: Publiczny adres IP dla Oracle Database Cloud Service
Zasoby bazy danych obejmują jednostki OCPU, pamięć i pamięć masową, które również wymieniono na rysunku 12. Jednostki OCPU, pamięć i pamięć nie są konfigurowalne indywidualnie, ale należy wybrać kształt obliczeniowy ze wstępnie wybranymi ustawieniami zasobów. Baza danych może być skalowana w górę lub w dół, jak pokazano w opcji Skaluj w górę/w dół na rysunku 13.
Rysunek 13: Skaluj w górę/w dół
Obliczony kształt można wybrać w oknie dialogowym Skaluj w górę/w dół, jak pokazano na rysunku 14.
Rysunek 14: Wybór kształtu obliczeniowego
Metryki monitorowania są dostępne dla usługi bazy danych, jak pokazano na rysunku 15.
Rysunek 15: Wskaźniki monitorowania
Baza danych MySQL
Tworzenie usługi MySQL Database w Oracle Cloud jest podobne do tworzenia usługi Oracle Database. Ustawienia konfiguracji bazy danych MySQL, które należy podać, obejmują nazwę usługi (jak pokazano na rysunku 16), kształt obliczeniowy, pamięć do wykorzystania bazy danych (GB), użytkownika administracyjnego (domyślnie root), hasło administratora, nazwę schematu bazy danych i kopię zapasową i konfiguracja odzyskiwania.
Rysunek 16: Tworzenie usługi bazy danych MySQL
Zostanie utworzony deskryptor Connect i publiczny adres IP dla usługi bazy danych MySQL, jak pokazano na rysunku 17.
Rysunek 17: Usługa MySQL Database w Oracle Cloud
Baza danych Oracle NoSQL
Oracle Cloud Service zapewni również usługę zarządzaną dla bazy danych Oracle NoSQL, której główne cechy obejmują wysoką dostępność, transakcje, równoległe zapytania, przechowywanie danych i zapytania o niskim opóźnieniu oraz obsługę API dla kilku języków klienta, w tym C, Java i Node. Oracle NoSQL w chmurze zapewnia elastyczny model danych z obsługą wartości klucza, tabel i JSON do przechowywania. Usługa Oracle NoSQL Cloud zapewnia dynamiczny schemat aplikacji i jest wysoce wydajna dzięki indeksowaniu opartemu na wartości, które indeksuje proste i złożone typy (mapy i tablice) w celu uzyskania wydajnych wyników zapytań oraz spójnych indeksów, które są współdzielonymi indeksami lokalnymi. Administracja Oracle NoSQL w chmurze jest uproszczona dzięki automatycznemu równoważeniu obciążenia w celu zapewnienia wydajnego dostępu do danych w całym klastrze. Zarządzanie klastrem obejmuje skalowanie i stopniowe uaktualnienia. Usługa Oracle NoSQL Database Cloud Service jest „wkrótce”.
Wniosek
W tym artykule przyjrzeliśmy się usługom baz danych dostarczanym przez AWS i Oracle Cloud Platform. Bazy danych w AWS i Oracle Cloud to usługi zarządzane z funkcjami, które nie są możliwe w stosunkowo małej lokalnej usłudze bazy danych.