Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

Uzņēmums Skyeng mēs izmantojam Amazon Redshift, tostarp paralēlo mērogoÅ”anu, tāpēc mums Ŕķita interesants Å”is vietnes dotgo.com dibinātāja Stefana Gromolla raksts vietnei intermix.io. Pēc tulkojuma neliela mÅ«su pieredze no datu inženiera Danijara Belhodžajeva.

Amazon Redshift arhitektÅ«ra ļauj mērogot, pievienojot klasterim jaunus mezglus. NepiecieÅ”amÄ«ba tikt galā ar maksimālo pieprasÄ«jumu skaitu var izraisÄ«t mezglu pārmērÄ«gu nodroÅ”ināŔanu. VienlaicÄ«bas mērogoÅ”ana, nevis jaunu mezglu pievienoÅ”ana, pēc vajadzÄ«bas palielina skaitļoÅ”anas jaudu.

Amazon Redshift paralēlā mērogoÅ”ana nodroÅ”ina Redshift klasteriem papildu jaudu, lai apstrādātu maksimālos pieprasÄ«jumu apjomus. Tas darbojas, pārvietojot pieprasÄ«jumus uz jaunām ā€œparalēlajāmā€ kopām fonā. PieprasÄ«jumi tiek marÅ”rutēti, pamatojoties uz WLM konfigurāciju un noteikumiem.

Paralēlā mērogoÅ”anas cenu noteikÅ”ana ir balstÄ«ta uz kredÄ«ta modeli ar bezmaksas lÄ«meni. Virs bezmaksas kredÄ«tiem maksājums tiek veikts atkarÄ«bā no laika, kad Parallel Scaling Cluster apstrādā pieprasÄ«jumus.

Autors pārbaudÄ«ja paralēlo mērogoÅ”anu vienā no iekŔējiem klasteriem. Å ajā ierakstā viņŔ pastāstÄ«s par testa rezultātiem un sniegs padomus, kā sākt.

Klasteru prasības

Lai izmantotu paralēlo mērogoÅ”anu, jÅ«su Amazon Redshift klasterim jāatbilst Ŕādām prasÄ«bām:

- platforma: EC2-VPC;
ā€” mezgla veids: dc2.8xlarge, ds2.8xlarge, dc2.large vai ds2.xlarge;
ā€” mezglu skaits: no 2 lÄ«dz 32 (viena mezgla kopas netiek atbalstÄ«tas).

Pieņemamie pieprasījumu veidi

Paralēlā mērogoÅ”ana nav piemērota visu veidu vaicājumiem. Pirmajā versijā tas apstrādā tikai tos lasÄ«Å”anas pieprasÄ«jumus, kas atbilst trim nosacÄ«jumiem:

ā€” SELECT vaicājumi ir tikai lasāmi (lai gan ir plānots vairāk veidu);
ā€” vaicājumā nav atsauces uz tabulu ar ŔķiroÅ”anas stilu INTERLEAVED;
- Vaicājumā netiek izmantots Amazon Redshift Spectrum, lai atsauktos uz ārējām tabulām.

Lai pieprasÄ«jums tiktu novirzÄ«ts uz paralēlās mērogoÅ”anas klasteru, tas ir jāievieto rindā. Turklāt vaicājumi, kas ir piemēroti rindai SQA (Ä«so vaicājumu paātrināŔana), nedarbosies paralēlas mēroga klasteros.

Rindām un SQA ir nepiecieÅ”ama pareiza konfigurācija Redshift Workload Management (WLM). Mēs iesakām vispirms optimizēt savu WLM ā€” tas samazinās vajadzÄ«bu pēc paralēlās mērogoÅ”anas. Un tas ir svarÄ«gi, jo paralēlā mērogoÅ”ana ir bezmaksas tikai noteiktu stundu skaitu. AWS apgalvo, ka paralēlā mērogoÅ”ana bÅ«s bez maksas 97% klientu, kas mÅ«s noved pie cenu noteikÅ”anas jautājuma.

Paralēlās mērogoÅ”anas izmaksas

AWS piedāvā kredÄ«ta modeli paralēlai mērogoÅ”anai. Katrs aktÄ«vais klasteris Amazones sarkanā nobÄ«de KredÄ«tus uzkrāj katru stundu, lÄ«dz pat vienai stundai bezmaksas paralēlās mērogoÅ”anas kredÄ«tus dienā.

Jūs maksājat tikai tad, ja Parallel Scaling Clusters lietojums pārsniedz saņemto kredītu summu.

Izmaksas tiek aprēķinātas pēc pieprasÄ«juma pēc sekundes likmes paralēlai klasterim, kas tiek izmantota virs brÄ«vās likmes. Maksa tiek iekasēta tikai par jÅ«su pieprasÄ«jumu izpildes laiku, ar minimālo maksu par vienu minÅ«ti katru reizi, kad tiek aktivizēts paralēlās mērogoÅ”anas klasteris. Sekundes likme pēc pieprasÄ«juma tiek aprēķināta, pamatojoties uz vispārējiem cenu noteikÅ”anas principiem Amazones sarkanā nobÄ«de, tas ir, tas ir atkarÄ«gs no mezgla veida un mezglu skaita jÅ«su klasterÄ«.

Paralēlā mērogoÅ”anas palaiÅ”ana

Katrai WLM rindai tiek aktivizēta paralēlā mērogoÅ”ana. Dodieties uz AWS Redshift konsoli un kreisajā navigācijas izvēlnē atlasiet Darba slodzes pārvaldÄ«ba. Tālāk esoÅ”ajā nolaižamajā izvēlnē atlasiet klastera WLM parametru grupu.

Blakus katrai rindai redzēsit jaunu kolonnu ar nosaukumu "Vienlaikus mērogoÅ”anas režīms". Noklusējums ir "Atspējots". NoklikŔķiniet uz "Rediģēt" un varat mainÄ«t katras rindas iestatÄ«jumus.

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

Konfigurācija

Paralēlā mērogoÅ”ana darbojas, pārsÅ«tot atbilstoÅ”us pieprasÄ«jumus uz jaunām Ä«paŔām kopām. Jaunajiem klasteriem ir tāds pats izmērs (mezglu veids un skaits) kā galvenajam klasterim.

Paralēlai mērogoÅ”anai izmantoto klasteru noklusējuma skaits ir viens (1), ar iespēju kopā konfigurēt lÄ«dz pat desmit (10) klasteriem.
Kopējo klasteru skaitu paralēlai mērogoÅ”anai var iestatÄ«t ar parametru max_concurrency_scaling_clusters. Å Ä« parametra vērtÄ«bas palielināŔana nodroÅ”ina papildu liekās kopas.

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

Uzraudzība

AWS Redshift konsolē ir pieejami vairāki papildu grafiki. Maksimāli konfigurēto vienlaicÄ«guma mērogoÅ”anas klasteru diagrammā tiek parādÄ«ta max_concurrency_scaling_clusters vērtÄ«ba laika gaitā.

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

AktÄ«vo mērogoÅ”anas klasteru skaits tiek parādÄ«ts lietotāja interfeisa sadaļā ā€œVienlaikus mērogoÅ”anas darbÄ«baā€:

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

Cilnē Vaicājumi ir kolonna, kas norāda, vai vaicājums tika izpildÄ«ts galvenajā klasterÄ« vai paralēlās mērogoÅ”anas klasterÄ«:

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

NeatkarÄ«gi no tā, vai konkrēts vaicājums tika izpildÄ«ts galvenajā klasterÄ« vai paralēlā mērogoÅ”anas klasterÄ«, tas tiek saglabāts mapē stl_query.concurrency_scaling_status.

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

Vērtība 1 norāda, ka vaicājums tika izpildīts paralēlā mēroga klasterī, savukārt citas vērtības norāda, ka tas tika izpildīts primārajā klasterī.

Piemērs:

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

VienlaicÄ«bas mērogoÅ”anas informācija tiek glabāta arÄ« dažās citās tabulās un skatos, piemēram, SVCS_CONCURRENCY_SCALING_USAGE. Turklāt ir vairākas katalogu tabulas, kurās tiek glabāta informācija par paralēlo mērogoÅ”anu.

rezultātus

Autori sāka paralēlu mērogoÅ”anu vienai rindai iekŔējā klasterÄ« aptuveni plkst. 18:30:00 GMT 29.03.2019. gada 3. gada 20. gadā. MainÄ«ja parametru max_concurrency_scaling_clusters uz 30 uz 00, aptuveni plkst. 29.03.2019:XNUMX:XNUMX XNUMX. gada XNUMX. gadā.

Lai simulētu pieprasÄ«jumu rindu, mēs samazinājām Ŕīs rindas laika niÅ”u skaitu no 15 uz 5.

Tālāk ir parādÄ«ta intermix.io informācijas paneļa diagramma, kurā parādÄ«ts izpildÄ«to pieprasÄ«jumu skaits un rindā pēc laika niÅ”u skaita samazināŔanas.

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

Redzam, ka pieprasījumu gaidīŔanas laiks rindā ir palielinājies, maksimālais laiks pārsniedzot 5 minūtes.

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

Šeit ir attiecīgā informācija no AWS konsoles par notikuŔo Ŕajā laikā:

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

Redshift palaida trÄ«s (3) paralēlas mērogoÅ”anas kopas, kā konfigurēts. Å Ä·iet, ka Ŕīs kopas tika nepietiekami izmantotas, lai gan daudzi pieprasÄ«jumi mÅ«su klasterÄ« bija rindā.

LietoÅ”anas grafiks korelē ar mērogoÅ”anas aktivitātes grafiku:

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

Pēc dažām stundām autori pārbaudÄ«ja rindu, un Ŕķita, ka paralēli mērogojot tika izpildÄ«ti 6 pieprasÄ«jumi. Mēs arÄ« nejauÅ”i pārbaudÄ«jām divus pieprasÄ«jumus, izmantojot lietotāja interfeisu. Mēs neesam pārbaudÄ«juÅ”i, kā izmantot Ŕīs vērtÄ«bas, ja vienlaikus ir aktÄ«vi vairāki paralēli klasteri.

Amazon Redshift paralēlās mērogoÅ”anas rokasgrāmata un testa rezultāti

Atzinumi

Paralēlā mērogoÅ”ana var samazināt laiku, ko pieprasÄ«jumi pavada rindā maksimālās slodzes laikā.

Pamatojoties uz pamata testa rezultātiem, izrādÄ«jās, ka situācija ar pieprasÄ«jumu ielādi ir daļēji uzlabojusies. Tomēr paralēlā mērogoÅ”ana vien neatrisināja visas vienlaicÄ«bas problēmas.

Tas ir saistÄ«ts ar ierobežojumiem to vaicājumu veidiem, kuros var izmantot paralēlo mērogoÅ”anu. Piemēram, autoriem ir daudz tabulu ar starplÄ«meņu ŔķiroÅ”anas taustiņiem, un lielākā daļa no mÅ«su darba slodzes ir rakstÄ«Å”ana.

Lai gan paralēlā mērogoÅ”ana nav universāls risinājums WLM iestatÄ«Å”anai, Ŕīs funkcijas izmantoÅ”ana ir vienkārÅ”a un vienkārÅ”a.

Tāpēc autors iesaka to izmantot savām WLM rindām. Sāciet ar vienu paralēlu kopu un uzraugiet maksimālo slodzi, izmantojot konsoli, lai noteiktu, vai jaunās kopas tiek pilnībā izmantotas.

Tā kā AWS pievieno atbalstu papildu vaicājumu veidiem un tabulām, paralēlajai mērogoÅ”ana pakāpeniski jākļūst arvien efektÄ«vākai.

Komentārs no Daniyar Belkhodzhaev, Skyeng datu inženiera

Mēs, Skyeng, arÄ« uzreiz pamanÄ«jām jauno paralēlās mērogoÅ”anas iespēju.
Funkcionalitāte ir ļoti pievilcÄ«ga, Ä«paÅ”i ņemot vērā, ka AWS lÄ“Å”, ka lielākajai daļai lietotāju par to pat nebÅ«s jāmaksā papildus.

Tā sagadÄ«jās, ka aprīļa vidÅ« mums bija neparasts pieprasÄ«jumu satraukums Redshift klasterim. Å ajā periodā mēs bieži izmantojām vienlaicÄ«gu mērogoÅ”anu; dažreiz papildu klasteris strādāja 24 stundas diennaktÄ« bez apstāŔanās.

Tas ļāva ja ne pilnībā atrisināt problēmu ar rindām, tad vismaz padarīt situāciju pieņemamu.

MÅ«su novērojumi lielā mērā sakrÄ«t ar intermix.io puiÅ”u iespaidiem.

Mēs arÄ« pamanÄ«jām, ka, lai gan rindā bija pieprasÄ«jumi, ne visi pieprasÄ«jumi tika nekavējoties pārsÅ«tÄ«ti uz paralēlo klasteru. AcÄ«mredzot tas notiek tāpēc, ka paralēlā klastera palaiÅ”anai joprojām ir nepiecieÅ”ams laiks. Tā rezultātā Ä«slaicÄ«gas maksimālās slodzes laikā mums joprojām ir nelielas rindas, un atbilstoÅ”ajiem trauksmes signāliem ir laiks iedarbināties.

AprÄ«lÄ« atbrÄ«vojuÅ”ies no nenormālām slodzēm, kā jau AWS paredzēja, iegājām gadÄ«juma lietoÅ”anas režīmā - brÄ«vās normas ietvaros.
Varat izsekot paralēlās mērogoÅ”anas izmaksām programmā AWS Cost Explorer. Jums ir jāizvēlas Pakalpojums - Redshift, Usage Type - CS, piemēram, USW2-CS:dc2.large.

Vairāk par cenām var lasīt krievu valodā Ŕeit.

Avots: www.habr.com

Pievieno komentāru