Innan molnleverantörer och hanterade tjänster måste databaser installeras lokalt och en storskalig installation kan innebära att man installerar mycket infrastruktur och behåller flera DBA:er. Med tillkomsten av molnleverantörer har lokala databaser migrerat till molnet och kraven på lokala infrastrukturer har minskat om inte eliminerats. Molnleverantörer som Amazon Web Services (AWS) och Oracle Cloud Platform tillhandahåller hanterade tjänster för vanliga relationsdatabassystem Oracle Database och MySQL-databas, som är rankade 1 respektive 2 av DBEngines.com. AWS stöder även andra databaser, inklusive PostgreSQL-databas och SQL Server-databas. AWS tillhandahåller stöd för en egen NoSQL-databas som heter DynamoDB.
I den här artikeln kommer vi att diskutera databaserna som är tillgängliga på molnleverantörerna AWS och Oracle Cloud Platform. Oavsett vilken molnleverantör som används är vissa funktioner gemensamma för alla molnleverantörsdatabaser:hanterade tjänster, skalbara, pålitliga, säkra och samarbetsfunktioner. Den här artikeln har följande avsnitt och underavsnitt:
- Databaser på Amazon Web Services (AWS)
- RDS
- DynamoDB
- Rödförskjutning
- ElasticCache
- Databaser på Oracle Cloud Platform
- Oracle Database
- MySQL-databas
- Oracle NoSQL-databas
- Slutsats
Databaser på Amazon Web Services (AWS)
Amazon Web Services (AWS) tillhandahåller hanterade tjänster i olika kategorier:
- Relational Database Service (RDS) för relationsdatabaser
- DynamoDB för NoSQL-databaser
- Rödförskjutning för analytiska frågebaserade databaser (datalager)
- ElasticCache för cache i minnet
RDS
Relationsdatabastjänsten är en molnbaserad hanterad tjänst för de vanligast använda relationsdatabaserna – Oracle-databas, MySQL-databas, SQL Server, PostgreSQL, MariaDB och den proprietära Aurora – som visas i figur 1.
Figur 1: Databaser som finns på RDS
Det som gör RDS till ett bättre alternativ till lokala databaser är att RDS tillhandahåller variabel kapacitet, automatisering av DBA-uppgifterna, hårdvara som tillhandahålls på molnet och automatisk säkerhetskopiering och patchning av databaser. RDS-databaser tillhandahåller både produktions- och utvecklings-/testmiljöer. RDS-databaser är helt integrerade med de andra AWS-tjänsterna, såsom S3, IAM, CloudWatch, Database Migration Service och CloudTrail. S3 används för lagring av säkerhetskopior och ögonblicksbilder, som används för att säkerhetskopiera och återställa en databas. IAM är för åtkomsthantering. CloudWatch är till för övervakning och loggning. CloudTrail är till för granskning av API-anrop. Database Migration Service är till för att migrera databaser:migrera en lokal databas till molnet eller migrera mellan olika databaser i molnet. RDS ger möjlighet att distribuera en databas över flera tillgänglighetszoner.
De olika utgåvorna av de kommersiella databaserna Oracle och SQL Server finns tillgängliga på RDS. Aurora är en högpresterande databas som är helt kompatibel med MySQL- och PostgreSQL-databaser och ger följande fördelar:
- Hög genomströmning (5x MySQL och 3x PostgreSQL)
- Automatisk skalning av SSD-lagring (upp till 64 TB) som är feltålig
- Flera läsrepliker för låg latens och automatisk felövergång
- Feltålig. Diskfel repareras utan att tjänsten går förlorad.
- Hög tillgänglighet
- Inkrementella säkerhetskopior och punkt-i-tid återställning
- Nätverksisolering (VPC), behörigheter på resursnivå med IAM och kryptering för att göra databaserna säkra
RDS-databaser tillhandahåller en slutpunkt, till exempel för PostgreSQL-databas på RDS som visas i figur 2, för åtkomst med vanliga SQL-klienter.
Figur 2: PostgreSQL-databas på RDS
DynamoDB
DynamoDB är en flexibel datamodell NoSQL-databas som ger låg latens (ensiffrig millisekund), automatisk skalning av läs- och skrivkapacitet med möjligheten att få reserverad kapacitet, globala sekundära index för effektiv sökning över alla fält (attribut) i en tabell, och integration med CloudWatch för övervakning och loggning. Om svarstiden är relativt högre, vilket innebär i mikrosekunder, är tjänsten DynamoDB Accelerator (DAX) tillgänglig för att minska svarstiden för så småningom konsekventa data. En DynamoDB-tabell visas i figur 3.
Figur 3: DynamoDB-tabell
Rödskiftning
Redshift är en databas (data warehouse) för OLAP (online analytical processing) av petabyte-skala strukturerad data lagrad på lokala diskar med hjälp av SQL-standarder med möjlighet att utöka förfrågning till exabyte skala ostrukturerad data lagrad i S3 med Redshift Spectrum. Öppna dataformat som CSV, TSV, Parkett, Sequence och RCFile kan användas med Redshift Spectrum. Redshift erbjuder samma hanterade tjänstefunktioner som för de flesta AWS-tjänster som skalbarhet, feltolerans, automatiserade säkerhetskopieringar, kryptering, integration för övervakning och loggning med CloudWatch och nätverksisolering med VPC. Redshift tillhandahåller anpassade ODBC- och JDBC-drivrutiner utöver vanliga PostgreSQL ODBC- och JDBC-drivrutiner för åtkomst med vanliga SQL-klienter. Ett rödförskjutningskluster kan nås vid en tillhandahållen slutpunkt, som visas för ett rödförskjutningskluster i figur 4.
Figur 4: Redshift Cluster
ElasticCache
Amazon ElasticCache är en distribuerad in-memory cache i molnet. Två klustermotoralternativ är tillgängliga för ett ElasticCache-kluster, ElasticCache för Redis och Memcached. ElasticCache för Redis är ett datastrukturlager i minnet som kan användas som en databas, cache och meddelandeförmedlare. Memcache är en högpresterande, distribuerad minnesobjektcache utformad för att göra dynamiska webbapplikationer snabbare. Flera nodtypsalternativ designade för en cache är tillgängliga, som visas i figur 5.
Figur 5: Cache nodtyper
Reserverade noder är tillgängliga för en ElasticCache. Automatiserade säkerhetskopieringar och SNS-aviseringar är tillgängliga med ElasticCache. ElasticCache memcachade klusterklienter är tillgängliga för olika språk:.NET, Java och PHP. PHP-klienten är tillgänglig för flera PHP-versioner från PHP 5.3 till PHP 7.0. En ElasticCache-databas visas i figur 6.
Figur 6: Redis ElasticCache
Databaser på Oracle Cloud Platform
Oracle Cloud Services Platform inkluderar Oracle Database Cloud Service för Oracle Database och Oracle MySQL Cloud Service för MySQL-databasen. Oracles molntjänster är grupperade i olika kategorier precis som AWS-tjänsterna. Oracle Database Cloud Service är dock för de databaser som Oracle IaaS Cloud Services är till för den infrastruktur som krävs för att köra databaserna i molnet.
Oracle Database
Oracle Database on the Cloud finns i fler upplagor än en fristående databas, som visas i figur 7.
Figur 7: Oracle Database on Cloud Editions
För att skapa Oracle Database on the Cloud, klicka på Create Service i Oracle Database Cloud Service-instrumentpanelen, som visas i figur 8.
Figur 8: Skapa en Oracle Database Cloud Service
Databasutgåvor som stöds är 11g R2, 12c R1 och 12c R2, som visas i figur 9.
Figur 9: Oracle Database-utgåvor
Om 12c används skapas en pluggbar databas som standard, för vilken ett PDB-namn måste konfigureras (se figur 10). För säkerhetskopiering och återställning finns tillgängliga alternativ:Disk, Moln, Disk och moln och Ingen.
Figur 10: Konfigurera en Oracle Database 12c-tjänst inklusive en PDB
En Oracle Database Cloud-tjänst visas i instrumentpanelen i figur 11.
Figur 11: Oracle Database Cloud Service
En offentlig IP skapas för Oracle Database, som visas i figur 12.
Figur 12: Offentlig IP för Oracle Database Cloud Service
Databasresurserna inkluderar OCPU:erna, minnet och Storage, som också listas i figur 12. OCPU:erna, minnet och lagringen är inte individuellt konfigurerbara men en beräkningsform med förvalda inställningar för resurserna måste väljas. En databas kan skalas upp eller ned, som visas av alternativet Skala upp/ned i figur 13.
Figur 13: Skala upp/ned
En beräkningsform kan väljas i dialogrutan Skala upp/ned, som visas i figur 14.
Figur 14: Välja en beräkningsform
Övervakningsmått är tillgängliga för en databastjänst, som visas i figur 15.
Figur 15: Övervakningsstatistik
MySQL-databas
Att skapa en MySQL-databastjänst på Oracle Cloud liknar att skapa en Oracle Database-tjänst. MySQL-databaskonfigurationsinställningar som måste tillhandahållas inkluderar ett tjänstnamn (som visas i figur 16), en beräkningsform, användbar databaslagring (GB), administrationsanvändare (root som standard), administrationslösenord, databasschemanamn och säkerhetskopiering och återställningskonfiguration.
Figur 16: Skapa en MySQL-databastjänst
En anslutningsbeskrivning och en publik IP för en MySQL-databastjänst skapas, som visas i figur 17.
Figur 17: MySQL-databastjänst i Oracle Cloud
Oracle NoSQL-databas
Oracle Cloud Service ska också tillhandahålla en hanterad tjänst för Oracle NoSQL-databasen, vars huvudfunktioner inkluderar hög tillgänglighet, transaktioner, parallella frågor, datalagring och fråga med låg latens samt API-stöd för flera klientspråk inklusive C, Java och Node. Oracle NoSQL on the Cloud tillhandahåller en flexibel datamodell med stöd för Key-Value, Tables och JSON för lagring. Oracle NoSQL Cloud-tjänsten tillhandahåller dynamiska applikationsscheman och är högpresterande med värdebaserad indexering, som indexerar enkla och komplexa typer (kartor och arrayer) för effektiva frågeresultat, och konsekventa index, som är delade lokala index. Administration av Oracle NoSQL på molnet förenklas med hjälp av automatisk lastbalansering för effektiv dataåtkomst över ett kluster. Klusterhantering inkluderar skalning och rullande uppgraderingar. Oracle NoSQL Database Cloud Service "kommer snart."
Slutsats
I den här artikeln utforskade vi databastjänsterna som tillhandahålls av AWS och Oracle Cloud Platform. Databaserna på AWS och Oracle Cloud är hanterade tjänster med funktioner som inte är genomförbara i en relativt småskalig lokal databastjänst.