sql >> Database >  >> RDS >> Oracle

Databaseservices op AWS en Oracle Cloud Platform

Voordat cloudproviders en managed services databases lokaal werden geïnstalleerd, moest een grootschalige installatie gepaard gaan met het installeren van veel infrastructuur en het bijhouden van meerdere DBA's. Met de komst van cloudproviders zijn lokale databases naar de cloud gemigreerd en zijn lokale infrastructuurvereisten verminderd of zelfs geëlimineerd. Cloudproviders zoals Amazon Web Services (AWS) en Oracle Cloud Platform bieden beheerde services voor veelgebruikte relationele databasesystemen Oracle Database en MySQL-database, die door DBEngines.com respectievelijk op nummer 1 en 2 staan. AWS ondersteunt ook andere databases, waaronder PostgreSQL-database en SQL Server-database. AWS biedt ondersteuning voor een eigen NoSQL-database genaamd DynamoDB.

In dit artikel bespreken we de databases die beschikbaar zijn op de cloudproviders van AWS en Oracle Cloud Platform. Ongeacht welke cloudprovider wordt gebruikt, sommige functies zijn gemeenschappelijk voor alle databases van cloudproviders:beheerde service, schaalbare, betrouwbare, veilige en samenwerkingsfuncties. Dit artikel heeft de volgende secties en subsecties:

  • Databases op Amazon Web Services (AWS)
    • RDS
    • DynamoDB
    • Roodverschuiving
    • ElasticCache
  • Databases op Oracle Cloud Platform
    • Oracle-database
    • MySQL-database
    • Oracle NoSQL-database
  • Conclusie

Databases op Amazon Web Services (AWS)

Amazon Web Services (AWS) biedt beheerde services in verschillende categorieën:

  • Relationele Database Service (RDS) voor relationele databases
  • DynamoDB voor NoSQL-databases
  • Roodverschuiving voor analytische, op query's gebaseerde databases (datawarehouse)
  • ElasticCache voor cache in het geheugen

RDS

De relationele databaseservice is een door de cloud gehoste beheerde service voor de veelgebruikte relationele databases - Oracle-database, MySQL-database, SQL Server, PostgreSQL, MariaDB en de eigen Aurora - zoals weergegeven in afbeelding 1.


Figuur 1: Databases gehost op de RDS

Wat RDS een beter alternatief maakt voor lokale databases, is dat RDS variabele capaciteit, automatisering van de DBA-taken, hardwarevoorziening in de cloud en automatische databaseback-ups en patching biedt. RDS-databases bieden zowel productie- als ontwikkel-/testomgevingen. RDS-databases zijn volledig geïntegreerd met de andere AWS-services, zoals S3, IAM, CloudWatch, Database Migration Service en CloudTrail. S3 wordt gebruikt voor de opslag van back-ups en snapshots, die worden gebruikt bij het maken van back-ups en het herstellen van een database. IAM is voor toegangsbeheer. CloudWatch is voor monitoring en logging. CloudTrail is voor het controleren van API-aanroepen. Database Migration Service is voor het migreren van databases:het migreren van een lokale database naar de Cloud of het migreren tussen verschillende databases in de Cloud. RDS biedt de mogelijkheid om een ​​database te implementeren op meerdere beschikbaarheidszones.

De verschillende edities van de commerciële databases Oracle en SQL Server zijn beschikbaar op RDS. Aurora is een krachtige database die volledig compatibel is met MySQL- en PostgreSQL-databases en de volgende voordelen biedt:

  • Hoge doorvoer (5x MySQL en 3x PostgreSQL)
  • SSD-opslag automatisch schalen (tot 64 TB) die fouttolerant is
  • Replica's met meerdere leesbewerkingen voor lage latentie en automatische failover
  • Fouttolerant. Schijfstoringen worden gerepareerd zonder verlies van service.
  • Hoge beschikbaarheid
  • Incrementele back-ups en herstel op een bepaald tijdstip
  • Netwerkisolatie (VPC), machtigingen op resourceniveau met IAM en codering om de databases te beveiligen

RDS-databases bieden een eindpunt, zoals voor PostgreSQL-database op RDS, weergegeven in afbeelding 2, voor toegang met veelgebruikte SQL-clients.


Figuur 2: PostgreSQL-database op RDS

DynamoDB

DynamoDB is een flexibele NoSQL-database met gegevensmodel die een lage latentie (eencijferige milliseconde), automatische schaling van lees- en schrijfcapaciteit biedt met de voorziening om gereserveerde capaciteit te krijgen, wereldwijde secundaire indexen voor efficiënte query's over elk veld (kenmerk) in een tabel, en integratie met CloudWatch voor monitoring en logging. Als de responstijd relatief hoger is, wat in microseconden inhoudt, is de DynamoDB Accelerator (DAX)-service beschikbaar om de responstijd voor uiteindelijk consistente gegevens te verkorten. Een DynamoDB-tabel wordt getoond in figuur 3.


Figuur 3: DynamoDB-tabel

Roodverschuiving

Redshift is een database (datawarehouse) voor OLAP (online analytische verwerking) van gestructureerde gegevens op petabyteschaal die zijn opgeslagen op lokale schijven met behulp van SQL-standaarden met de mogelijkheid om query's uit te breiden naar ongestructureerde gegevens op exabyteschaal die zijn opgeslagen in S3 met behulp van Redshift Spectrum. Open data-indelingen zoals CSV, TSV, Parquet, Sequence en RCFile kunnen worden gebruikt met Redshift Spectrum. Redshift biedt dezelfde beheerde servicefuncties als voor de meeste AWS-services, zoals schaalbaarheid, fouttolerantie, geautomatiseerde back-ups, codering, integratie voor monitoring en logging met CloudWatch en netwerkisolatie met VPC. Redshift biedt aangepaste ODBC- en JDBC-stuurprogramma's naast de standaard PostgreSQL ODBC- en JDBC-stuurprogramma's voor toegang met behulp van veelgebruikte SQL-clients. Een Redshift-cluster is toegankelijk op een ingericht eindpunt, weergegeven voor een Redshift-cluster in Afbeelding 4.


Figuur 4: Roodverschuiving Cluster

ElasticCache

Amazon ElasticCache is een gedistribueerde in-memory cache in de cloud. Er zijn twee cluster-engine-opties beschikbaar voor een ElasticCache-cluster, ElasticCache voor Redis en Memcached. ElasticCache voor Redis is een gegevensstructuuropslag in het geheugen die kan worden gebruikt als database, cache en berichtenmakelaar. Memcache is een krachtige, gedistribueerde geheugenobjectcache die is ontworpen om dynamische webtoepassingen sneller te maken. Er zijn verschillende knooppunttype-opties ontworpen voor een cache beschikbaar, zoals weergegeven in Afbeelding 5.


Figuur 5: Typen cacheknooppunten

Gereserveerde nodes zijn beschikbaar voor een ElasticCache. Geautomatiseerde back-ups en SNS-meldingen zijn beschikbaar met ElasticCache. ElasticCache memcached cluster-clients zijn beschikbaar voor verschillende talen:.NET, Java en PHP. De PHP-client is beschikbaar voor verschillende PHP-versies, variërend van PHP 5.3 tot PHP 7.0. Een ElasticCache-database wordt getoond in figuur 6.


Figuur 6: Redis ElasticCache

Databases op Oracle Cloud Platform

Oracle Cloud Services Platform omvat de Oracle Database Cloud Service voor Oracle Database en de Oracle MySQL Cloud Service voor MySQL-database. De Oracle Cloud Services zijn gegroepeerd in verschillende categorieën, net als de AWS-services. De Oracle Database Cloud Service is echter voor de databases, de Oracle IaaS Cloud Services zijn voor de infrastructuur die nodig is om de databases in de cloud te laten draaien.

Oracle-database

Oracle Database on the Cloud is beschikbaar in meer edities dan een standalone database, zoals weergegeven in Afbeelding 7.


Figuur 7: Oracle Database op Cloud-edities

Om Oracle Database on the Cloud aan te maken, klikt u op Create Service in het Oracle Database Cloud Service-dashboard, zoals weergegeven in Afbeelding 8.


Figuur 8: Een Oracle Database Cloud Service maken

Ondersteunde database-edities zijn 11g R2, 12c R1 en 12c R2, zoals weergegeven in Afbeelding 9.


Figuur 9: Oracle Database-edities

Als 12c wordt gebruikt, wordt standaard een Pluggable Database aangemaakt, waarvoor een PDB-naam moet worden geconfigureerd (zie Afbeelding 10). Voor back-up en herstel zijn de volgende opties beschikbaar:Schijf, Cloud, Schijf &Cloud en Geen.


Figuur 10: Configureren van een Oracle Database 12c Service inclusief een PDB

Een Oracle Database Cloud-service wordt weergegeven in het dashboard in Afbeelding 11.


Figuur 11: Oracle Database Cloud Service

Er wordt een openbaar IP-adres gemaakt voor Oracle Database, zoals weergegeven in afbeelding 12.


Figuur 12: Openbare IP voor Oracle Database Cloud Service

De databasebronnen omvatten de OCPU's, het geheugen en de opslag, die ook worden vermeld in Afbeelding 12. De OCPU's, het geheugen en de opslag zijn niet afzonderlijk configureerbaar, maar er moet een rekenvorm met vooraf geselecteerde instellingen voor de bronnen worden geselecteerd. Een database kan omhoog of omlaag worden geschaald, zoals weergegeven door de optie Omhoog/omlaag schalen in Afbeelding 13.


Figuur 13: Omhoog/omlaag schalen

Een rekenvorm kan worden geselecteerd in het dialoogvenster Omhoog/omlaag schalen, zoals weergegeven in Afbeelding 14.


Figuur 14: Een rekenvorm selecteren

Er zijn monitoringstatistieken beschikbaar voor een databaseservice, zoals weergegeven in Afbeelding 15.


Figuur 15: Bewakingsstatistieken

MySQL-database

Het maken van een MySQL Database-service op Oracle Cloud is vergelijkbaar met het maken van een Oracle Database-service. MySQL-databaseconfiguratie-instellingen die moeten worden opgegeven, omvatten een servicenaam (zoals weergegeven in afbeelding 16), een rekenvorm, bruikbare databaseopslag (GB), beheerdersgebruiker (standaard root), beheerderswachtwoord, databaseschemanaam en back-up en herstelconfiguratie.


Figuur 16: Een MySQL-databaseservice maken

Er worden een Connect-descriptor en een openbaar IP-adres voor een MySQL-databaseservice gemaakt, zoals weergegeven in afbeelding 17.


Figuur 17: MySQL Database-service in Oracle Cloud

Oracle NoSQL-database

Oracle Cloud Service biedt ook een beheerde service voor de Oracle NoSQL-database, met als belangrijkste kenmerken hoge beschikbaarheid, transacties, parallelle zoekopdrachten, gegevensopslag en -query's met lage latentie, en API-ondersteuning voor verschillende clienttalen, waaronder C, Java en Node. Oracle NoSQL on the Cloud biedt een flexibel datamodel met ondersteuning voor Key-Value, Tables en JSON voor opslag. Oracle NoSQL Cloud-service biedt dynamische applicatieschema's en is zeer performant met behulp van op waarde gebaseerde indexering, die eenvoudige en complexe typen (Maps en Arrays) indexeert voor efficiënte queryresultaten, en consistente indexen, die gedeelde lokale indexen zijn. Het beheer van Oracle NoSQL in de cloud is vereenvoudigd met behulp van geautomatiseerde load balancing voor efficiënte gegevenstoegang in een cluster. Clusterbeheer omvat schaling en doorlopende upgrades. Oracle NoSQL Database Cloud Service is "binnenkort beschikbaar".

Conclusie

In dit artikel hebben we de databaseservices van AWS en Oracle Cloud Platform onderzocht. De databases op AWS en Oracle Cloud zijn beheerde services met functies die niet haalbaar zijn in een relatief kleinschalige lokale databaseservice.


  1. Een lijst met alle talen in SQL Server (T-SQL) krijgen

  2. Levenshtein:MySQL + PHP

  3. Kolom met hogere kardinaliteit eerst in een index bij een bereik?

  4. Hoe batch ophalen met Fluent NHibernate implementeren bij het werken met Oracle?