MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Сравняване на облачните предложения на Galera Cluster:Част втора Google Cloud Platform (GCP)

В последния си блог обсъдихме предложенията, налични в Amazon Web Services (AWS), когато работите с MySQL Galera Cluster. В този блог ще продължим дискусията, като разгледаме по-нататък какви са предложенията за използване на същата технология за клъстериране, но този път на Google Cloud Platform (GCP).

GCP, като алтернатива на AWS, непрекъснато привлича приложения, подходящи за DevOps, като предлага поддръжка за широк спектър от технологии с пълен стек, контейнерни приложения и големи производствени системи за бази данни. Google Cloud е пълноценна, изпитана в битки среда, която захранва собствената си хардуерна инфраструктура в Google за продукти като YouTube и Gmail.

GCP придоби популярност до голяма степен поради непрекъснато нарастващия си списък от възможности. Той предлага поддръжка за платформи като Visual Studio, Android Studio, Eclipse, Powershell и много други. GCP има една от най-големите и напреднали компютърни мрежи и предоставя достъп до множество инструменти, които ви помагат да се съсредоточите върху изграждането на вашето приложение.

Друго нещо, което привлича клиентите да мигрират, импортират или използват Google Cloud, е тяхната силна поддръжка и решения за контейнеризиране. Kubernetes (GKE:Google Kubernetes Engine) е изграден на тяхната платформа.

GCP също наскоро пусна ново решение, наречено Anthos. Този продукт е предназначен да позволи на организациите да управляват работни натоварвания, използвайки същия интерфейс на Google Cloud Platform (GCP) или на място, използвайки GKE On-Prem, и дори в конкурентни облаци като Amazon Web Services (AWS) или Azure.

В допълнение към тези технологии, GCP предлага сложни и мощни, оптимизирани за изчисления типове машини като семейството C2 в GCE, което е изградено върху последно поколение Intel Scalable Processors (Cascade Lake).

GCP продължава да поддържа и отворен код, което е от полза за потребителите, като предоставя добре поддържана и ясна рамка, която улеснява доставянето на краен продукт навреме. Въпреки тази поддръжка на технология с отворен код, GCP не предоставя естествена поддръжка за внедряването или конфигурирането на MySQL Galera Cluster. В този блог ще ви покажем единствената достъпна опция, ако искате да използвате тази технология, внедряване чрез компютърен екземпляр, който трябва да управлявате сами.

Google Compute Engine (GCE)

GCE разполага с усъвършенстван и мощен набор от изчислителни възли, достъпни за вашето потребление. За разлика от AWS, GCE има най-мощния изчислителен възел, наличен на пазара (n1-ultramem-160 със 160 vCPU и 3,75 TB памет). GCE също така съвсем наскоро представи нов тип семейство изчислителни инстанции, наречено машинен тип C2. Изградени на базата на последното поколение мащабируеми процесори Intel (Cascade Lake), типовете машини C2 предлагат до 3,8 GHz непрекъснато турбо на всички ядра и осигуряват пълна прозрачност в архитектурата на основните сървърни платформи; което ви позволява да настроите фино изпълнението. Типовете машини C2 предлагат много по-голяма изчислителна мощност, работят на по-нова платформа и като цяло са по-стабилни за натоварвания с интензивни изчисления от типовете машини с високо CPU N1. Предложенията за семейство C2 са ограничени (към момента на писане) и не са налични във всички региони и зони. C2 също не поддържа регионални постоянни дискове, въпреки че би било чудесна добавка за услуги на база данни с данни за състоянието, която изисква резервиране и висока наличност. Ресурсите на екземпляр C2 са твърде много за възел на Galera, така че вместо това ще се съсредоточим върху изчислителните възли, които са идеални.

GCE също използва KVM като софтуер за технология за виртуализация, докато Amazon използва Xen. Нека да разгледаме изчислителните възли, налични в GCE, които са подходящи за стартиране на Galera заедно с еквивалентността й в AWS EC2. Цените се различават в зависимост от региона, но за тази диаграма ние използваме US-east регион, използвайки тип ценообразуване при поискване за AWS.

Тип машина/екземпляр

Google Compute Engine

AWS EC2

Споделено

f1-micro

G1-малък

Цените започват от $0,006 -  $0,019 на час

t2.nano – t3.2xlarge'

Цената започва от $0,0058 - $0,3328 на час

Стандартно

n1-standard-1 – n1-standard-96

Цените започват от $0,034  - $3,193 на час

m4.large – m4.16xlarge

m5.large – m5d.metal

Цените започват от $0,1 - $5,424  на час

Висока памет/ Оптимизирана памет

n1-highmem-2 – n1-highmem-96

n1-megamem-96

n1-ultramem-40 – n1-ultramem-160

Цените започват от $0,083  - $17,651 на час

r4.large – r4.16xlarge

x1.16xlarge – x1.32xlarge

x1e.xlarge – x1e.32xlarge

Цените започват от $0,133  - $26,688 на час

Високо оптимизирано CPU/Storage

n1-highcpu-2 – n1-highcpu-32

Цените започват от $0,05 - $2,383 на час

h1.2xlarge – h1.16xlarge

i3.large – i3.metal

I3en.large - i3en.metal

d2.xlarge – d2.8xlarge

Цените започват от $0,156 - $10,848  на час

GCE има по-малък брой налични предварително дефинирани типове изчислителни възли, от които да избирате, за разлика от AWS. Що се отнася до вида на възела обаче, той има по-голяма детайлност. Това улеснява настройката и избора на екземпляр, който искате да използвате. Например, можете да добавите диск и да зададете неговия физически размер на блока (4 е по подразбиране) на 16 или можете да зададете режима му за четене/запис или само за четене. Това ви позволява да предложите правилния тип машина или изчислителен екземпляр, готов за управление на вашия възел Galera. Можете също да инстанцирате своите изчислителни възли с помощта на Cloud SDK или като използвате облачни API, за да го автоматизирате или интегрирате във вашата непрекъсната интеграция, доставка или внедряване (CI/CD).

Ценообразуване (изчислителен екземпляр, диск, vCPU, памет и мрежа)

Цената също зависи от региона, където се намира, вида на операционната система или лиценза (RHEL срещу Suse Linux Enterprise), както и от типа на дисковото хранилище, което използвате.

GCP предлага и отстъпки, които ви позволяват да спестите потреблението на ресурси. За Compute Engine предлага различни отстъпки, за да се възползвате.

Отстъпките за продължително използване важат за следните ресурси:

  • VCPU и паметта за персонализирани и предварително дефинирани типове машини с общо предназначение

  • VCPU и паметта за типове машини, оптимизирани за памет

  • VCPU и паметта за оптимизирани за изчисления типове машини

  • VCPU и паметта за възли с единствен наемател

  • 10% първокласна цена за възли с единствен наемател, дори ако vCPU и паметта в тези възли са покрити от отстъпки за ангажирано използване

  • GPU устройства1

Обърнете внимание, че отстъпките за постоянно използване не важат за виртуални машини, създадени с помощта на гъвкава среда на App Engine и поток от данни в облака.

Можете също да използвате отстъпки за обвързана употреба, когато закупите VMS, който е обвързан с договор. Този тип избор е идеален за предвидими натоварвания и нужди от ресурси. Когато закупите договор за ангажирано използване, вие купувате определено количество vCPU, памет, графични процесори и локални SSD дискове на намалена цена в замяна на ангажимент да плащате за тези ресурси за 1 или 3 години. Отстъпката е до 57% за повечето ресурси като типове машини или графични процесори. Отстъпката е до 70% за типове машини, оптимизирани за памет. Веднъж закупен, вие се таксувате ежемесечно за закупените от вас ресурси за срока на избрания от вас срок (независимо дали използвате услугите или не).

Виртуална машина с възможност за изпреварване е екземпляр, който можете да създадете и стартирате на много по-ниска цена от нормалните екземпляри. Compute Engine обаче може да прекрати (изпреварва) тези екземпляри, ако изисква достъп до тези ресурси за други задачи. Преемпируемите екземпляри използват излишен капацитет на Compute Engine, така че тяхната наличност варира в зависимост от употребата.

Ако вашите приложения са устойчиви на грешки и могат да издържат на възможни изпреварвания на екземпляри, тогава изпреварващите екземпляри могат да намалят значително разходите ви за Compute Engine. Например заданията за пакетна обработка могат да се изпълняват на изпреварващи се екземпляри. Ако някои от тези случаи се прекратят по време на обработката, работата се забавя, но не спира напълно. Превантивните екземпляри завършват задачите ви за пакетна обработка, без да поставят допълнително натоварване върху съществуващите ви екземпляри и без да изискват от вас да плащате пълна цена за допълнителни нормални екземпляри.

За Compute Engine размерът на диска, паметта от типа на машината и използването на мрежата се изчисляват в гигабайти (GB), където 1 GB е 230 байта. Тази мерна единица е известна още като гибибайт (GiB). Това означава, че GCP ви предлага да плащате само въз основа на потреблението на ресурс, което сте разпределили.

Сега, ако имате висококачествено приложение за производствена база данни, препоръчително е (и идеално) да прикачите или добавите отделен постоянен диск. След това бихте използвали този диск като обем на базата данни, тъй като той ви предлага надеждна и последователна производителност на диска в GCE. Колкото по-голям е размерът, който настроите, толкова по-високи IOPS ви предлага. Проверете техния списък с постоянни цени на диска, за да определите цената, която ще получите. В допълнение към това, GCE има регионален постоянен диск, който е подходящ в случай, че се нуждаете от по-солидна и устойчива висока достъпност в рамките на клъстера на базата данни. Регионалният постоянен диск добавя повече излишък в случай, че вашият екземпляр прекратява или се срива или се повреди. Той осигурява синхронна репликация на данни между две зони в един регион, което се случва прозрачно в екземпляра на VM. В малко вероятния случай на  повреда на зоната, вашето работно натоварване може да се прехвърли към друг екземпляр на VM в същата или вторична зона. След това можете принудително да прикачите своя регионален постоянен диск към този екземпляр. Времето за принудително закрепване се изчислява за по-малко от една минута.

Ако съхранявате резервни копия като част от вашето решение за възстановяване при бедствия и изисква обем, който е в рамките на целия клъстер, GCP предлага Cloud Filestore, NetApp Cloud Volumes и някои други алтернативни решения за споделяне на файлове. Това са напълно управлявани услуги, които предлагат стандартни и първокласни услуги. Можете да проверите страницата с цените на NetApp тук и цените на Filestore тук.

Шифроване на Galera на GCP

GCP не включва конкретна поддръжка за типа криптиране, налично за Galera. GCP обаче криптира клиентските данни, съхранявани в състояние на покой, по подразбиране, без да се изискват допълнителни действия от вас. GCP също така предлага друга опция за криптиране на вашите данни с помощта на ключове за криптиране, управлявани от клиента (CMEK) с Cloud KMS, както и с предоставени от клиента ключове за криптиране (CSEK). GCP също така използва SSL/TLS криптиране за всички комуникации, прихванати при преместване на данни между вашия сайт и доставчика на облак или между две услуги. Тази защита се постига чрез криптиране на данните преди предаване; удостоверяване на крайните точки; и декриптиране и проверка на данните при пристигането.

Тъй като Galera използва MySQL под капака (Percona, MariaDB или Codership build), можете да се възползвате от приставката за криптиране на ключове за файлове от MariaDB или като използвате плъгините MySQL Keyring. Ето външен блог от Percona, който е добър ресурс за това как можете да приложите това.

Разгръщания с няколко AZ/Multi-Region/Multi-Cloud в клъстер на Galera с GCP

Подобно на AWS, GCP не предлага директна поддръжка за разполагане на клъстер Galera в Multi-AZ/-Region/-Cloud.

Висока наличност, мащабируемост и резервиране на клъстер Galera в GCP

Една от основните причини за използване на клъстер от възли на Galera е високата наличност, резервирането и способността му за мащабиране. Ако обслужвате трафик в световен мащаб, най-добре е да обслужвате трафика си въз основа на региони с вашия архитектурен дизайн, включително гео-разпределение на възлите на вашата база данни. За да се постигне това, разгръщането в няколко AZ и в няколко региона или в няколко облака/много центрове за данни е препоръчително и постижимо. Това предотвратява срива на клъстера или неизправност на клъстера поради липса на кворум.

За да ви помогне повече с вашия дизайн за мащабируемост, GCP също има автоматичен мащабатор, който можете да настроите с група за автоматично мащабиране. Това ще работи, стига да сте създали своя клъстер като групи от управлявани екземпляри. Например, можете да наблюдавате използването на процесора или да разчитате на показателите от Stackdriver, дефинирани във вашата политика за автоматично мащабиране. Това ви позволява да предоставяте и автоматизирате екземпляри, когато се достигне определен праг, или да прекратявате екземпляри, когато се върне в нормалното си състояние.

За внедряване в няколко региона или в няколко облака, Galera има свой собствен параметър, наречен gmcast.segment, за който можете да зададете това при стартиране на сървъра. Този параметър е предназначен да оптимизира комуникацията между възлите на Galera и да минимизира количеството трафик, изпратен между сегментите на мрежата. Това включва препредаване на набор за запис и избор на донор на IST и SST. Този тип настройка ви позволява да разгръщате множество възли в различни региони. Освен това, можете също да разположите вашите възли на Galera на различен облачен доставчик, маршрутизиращ от GCP, AWS, Microsoft Azure или в локално приложение.

Препоръчваме ви да разгледате нашия блог Настройки на множество центрове за данни с помощта на Galera Cluster за MySQL или MariaDB и нулева миграция на мрежа по време на престой с MySQL Galera Cluster с помощта на Relay Node, за да съберете повече информация за това как да внедрите тези типове разгръщания.

Ефективност на клъстерната база данни на Galera в GCP

Тъй като няма налична поддръжка за Galera в GCP, изборът ви зависи от изискванията и дизайна на трафика и нуждите от ресурси на вашето приложение. За заявки с висока консумация на памет, можете да започнете с n1-highmem-2 екземпляр. Инстанциите с високи CPU (семейство n1-highcpu*) могат да бъдат подходящи, ако това е база данни с високи транзакции или подходяща за приложения за игри.

Изборът на правилното хранилище и необходимия IOPS за обема на вашата база данни е задължителен. Като цяло, SSD-базиран постоянен диск е вашият избор тук. Зависи от необходимия обем трафик, може да се наложи да проверите опциите за съхранение на GCP, за да можете да определите правилния размер за вашето приложение.

Препоръчваме ви също да проверите и прочетете нашия блог Как да подобрите производителността на Galera Cluster за MySQL или MariaDB, за да научите повече за оптимизирането на вашия Galera Cluster.

Архивиране на данни от Galera на GCP

Не само, че вашите MySQL Galera данни трябва да бъдат архивирани, вие също трябва да архивирате цялото ниво, което включва вашето приложение за база данни. Това включва регистрационни файлове (логически или двоични), външни файлове, временни файлове, дъмп файлове и т.н. Google препоръчва винаги да създавате моментна снимка на вашите постоянни дискови томове, които се използват от вашите GCE екземпляри. Можете лесно да създавате и планирате моментни снимки. Моментните снимки на GCP се съхраняват в Cloud Storage и можете да изберете желаното от вас местоположение или регион, където ще се намира архивът. Можете също да настроите график за вашите моментни снимки, както и да зададете правила за запазване на моментни снимки.

Можете да използвате и външни услуги като ClusterControl, които ви предоставят решения за наблюдение и архивиране. Вижте това, ако искате да научите повече.

Наблюдение на базата данни на клъстер на Galera в GCP

GCP не предлага наблюдение на база данни при използване на GCE. Мониторингът на вашето състояние на инстанция може да се извърши чрез Stackdriver. За базата данни обаче ще трябва да вземете външен инструмент за наблюдение, който има усъвършенствани, много детайлни показатели на базата данни. Има много възможности за избор, от които можете да избирате, като например PMM от Percona, DataDog, Idera, VividCortex или нашия собствен ClusterControl (Мониторингът е БЕЗПЛАТЕН с ClusterControl Community.)

Galera Cluster Database Security Security on GCP

Както беше обсъдено в предишния ни блог, можете да приложите същия подход за защита на вашата база данни в публичния облак. В GCP можете да настроите частна подмрежа, правила за защитна стена, за да разрешават само портовете, необходими за стартиране на Galera (по-специално портове 3306, 4444, 4567, 4568). Можете да използвате NAT Gateway или да настроите bastion хост за достъп до вашите частни възли на база данни. Когато тези възли са капсулирани, те не могат да бъдат достъпни отвън на GCP помещенията. Можете да прочетете предишния ни блог Разгръщане на защитена мултиоблачна MySQL репликация в AWS и GCP с VPN за това как настроихме това.

В допълнение към това, можете да защитите вашите данни в транзит, като използвате TLS/SSL връзка или като криптирате данните си, когато са в състояние на покой. Ако използвате ClusterControl, внедряването на защитени данни при пренос е лесно и лесно. Можете да разгледате нашия блог SSL Key Management и криптиране на MySQL данни в транзит, ако искате да изпробвате. За данните в покой можете да проследите дискусията, която посочих по-рано в секцията за шифроване на този блог.

Отстраняване на неизправности в клъстера на Galera 

GCP предлага регистриране на Stackdriver, което можете да използвате, за да ви помогне с изискванията за наблюдение, наблюдение и уведомяване. Страхотното при Stackdriver Logging е, че предлага интеграция с AWS. С него можете да хванете събитията избирателно и след това да повдигнете сигнал въз основа на това събитие. Това може да ви държи в течение по определени проблеми, които могат да възникнат, и да ви помогне по време на отстраняване на неизправности. GCP също има регистрационни файлове за облачен одит, които ви предоставят по-проследима информация от средата на GCP, от администраторска дейност, достъп до данни и системни събития.

Ако използвате ClusterControl, отидете на Регистри -> Системни регистри и ще можете да преглеждате заснетите регистрационни файлове за грешки, взети от самия възел на MySQL Galera. Освен това, ClusterControl осигурява наблюдение в реално време, което би усилило вашата система за аларма и уведомяване в случай на спешност или ако вашият възел(и) на MySQL Galera е капут.

Заключение

Google Cloud Platform предлага голямо разнообразие от ефективни и мощни услуги, които можете да използвате. Наистина има плюсове и минуси за всяка от публичните облачни платформи, но GCP доказва, че AWS няма заключване на облака.

Интересно е, че големите компании като Vimeo преминават към GCP, идващи от локално ниво и постигнаха някои интересни резултати в своя технологичен стек. Bloomberg също е доволен от GCP и използва Percona XtraDB Cluster (вариант на Galera). Кажете ни какво мислите за използването на GCP за настройките на MySQL Galera в коментарите по-долу.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Най-добри практики за мащабиране на бази данни:част втора

  2. 4 функции за връщане на годината от дата в MariaDB

  3. Функция SUM() в MariaDB

  4. Как да архивирате вашата Moodle MariaDB база данни

  5. Задайте набора от символи и съпоставяне на колона в MariaDB