Før Cloud-udbydere og administrerede tjenester skulle databaser installeres lokalt, og en storstilet installation kunne indebære installation af en masse infrastruktur og bevarelse af flere DBA'er. Med fremkomsten af Cloud-udbydere er lokale databaser migreret til Cloud, og lokale infrastrukturkrav er blevet reduceret, hvis ikke elimineret. Cloud-udbydere som Amazon Web Services (AWS) og Oracle Cloud Platform leverer administrerede tjenester til almindeligt anvendte relationsdatabasesystemer Oracle Database og MySQL-database, som er rangeret henholdsvis 1 og 2 af DBEngines.com. AWS understøtter også andre databaser, herunder PostgreSQL-database og SQL Server-database. AWS understøtter en proprietær NoSQL-database kaldet DynamoDB.
I denne artikel vil vi diskutere de tilgængelige databaser på AWS- og Oracle Cloud Platform-skyudbyderne. Uanset hvilken Cloud-udbyder der bruges, er nogle funktioner fælles for alle Cloud-udbyderdatabaser:administreret service, skalerbar, pålidelig, sikker og samarbejdsfunktioner. Denne artikel har følgende sektioner og underafsnit:
- Databaser på Amazon Web Services (AWS)
- RDS
- DynamoDB
- Rødskift
- ElasticCache
- Databaser på Oracle Cloud Platform
- Oracle-database
- MySQL-database
- Oracle NoSQL-database
- Konklusion
Databaser om Amazon Web Services (AWS)
Amazon Web Services (AWS) leverer administrerede tjenester i forskellige kategorier:
- Relational Database Service (RDS) til relationsdatabaser
- DynamoDB til NoSQL-databaser
- Rødforskydning til analytiske forespørgselsbaserede databaser (data warehouse)
- ElasticCache til cache i hukommelsen
RDS
Relationsdatabasetjenesten er en cloud-hostet administreret tjeneste til de almindeligt anvendte relationsdatabaser – Oracle-database, MySQL-database, SQL Server, PostgreSQL, MariaDB og den proprietære Aurora – som vist i figur 1.
Figur 1: Databaser hostet på RDS
Det, der gør RDS til et bedre alternativ til lokale databaser, er, at RDS leverer variabel kapacitet, automatisering af DBA-opgaverne, hardware klargjort i skyen og automatiske backup- og patching af databaser. RDS-databaser leverer både produktions- og udviklings-/testmiljøer. RDS-databaser er fuldt integreret med de andre AWS-tjenester, såsom S3, IAM, CloudWatch, Database Migration Service og CloudTrail. S3 bruges til opbevaring af sikkerhedskopier og snapshots, som bruges til at sikkerhedskopiere og gendanne en database. IAM er til adgangsstyring. CloudWatch er til overvågning og logning. CloudTrail er til revision af API-kald. Database Migration Service er til migrering af databaser:migrering af en lokal database til skyen eller migrering mellem forskellige databaser i skyen. RDS giver mulighed for at implementere en database på flere tilgængelighedszoner.
De forskellige udgaver af de kommercielle databaser Oracle og SQL Server er tilgængelige på RDS. Aurora er en højtydende database, der er fuldt ud kompatibel med MySQL- og PostgreSQL-databaser og giver følgende fordele:
- Høj gennemløb (5x MySQL og 3x PostgreSQL)
- Automatisk skalering af SSD-lager (op til 64 TB), der er fejltolerant
- Flere læste replikaer til lav forsinkelse og automatisk fejlmelding
- Fejltolerant. Diskfejl repareres uden tab af service.
- Høj tilgængelighed
- Inkrementelle sikkerhedskopier og gendannelse på tidspunkter
- Netværksisolering (VPC), tilladelser på ressourceniveau ved hjælp af IAM og kryptering for at gøre databaserne sikre
RDS-databaser giver et slutpunkt, såsom for PostgreSQL-database på RDS vist i figur 2, til adgang med almindeligt anvendte SQL-klienter.
Figur 2: PostgreSQL-database på RDS
DynamoDB
DynamoDB er en fleksibel datamodel NoSQL-database, der giver lav latency (enkeltcifret millisekund), automatisk skalering af læse- og skrivekapacitet med bestemmelse om at få reserveret kapacitet, globale sekundære indekser til effektiv forespørgsel over ethvert felt (attribut) i en tabel, og integration med CloudWatch til overvågning og logning. Hvis responstiden er relativt højere, hvilket indebærer i mikrosekunder, er DynamoDB Accelerator (DAX)-tjenesten tilgængelig for at reducere responstiden for til sidst konsistente data. En DynamoDB-tabel er vist i figur 3.
Figur 3: DynamoDB-tabel
Rødskift
Redshift er en database (data warehouse) til OLAP (online analytisk behandling) af petabyte-skala strukturerede data lagret på lokale diske ved hjælp af SQL-standarder med mulighed for at udvide forespørgsel til exabyte skala ustrukturerede data lagret i S3 ved hjælp af Redshift Spectrum. Åbne dataformater såsom CSV, TSV, Parket, Sequence og RCFile kan bruges med Redshift Spectrum. Redshift tilbyder de samme administrerede servicefunktioner som for de fleste AWS-tjenester såsom skalerbarhed, fejltolerance, automatiserede sikkerhedskopier, kryptering, integration til overvågning og logning med CloudWatch og netværksisolering med VPC. Redshift leverer brugerdefinerede ODBC- og JDBC-drivere ud over standard PostgreSQL ODBC- og JDBC-drivere til adgang ved hjælp af almindeligt anvendte SQL-klienter. En rødforskydningsklynge kan tilgås ved et klargjort slutpunkt, vist for en rødforskydningsklynge i figur 4.
Figur 4: Rødforskydningsklynge
ElasticCache
Amazon ElasticCache er en distribueret cache i hukommelsen i skyen. To klyngemotorindstillinger er tilgængelige for en ElasticCache-klynge, ElasticCache for Redis og Memcached. ElasticCache for Redis er et datastrukturlager i hukommelsen, som kan bruges som en database, cache og meddelelsesmægler. Memcache er en højtydende, distribueret hukommelsesobjektcache designet til at gøre dynamiske webapplikationer hurtigere. Adskillige nodetypeindstillinger designet til en cache er tilgængelige, som vist i figur 5.
Figur 5: Cache nodetyper
Reserverede noder er tilgængelige for en ElasticCache. Automatiserede sikkerhedskopier og SNS-meddelelser er tilgængelige med ElasticCache. ElasticCache memcached klyngeklienter er tilgængelige for forskellige sprog:.NET, Java og PHP. PHP-klienten er tilgængelig for flere PHP-versioner lige fra PHP 5.3 til PHP 7.0. En ElasticCache-database er vist i figur 6.
Figur 6: Redis ElasticCache
Databaser på Oracle Cloud Platform
Oracle Cloud Services Platform inkluderer Oracle Database Cloud Service til Oracle Database og Oracle MySQL Cloud Service til MySQL-databasen. Oracle Cloud Services er grupperet i forskellige kategorier ligesom AWS-tjenesterne er. Oracle Database Cloud Service er dog til de databaser, Oracle IaaS Cloud Services er til den infrastruktur, der kræves for at køre databaserne i skyen.
Oracle-database
Oracle Database on the Cloud er tilgængelig i flere udgaver end en selvstændig database, som vist i figur 7.
Figur 7: Oracle Database on Cloud Editions
For at oprette Oracle Database on the Cloud skal du klikke på Create Service i Oracle Database Cloud Service-dashboardet, som vist i figur 8.
Figur 8: Oprettelse af en Oracle Database Cloud Service
Understøttede databaseudgaver er 11g R2, 12c R1 og 12c R2, som vist i figur 9.
Figur 9: Oracle Database-udgaver
Hvis 12c bruges, oprettes der som standard en pluggbar database, for hvilken der skal konfigureres et PDB-navn (se figur 10). Til sikkerhedskopiering og gendannelse er de tilgængelige valgmuligheder:Disk, Cloud, Disk &Cloud og Ingen.
Figur 10: Konfiguration af en Oracle Database 12c-tjeneste inklusive en PDB
En Oracle Database Cloud-tjeneste er vist i dashboardet i figur 11.
Figur 11: Oracle Database Cloud Service
En offentlig IP bliver oprettet til Oracle Database, som vist i figur 12.
Figur 12: Offentlig IP til Oracle Database Cloud Service
Databaseressourcerne inkluderer OCPU'er, hukommelse og lager, som også er angivet i figur 12. OCPU'er, hukommelse og lager kan ikke konfigureres individuelt, men en beregningsform med forudvalgte indstillinger for ressourcerne skal vælges. En database kan skaleres op eller ned, som vist med indstillingen Skaler op/ned i figur 13.
Figur 13: Skaler op/ned
En beregningsform kan vælges i dialogboksen Skaler op/ned, som vist i figur 14.
Figur 14: Valg af en beregningsform
Overvågningsmetrikker er tilgængelige for en databasetjeneste, som vist i figur 15.
Figur 15: Overvågningsmålinger
MySQL-database
Oprettelse af en MySQL-databasetjeneste på Oracle Cloud svarer til at oprette en Oracle-databasetjeneste. MySQL-databasekonfigurationsindstillinger, der skal angives, omfatter et tjenestenavn (som vist i figur 16), en beregningsform, brugbart databaselager (GB), administrationsbruger (root som standard), administrationsadgangskode, databaseskemanavn og sikkerhedskopiering og gendannelseskonfiguration.
Figur 16: Oprettelse af en MySQL-databasetjeneste
En forbindelsesbeskrivelse og en offentlig IP for en MySQL-databasetjeneste bliver oprettet, som vist i figur 17.
Figur 17: MySQL-databasetjeneste i Oracle Cloud
Oracle NoSQL-database
Oracle Cloud Service skal også levere en administreret service til Oracle NoSQL-databasen, hvis hovedfunktioner omfatter høj tilgængelighed, transaktioner, parallelle forespørgsler, datalagring og forespørgsel med lav latens samt API-understøttelse af flere klientsprog, herunder C, Java og Node. Oracle NoSQL on the Cloud giver en fleksibel datamodel med understøttelse af Key-Value, Tables og JSON til lagring. Oracle NoSQL Cloud-tjenesten leverer dynamiske applikationsskemaer og er yderst effektive ved brug af værdibaseret indeksering, som indekserer simple og komplekse typer (Maps og Arrays) for effektive forespørgselsresultater og konsistente indekser, som er delte lokale indekser. Administration af Oracle NoSQL på skyen forenkles ved hjælp af automatiseret belastningsbalancering for effektiv dataadgang på tværs af en klynge. Klyngestyring omfatter skalering og rullende opgraderinger. Oracle NoSQL Database Cloud Service "kommer snart."
Konklusion
I denne artikel undersøgte vi databasetjenesterne leveret af AWS og Oracle Cloud Platform. Databaserne på AWS og Oracle Cloud er administrerede tjenester med funktioner, der ikke er mulige i en relativt lille lokal databasetjeneste.