Преди облачните доставчици и управлявани услуги, базите данни трябваше да бъдат инсталирани локално и широкомащабната инсталация може да включва инсталиране на много инфраструктура и поддържане на няколко DBA. С появата на облачни доставчици, локалните бази данни мигрират към облака и изискванията за локална инфраструктура са намалени, ако не и елиминирани. Доставчици на облак като Amazon Web Services (AWS) и Oracle Cloud Platform предоставят управлявани услуги за често използвани системи за релационни бази данни Oracle Database и MySQL база данни, които са класирани съответно на 1 и 2 от DBEngines.com. AWS поддържа и други бази данни, включително база данни PostgreSQL и база данни на SQL Server. AWS осигурява поддръжка за собствена база данни NoSQL, наречена DynamoDB.
В тази статия ще обсъдим базите данни, налични в облачните доставчици на AWS и Oracle Cloud Platform. Независимо кой доставчик на облак се използва, някои функции са общи за всички бази данни на доставчици на облак:управлявани услуги, мащабируеми, надеждни, сигурни и функции за сътрудничество. Тази статия има следните раздели и подраздели:
- Бази данни на Amazon Web Services (AWS)
- RDS
- DynamoDB
- Червено изместване
- ElasticCache
- Бази данни на Oracle Cloud Platform
- База данни на Oracle
- База данни MySQL
- База данни Oracle NoSQL
- Заключение
Бази данни на Amazon Web Services (AWS)
Amazon Web Services (AWS) предоставя управлявани услуги в различни категории:
- Услуга за релационни бази данни (RDS) за релационни бази данни
- DynamoDB за NoSQL бази данни
- Червено изместване за базирани на аналитични заявки бази данни (склад за данни)
- ElasticCache за кеш в паметта
RDS
Услугата за релационна база данни е хоствана в облак управлявана услуга за често използваните релационни бази данни – база данни Oracle, база данни MySQL, SQL Server, PostgreSQL, MariaDB и собствената Aurora – както е показано на фигура 1.
Фигура 1: Бази данни, хоствани на RDS
Това, което прави RDS по-добра алтернатива на локалните бази данни, е, че RDS осигурява променлив капацитет, автоматизация на задачите на DBA, хардуер, осигурен в облака, и автоматично архивиране и корекция на база данни. RDS бази данни осигуряват както производствена, така и среда за разработка/тест. RDS бази данни са напълно интегрирани с другите услуги на AWS, като S3, IAM, CloudWatch, Database Migration Service и CloudTrail. S3 се използва за съхранение на архиви и моментни снимки, които се използват при архивиране и възстановяване на база данни. IAM е за управление на достъпа. CloudWatch е за наблюдение и регистриране. CloudTrail е за одитиране на API повиквания. Услугата за мигриране на бази данни е за мигриране на бази данни:мигриране на локална база данни в облака или мигриране между различни бази данни в облака. RDS предоставя опцията за разгръщане на база данни в множество зони за достъпност.
Различните издания на търговските бази данни Oracle и SQL Server са достъпни на RDS. Aurora е високопроизводителна база данни, която е напълно съвместима с MySQL и PostgreSQL бази данни и предоставя следните предимства:
- Висока пропускателна способност (5x MySQL и 3x PostgreSQL)
- Автоматично мащабиращо SSD съхранение (до 64 TB), което е устойчиво на грешки
- Множество реплики за четене за ниска латентност и автоматичен отказ
- Устойчив на грешки. Повредите на диска се поправят без загуба на обслужване.
- Висока наличност
- Постепенно архивиране и възстановяване в момента
- Мрежова изолация (VPC), разрешения на ниво ресурс с помощта на IAM и криптиране, за да се направят базите данни защитени
RDS бази данни предоставят крайна точка, като например за PostgreSQL база данни на RDS, показана на фигура 2, за достъп с често използвани SQL клиенти.
Фигура 2: PostgreSQL база данни на RDS
DynamoDB
DynamoDB е гъвкава NoSQL база данни с модел на данни, която осигурява ниска латентност (едноцифрена милисекунда), автоматично мащабиране на капацитета за четене и запис с възможност за получаване на запазен капацитет, глобални вторични индекси за ефективно запитване върху всяко поле (атрибут) в таблица, и интеграция с CloudWatch за наблюдение и регистриране. Ако времето за реакция е относително по-високо, което предполага микросекунди, услугата DynamoDB Accelerator (DAX) е налична за намаляване на времето за реакция за евентуално последователни данни. Таблица на DynamoDB е показана на Фигура 3.
Фигура 3: DynamoDB таблица
Червено отместване
Redshift е база данни (склад за данни) за OLAP (онлайн аналитична обработка) от петабайтови структурирани данни, съхранявани на локални дискове, използващи SQL стандарти с разпоредба за разширяване на заявките до неструктурирани данни в размер на екзабайта, съхранявани в S3 с помощта на Redshift Spectrum. Отворени формати на данни като CSV, TSV, Parquet, Sequence и RCFile могат да се използват с Redshift Spectrum. Redshift предлага същите функции за управлявани услуги, както за повечето AWS услуги, като мащабируемост, отказоустойчивост, автоматизирано архивиране, криптиране, интеграция за наблюдение и регистриране с CloudWatch и мрежова изолация с VPC. Redshift предоставя персонализирани ODBC и JDBC драйвери в допълнение към стандартните PostgreSQL ODBC и JDBC драйвери за достъп с помощта на често използвани SQL клиенти. Достъп до клъстер Redshift може да бъде осъществен в предоставена крайна точка, показана за клъстер Redshift на фигура 4.
Фигура 4: Клъстер с червено изместване
ElasticCache
Amazon ElasticCache е разпределен кеш в паметта в облака. Предлагат се две опции за клъстерен двигател за клъстер ElasticCache, ElasticCache за Redis и Memcached. ElasticCache за Redis е хранилище за структура на данни в паметта, което може да се използва като база данни, кеш и посредник на съобщения. Memcache е високопроизводителен, разпределен обектен кеш памет, предназначен да направи динамичните уеб приложения по-бързи. Налични са няколко опции за тип възел, проектирани за кеш, както е показано на Фигура 5.
Фигура 5: Типове възли на кеша
Налични са запазени възли за ElasticCache. Автоматизирани архиви и SNS известия са налични с ElasticCache. ElasticCache memcached cluster клиенти са налични за различни езици:.NET, Java и PHP. PHP клиентът е наличен за няколко версии на PHP, вариращи от PHP 5.3 до PHP 7.0. База данни ElasticCache е показана на Фигура 6.
Фигура 6: Redis ElasticCache
Бази данни на Oracle Cloud Platform
Платформата за Oracle Cloud Services включва облачната услуга Oracle Database за Oracle Database и Oracle MySQL Cloud Service за MySQL база данни. Облачните услуги на Oracle са групирани в различни категории точно както услугите на AWS. Въпреки това, Oracle Database Cloud Service е за базите данни, които Oracle IaaS Cloud Services са за инфраструктурата, необходима за стартиране на базите данни в облака.
База данни на Oracle
Oracle Database в облака се предлага в повече издания от самостоятелна база данни, както е показано на фигура 7.
Фигура 7: Oracle Database on Cloud Editions
За да създадете Oracle Database в облака, щракнете върху Създаване на услуга в таблото за управление на Oracle Database Cloud Service, както е показано на фигура 8.
Фигура 8: Създаване на Oracle Database Cloud Service
Поддържаните издания на база данни са 11g R2, 12c R1 и 12c R2, както е показано на фигура 9.
Фигура 9: Издания на Oracle Database
Ако се използва 12c, по подразбиране се създава Pluggable база данни, за която трябва да се конфигурира PDB име (вижте Фигура 10). За архивиране и възстановяване наличните опции са:Диск, Облак, Диск и облак и Няма.
Фигура 10: Конфигуриране на услуга Oracle Database 12c, включително PDB
Облачна услуга на Oracle Database Cloud е показана в таблото за управление на Фигура 11.
Фигура 11: Oracle Database Cloud Service
Създава се публичен IP адрес за Oracle Database, както е показано на Фигура 12.
Фигура 12: Обществен IP адрес за Oracle Database Cloud Service
Ресурсите на базата данни включват OCPU, паметта и Storage, които също са изброени на Фигура 12. OCPU, паметта и съхранението не могат да се конфигурират индивидуално, но трябва да бъде избрана изчислителна форма с предварително избрани настройки за ресурсите. Базата данни може да бъде мащабирана нагоре или надолу, както е показано от опцията Scale Up/Down на Фигура 13.
Фигура 13: Увеличаване/намаляване
Изчислителна форма може да бъде избрана в диалоговия прозорец Scale Up/Down, както е показано на Фигура 14.
Фигура 14: Избиране на изчислителна форма
Показателите за наблюдение са налични за услуга за база данни, както е показано на Фигура 15.
Фигура 15: Мониторинг на показатели
База данни MySQL
Създаването на услуга MySQL Database в Oracle Cloud е подобно на създаването на услуга за база данни на Oracle. Настройките за конфигурация на базата данни MySQL, които трябва да бъдат предоставени, включват име на услуга (както е показано на фигура 16), изчислителна форма, използваемо хранилище на база данни (GB), потребител за администриране (root по подразбиране), административна парола, име на схемата на базата данни и архивиране и Конфигурация за възстановяване.
Фигура 16: Създаване на услуга за база данни MySQL
Създават се дескриптор на Connect и публичен IP за услуга MySQL Database, както е показано на Фигура 17.
Фигура 17: Услуга MySQL Database в Oracle Cloud
База данни Oracle NoSQL
Oracle Cloud Service също така предоставя управлявана услуга за Oracle NoSQL база данни, чиито основни характеристики включват висока наличност, транзакции, паралелни заявки, съхранение и заявки с ниска латентност и поддръжка на API за няколко клиентски езика, включително C, Java и Node. Oracle NoSQL в облака предоставя гъвкав модел на данни с поддръжка за ключ-стойност, таблици и JSON за съхранение. Услугата Oracle NoSQL Cloud предоставя динамична схема на приложението и е с висока производителност, използвайки индексиране, базирано на стойност, което индексира прости и сложни типове (карти и масиви) за ефективни резултати от заявки и последователни индекси, които са споделени локални индекси. Администрирането на Oracle NoSQL в облака е опростено чрез автоматизирано балансиране на натоварването за ефективен достъп до данни в клъстер. Управлението на клъстерите включва мащабиране и непрекъснати надстройки. Облачната услуга на Oracle NoSQL Database е „Скоро“.
Заключение
В тази статия проучихме услугите за бази данни, предоставяни от AWS и Oracle Cloud Platform. Базите данни на AWS и Oracle Cloud са управлявани услуги с функции, които не са осъществими в сравнително малка услуга за локална база данни.