Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

Skyeng-en Amazon Redshift erabiltzen dugu, eskalatze paraleloa barne, beraz, Stefan Gromoll-en, dotgo.com-en sortzailea, artikulu hau interesgarria iruditu zaigu intermix.io-rako. Itzulpenaren ondoren, Daniyar Belkhodzhaev datu-ingeniariaren esperientzia apur bat.

Amazon Redshift Arkitektura eskalatzea ahalbidetzen du clusterra nodo berriak gehituz. Eskaera kopuru gailurrari aurre egin beharrak nodoen gehiegizko hornidura ekar dezake. Aldibereko eskalatzeak, nodo berriak gehitzearen aurka, konputazio-potentzia handitzen du behar den moduan.

Amazon Redshift-en eskalatze paraleloak Redshift klusterrei gaitasun gehigarria ematen die eskaera bolumen gorenak kudeatzeko. Eskaerak atzeko planoan dauden kluster "paralelo" berrietara eramanez funtzionatzen du. Eskaerak WLM konfigurazioan eta arauetan oinarrituta bideratzen dira.

Eskalatze paraleloko prezioak doako maila duen kreditu-eredu batean oinarritzen dira. Doako kredituen gainetik, Parallel Scaling Cluster-ek eskaerak prozesatzen dituen denboran oinarritzen da ordainketa.

Egileak eskalatze paraleloa probatu zuen barne-klusterren batean. Post honetan, proben emaitzei buruz hitz egingo du eta nola hasteko aholkuak emango ditu.

Klusterren eskakizunak

Eskalatze paraleloa erabiltzeko, zure Amazon Redshift klusterrak baldintza hauek bete behar ditu:

- Plataforma: EC2-VPC;
- nodo mota: dc2.8xlarge, ds2.8xlarge, dc2.handi edo ds2.xlarge;
- Nodo kopurua: 2tik 32ra (nodo bakarreko klusterrak ez dira onartzen).

Eskaera mota onargarriak

Eskala paraleloa ez da egokia kontsulta mota guztietarako. Lehenengo bertsioan, hiru baldintza betetzen dituzten irakurketa eskaerak soilik prozesatzen ditu:

β€” SELECT kontsultak irakurtzeko soilik dira (mota gehiago aurreikusita dauden arren);
β€” Kontsultak ez du erreferentzia egiten INTERLEAVED ordenatzeko estiloko taula bat;
- Kontsultak ez du Amazon Redshift Spectrum erabiltzen kanpoko taulak erreferentzia egiteko.

Paralel Scaling Clusterera bideratzeko, eskaera ilaran jarri behar da. Gainera, ilaran sartzeko eskubidea duten kontsultak SQA (Kontsulta laburren azelerazioa), ez da eskala paraleloko multzoetan exekutatuko.

Ilarak eta SQA-k konfigurazio egokia behar dute Redshift lan-kargaren kudeaketa (WLM). Lehenik eta behin zure WLM optimizatzea gomendatzen dugu; honek eskalatze paraleloaren beharra murriztuko du. Eta hori garrantzitsua da, eskalatze paraleloa ordu kopuru jakin baterako soilik doakoa baita. AWS-k dio eskalatze paraleloa doakoa izango dela bezeroen % 97rentzat, eta horrek prezioen gaira garamatza.

Eskalatze paraleloaren kostua

AWS-k kreditu-eredu bat eskaintzen du eskalatze paralelorako. Kluster aktibo bakoitza Amazon RedShift Orduko kredituak pilatzen ditu, eguneko doako eskala paraleloko kreditu ordubete arte.

Zure Paralel Scaling Clusters erabilerak jasotako kreditu kopurua gainditzen duenean bakarrik ordaintzen duzu.

Doako tasaren gainetik erabiltzen den kluster paralelo baterako eskatutako segundoko tasan kalkulatzen da kostua. Eskaerek irauten duten bitartean bakarrik kobratuko dizute, Paralelo Eskalatze Cluster bat aktibatzen den bakoitzean minutu bateko gutxieneko kargarekin. Segundoko eskaeraren tasa prezioen printzipio orokorretan oinarrituta kalkulatzen da Amazon RedShift, hau da, zure klusterreko nodo motaren eta nodo kopuruaren araberakoa da.

Eskala paraleloa abiarazten

Eskalatze paraleloa abiarazten da WLM ilara bakoitzeko. Joan AWS Redshift kontsolara eta hautatu Lan-kargaren kudeaketa ezkerreko nabigazio-menuan. Hautatu zure klusterraren WLM parametro-taldea goitibeherako menutik.

Ilara bakoitzaren ondoan "Aldiberetasun-eskala modua" izeneko zutabe berri bat ikusiko duzu. Lehenetsia "Desgaituta" da. Sakatu "Editatu" eta ilara bakoitzaren ezarpenak alda ditzakezu.

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

konfigurazioa

Eskalatze paraleloak eskaera egokiak dedikatu berrietara bidaltzen ditu. Kluster berriek kluster nagusiaren tamaina bera dute (nodo mota eta kopurua).

Eskalatze paralelorako erabiltzen den kluster-kopuru lehenetsia bat (1) da, guztira hamar (10) kluster konfiguratzeko aukerarekin.
Eskalatze paralelorako kluster kopuru osoa max_concurrency_scaling_clusters parametroak ezar dezake. Parametro honen balioa handitzeak kluster erredundante gehigarriak eskaintzen ditu.

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

jarraipenaren

Hainbat grafiko gehigarri daude eskuragarri AWS Redshift kontsolan. Konfiguratutako Gehienezko Concurrency Scaling Clusters diagramak max_concurrency_scaling_clusters-en balioa erakusten du denboran zehar.

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

Eskalatze-kluster aktiboen kopurua erabiltzailearen interfazean bistaratzen da "Aldiberetasun-eskalatze-jarduera" atalean:

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

Kontsultak fitxan, zutabe bat dago kontsulta kluster nagusian edo eskalatze-kluster paraleloan exekutatu den adierazten duena:

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

Kontsulta jakin bat cluster nagusian edo eskalatze kluster paralelo baten bidez exekutatu den kontuan hartu gabe, stl_query.concurrency_scaling_status-en gordetzen da.

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

1 balio batek kontsulta eskala paraleloko klusterrean exekutatu dela adierazten du, eta beste balio batzuek lehen mailako klusterean exekutatu dela adierazten dute.

Adibidea:

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

Aldiberekotasuna eskalatzeko informazioa beste taula eta ikuspegi batzuetan ere gordetzen da, hala nola SVCS_CONCURRENCY_SCALING_USAGE. Horrez gain, eskalatze paraleloari buruzko informazioa gordetzen duten katalogo-taula batzuk daude.

Findings

Egileek 18/30/00an, gutxi gorabehera, 29.03.2019/3/20an 30:00:29.03.2019 GMT-ko ilara baterako eskalatze paraleloa hasi zuten egileek. Max_concurrency_scaling_clusters parametroa XNUMXra aldatu zuten XNUMX/XNUMX/XNUMXko XNUMX:XNUMX:XNUMXetan gutxi gorabehera.

Eskaera-ilara bat simulatzeko, ilara honen zirrikitu kopurua 15etik 5era murriztu dugu.

Jarraian, intermix.io aginte-taula grafiko bat dago, zirrikitu kopurua murriztu ondoren exekutatzen eta ilaran dauden eskaera kopurua erakusten duena.

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

Ilaran eskaeren itxaronaldia handitu dela ikusten dugu, gehienezko denbora 5 minututik gorakoa izanik.

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

Hona hemen denbora horretan gertatutakoari buruz AWS kontsolaren informazio garrantzitsua:

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

Redshift-ek hiru (3) eskalatze-kluster paralelo abiarazi zituen konfiguratutako moduan. Badirudi kluster hauek gutxi erabilita zeudela, nahiz eta gure klusterreko eskaera asko ilaran egon.

Erabilera grafikoa eskalatzeko jarduera grafikoarekin erlazionatzen da:

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

Ordu batzuk igaro ondoren, egileek ilara egiaztatu zuten eta 6 eskaera eskalatze paraleloan exekutatzen ari zirela zirudien. Erabiltzaile interfazearen bidez bi eskaera ere ausaz probatu ditugu. Ez dugu egiaztatu balio hauek nola erabili hainbat kluster paralelo aldi berean aktibo daudenean.

Amazon Redshift Parallel Scaling Gida eta Proben Emaitzak

Findings

Eskalatze paraleloak eskaerek ilaran igarotzen duten denbora murrizten du karga gorenetan.

Oinarrizko probaren emaitzen arabera, karga-eskaeren egoera partzialki hobetu dela ikusi da. Hala ere, eskalatze paraleloak bakarrik ez zituen aldibereko arazo guztiak konpondu.

Eskala paraleloa erabil dezaketen kontsulta-moten murrizketen ondorioz gertatzen da. Esate baterako, egileek taula asko dituzte ordenatzeko gako tartekatuekin, eta gure lan-karga gehiena idaztea da.

Eskalatze paraleloa WLM konfiguratzeko irtenbide unibertsala ez den arren, funtzio hau erabiltzea erraza eta erraza da.

Hori dela eta, egileak zure WLM ilaretarako erabiltzea gomendatzen du. Hasi kluster paralelo batekin eta kontrolatu karga gailurra kontsolaren bidez, kluster berriak guztiz erabiltzen ari diren zehazteko.

AWS-k kontsulta mota eta taula gehigarrietarako laguntza gehitzen duen heinean, eskalatze paraleloa pixkanaka gero eta eraginkorragoa izango da.

Daniyar Belkhodzhaev, Skyeng Data Engineer-en iruzkina

Skyeng-en ere berehala ohartu ginen eskalatze paraleloaren aukera sortzen ari dela.
Funtzionalitatea oso erakargarria da, batez ere kontuan hartuta AWS-k kalkulatzen duela erabiltzaile gehienek ez dutela gehigarririk ordaindu beharko.

Gertatu zen apirilaren erdialdean Redshift klusterrerako ezohiko eskaerak izan genituela. Tarte horretan, sarritan Concurrency Scalingra jotzen genuen; batzuetan kluster gehigarri batek eguneko 24 orduz lan egiten zuen gelditu gabe.

Horrek ahalbidetu zuen, ilarekin arazoa guztiz konpontzea ez bada, egoera onargarria izatea behintzat.

Gure behaketak intermix.io-ko mutilen inpresioekin bat datoz neurri handi batean.

Gainera, ohartu ginen ilaran eskaerak zain zeuden arren, eskaera guztiak ez zirela berehala kluster paralelora bidaltzen. Antza denez, kluster paraleloak oraindik denbora behar duelako gertatzen da. Ondorioz, epe laburreko karga gailurretan oraindik ilara txikiak izaten ditugu, eta dagozkien alarmek aktibatzeko denbora dute.

Apirilean karga anormalak kendu ondoren, AWSk espero zuen bezala, noizbehinkako erabilera moduan sartu ginen - doako arauaren barruan.
Zure eskalatze kostu paraleloen jarraipena egin dezakezu AWS Cost Explorer-en. Zerbitzua - Redshift, Erabilera mota - CS hautatu behar duzu, adibidez USW2-CS:dc2.large.

Prezioei buruz gehiago irakur dezakezu errusieraz hemen.

Iturria: www.habr.com

Gehitu iruzkin berria