Amazon Redshift Parallelle Skaalgids en toetsresultate

Amazon Redshift Parallelle Skaalgids en toetsresultate

By Skyeng gebruik ons ​​Amazon Redshift, insluitend parallelle skaal, so ons het hierdie artikel deur Stefan Gromoll, stigter van dotgo.com, vir intermix.io interessant gevind. Na die vertaling, 'n bietjie van ons ervaring van die data-ingenieur Daniyar Belkhodzhaev.

Amazon Redshift-argitektuur laat skaal toe deur nuwe nodusse by die groepering te voeg. Die behoefte om 'n piekaantal versoeke te hanteer, kan lei tot oorvoorsiening van nodusse. Gelyktydige skaal, in teenstelling met die toevoeging van nuwe nodusse, verhoog rekenaarkrag soos nodig.

Amazon Redshift parallelle skaal gee Redshift-klusters bykomende kapasiteit om piekversoekvolumes te hanteer. Dit werk deur versoeke na nuwe "parallelle" groepe in die agtergrond te skuif. Versoeke word gestuur op grond van WLM-konfigurasie en -reëls.

Pryse vir parallelle skaal is gebaseer op 'n kredietmodel met 'n gratis vlak. Bo gratis krediete is betaling gebaseer op die tyd wat die Parallel Scaling Cluster versoeke verwerk.

Die skrywer het parallelle skalering op een van die interne trosse getoets. In hierdie pos sal hy oor die toetsresultate praat en wenke gee oor hoe om te begin.

Klustervereistes

Om parallelle skaal te gebruik, moet jou Amazon Redshift-kluster aan die volgende vereistes voldoen:

- platform: EC2-VPC;
- nodus tipe: dc2.8xlarge, ds2.8xlarge, dc2.large of ds2.xlarge;
- aantal nodusse: van 2 tot 32 (enkelnodusklusters word nie ondersteun nie).

Aanvaarbare versoektipes

Parallelle skaal is nie geskik vir alle soorte navrae nie. In die eerste weergawe verwerk dit slegs leesversoeke wat aan drie voorwaardes voldoen:

— SELECT-navrae is leesalleen (alhoewel meer tipes beplan word);
— die navraag verwys nie na 'n tabel met die VERVANGERS sorteerstyl nie;
- Die navraag gebruik nie Amazon Redshift Spectrum om na eksterne tabelle te verwys nie.

Om na die Parallel Scaling Cluster herlei te word, moet die versoek in 'n tou staan. Daarbenewens, navrae wat in aanmerking kom vir die tou SQA (Kortnavraagversnelling), sal nie op parallelle skaalgroepe loop nie.

Toue en SQA vereis behoorlike konfigurasie Redshift Workload Management (WLM). Ons beveel aan om eers jou WLM te optimaliseer - dit sal die behoefte aan parallelle skaal verminder. En dit is belangrik omdat parallelle skaal slegs vir 'n sekere aantal ure gratis is. AWS beweer dat parallelle skaal gratis sal wees vir 97% van kliënte, wat ons by die kwessie van pryse bring.

Koste van parallelle skalering

AWS bied 'n kredietmodel vir parallelle skaal. Elke aktiewe groepering Amazon rooiverskuiwing Akkumuleer krediete uurliks, tot een uur se gratis parallelle skaalkrediete per dag.

Jy betaal slegs wanneer jou Parallel Scaling Clusters-gebruik die hoeveelheid krediete wat jy ontvang het, oorskry.

Die koste word bereken teen 'n per-sekonde op-aanvraag-koers vir 'n parallelle groepering wat bo die gratis koers gebruik word. Jy word slegs gehef vir die duur van jou versoeke, met 'n minimum heffing van een minuut elke keer as 'n Parallelle Scaling Cluster geaktiveer word. Die per-sekonde op-aanvraag-koers word bereken op grond van algemene prysbeginsels Amazon rooiverskuiwing, dit wil sê, dit hang af van die tipe nodus en die aantal nodusse in jou cluster.

Begin parallelle skaal

Parallelle skaal word vir elke WLM-tou geaktiveer. Gaan na die AWS Redshift-konsole en kies Werkladingsbestuur in die linkernavigasiekieslys. Kies jou groep se WLM-parametergroep uit die volgende aftreklys.

Jy sal 'n nuwe kolom genaamd "Gelyktydige skaalmodus" langs elke tou sien. Die verstek is "Gedeaktiveer". Klik op "Wysig" en jy kan die instellings vir elke tou verander.

Amazon Redshift Parallelle Skaalgids en toetsresultate

opset

Parallelle skaal werk deur toepaslike versoeke aan nuwe toegewyde groepe aan te stuur. Nuwe trosse het dieselfde grootte (tipe en aantal nodusse) as die hoofgroep.

Die verstek aantal trosse wat vir parallelle skaal gebruik word, is een (1), met die vermoë om tot 'n totaal van tien (10) trosse te konfigureer.
Die totale aantal trosse vir parallelle skaal kan gestel word deur die max_concurrency_scaling_clusters parameter. Die verhoging van die waarde van hierdie parameter verskaf bykomende oortollige trosse.

Amazon Redshift Parallelle Skaalgids en toetsresultate

Monitering

Daar is verskeie bykomende grafieke beskikbaar in die AWS Redshift-konsole. Die Max Configured Concurrency scaling Clusters grafiek vertoon die waarde van max_concurrency_scaling_clusters oor tyd.

Amazon Redshift Parallelle Skaalgids en toetsresultate

Die aantal aktiewe skaalklusters word in die gebruikerskoppelvlak in die "Gelyktydige skaalaktiwiteit"-afdeling vertoon:

Amazon Redshift Parallelle Skaalgids en toetsresultate

In die Navrae-oortjie is daar 'n kolom wat aandui of die navraag in die hoofkluster of in die parallelle skaalkluster uitgevoer is:

Amazon Redshift Parallelle Skaalgids en toetsresultate

Ongeag of 'n spesifieke navraag in die hoofkluster of deur 'n parallelle skaalkluster uitgevoer is, word dit in stl_query.concurrency_scaling_status gestoor.

Amazon Redshift Parallelle Skaalgids en toetsresultate

'n Waarde van 1 dui aan dat die navraag in die parallelle skaalgroepering uitgevoer is, terwyl ander waardes aandui dat dit in die primêre groepering uitgevoer is.

Voorbeeld:

Amazon Redshift Parallelle Skaalgids en toetsresultate

Gelyktydige skaalinligting word ook in sommige ander tabelle en aansigte gestoor, soos SVCS_CONCURRENCY_SCALING_USAGE. Daarbenewens is daar 'n aantal katalogustabelle wat inligting oor parallelle skaal stoor.

Bevindinge

Die skrywers het om ongeveer 18:30:00 GMT op 29.03.2019/3/20 begin met parallelle skaal vir een tou in die interne groepering. Verander die max_concurrency_scaling_clusters-parameter na 30 om ongeveer 00:29.03.2019:XNUMX op XNUMX/XNUMX/XNUMX.

Om 'n versoektou te simuleer, het ons die aantal gleuwe vir hierdie tou van 15 tot 5 verminder.

Hieronder is 'n intermix.io-kontroleskermkaart wat die aantal versoeke wys wat loop en in tou staan ​​nadat die aantal gleuwe verminder is.

Amazon Redshift Parallelle Skaalgids en toetsresultate

Ons sien dat die wagtyd vir versoeke in die tou toegeneem het, met die maksimum tyd wat meer as 5 minute is.

Amazon Redshift Parallelle Skaalgids en toetsresultate

Hier is die relevante inligting vanaf die AWS-konsole oor wat gedurende hierdie tyd gebeur het:

Amazon Redshift Parallelle Skaalgids en toetsresultate

Rooiverskuiwing het drie (3) parallelle skaalklusters geloods soos opgestel. Dit blyk dat hierdie groepe onderbenut is, al het baie versoeke in ons groepering in tou gestaan.

Die gebruiksgrafiek korreleer met die skaalaktiwiteitsgrafiek:

Amazon Redshift Parallelle Skaalgids en toetsresultate

Na 'n paar uur het die skrywers die tou nagegaan en dit het gelyk of 6 versoeke teen parallelle skaal loop. Ons het ook lukraak twee versoeke deur die gebruikerskoppelvlak getoets. Ons het nie nagegaan hoe om hierdie waardes te gebruik wanneer verskeie parallelle trosse gelyktydig aktief is nie.

Amazon Redshift Parallelle Skaalgids en toetsresultate

Bevindinge

Parallelle skaal kan die tyd verminder wat versoeke in die tou spandeer tydens spitsladings.

Op grond van die resultate van die basiese toets het dit geblyk dat die situasie met laaiversoeke gedeeltelik verbeter het. Parallelle skaal alleen het egter nie alle gelyktydige probleme opgelos nie.

Dit is as gevolg van beperkings op die tipes navrae wat parallelle skaal kan gebruik. Die skrywers het byvoorbeeld baie tabelle met invlegde sorteersleutels, en die meeste van ons werklading is skryf.

Alhoewel parallelle skaal nie 'n universele oplossing is vir die opstel van WLM nie, is die gebruik van hierdie kenmerk eenvoudig en reguit.

Daarom beveel die skrywer aan om dit vir jou WLM-toue te gebruik. Begin met een parallelle tros en monitor pieklading deur die konsole om te bepaal of die nuwe trosse ten volle benut word.

Soos AWS ondersteuning byvoeg vir bykomende navraagtipes en -tabelle, behoort parallelle skaal geleidelik meer en meer doeltreffend te word.

Kommentaar deur Daniyar Belkhodzhaev, Skyeng Data Engineer

Ons by Skyeng het ook dadelik die opkomende moontlikheid van parallelle skaal opgemerk.
Die funksionaliteit is baie aantreklik, veral as in ag geneem word dat AWS skat dat die meeste gebruikers nie eens ekstra daarvoor hoef te betaal nie.

Dit het so gebeur dat ons middel April 'n ongewone vlaag van versoeke aan die Rooiverskuiwing-kluster gehad het. Gedurende hierdie tydperk het ons dikwels gebruik gemaak van gelyktydige skaal; soms het 'n bykomende groepering 24 uur per dag gewerk sonder om te stop.

Dit het dit moontlik gemaak, indien nie om die probleem met toue heeltemal op te los nie, dan ten minste om die situasie aanvaarbaar te maak.

Ons waarnemings stem grootliks ooreen met die indrukke van die ouens van intermix.io.

Ons het ook opgemerk dat alhoewel daar versoeke in die tou gewag het, nie alle versoeke onmiddellik na die parallelle groepering gestuur is nie. Blykbaar gebeur dit omdat die parallelle groep nog tyd neem om te begin. Gevolglik het ons tydens korttermyn-piekvragte steeds klein toue, en die ooreenstemmende alarms het tyd om te aktiveer.

Nadat ons in April van abnormale vragte ontslae geraak het, het ons, soos AWS verwag het, die af en toe gebruiksmodus betree - binne die gratis norm.
Jy kan jou parallelle skaalkoste in AWS Cost Explorer naspoor. Jy moet Service - Redshift, Gebruikstipe - CS kies, byvoorbeeld USW2-CS:dc2.large.

Jy kan meer lees oor pryse in Russies hier.

Bron: will.com

Voeg 'n opmerking