Amazon Redshift Parallel Scaling Guide and Test Results

Amazon Redshift Parallel Scaling Guide and Test Results

À Skyeng usemu Amazon Redshift, cumpresa a scala parallela, cusì avemu trovu stu articulu di Stefan Gromoll, fundatore di dotgo.com, per intermix.io interessante. Dopu a traduzzione, un pocu di a nostra sperienza da l'ingegnere di dati Daniyar Belkhodzhaev.

Amazon Redshift Architecture permette a scala aghjunghjendu novi nodi à u cluster. A necessità di affruntà un numeru piccu di richieste pò purtà à un sopraprovisione di nodi. Concurrency Scaling, in uppusizione à l'aghjunzione di novi nodi, aumenta a putenza di computing cum'è necessariu.

A scala parallela di Amazon Redshift dà à i cluster Redshift capacità supplementari per trattà i volumi di richieste di punta. Funziona movendu e dumande à novi clusters "paralleli" in fondo. E dumande sò instradate nantu à a cunfigurazione è e regule WLM.

U prezzu di scala parallela hè basatu annantu à un mudellu di creditu cù un livellu liberu. Sopra à i crediti gratuiti, u pagamentu hè basatu annantu à u tempu chì u Cluster Scaling Parallel processa e richieste.

L'autore hà pruvatu a scala parallela nantu à unu di i clusters interni. In questu post, parlerà di i risultati di a prova è darà cunsiglii cumu per cumincià.

Requisiti di cluster

Per utilizà a scala parallela, u vostru cluster Amazon Redshift deve risponde à i seguenti requisiti:

- piattaforma: EC2-VPC;
- tipu di nodu: dc2.8xlarge, ds2.8xlarge, dc2.large o ds2.xlarge;
- numeru di nodi: da 2 à 32 (u clusters unicu node ùn sò micca supportati).

Tipi di richieste accettabili

A scala parallela ùn hè micca adattata per tutti i tipi di dumande. In a prima versione, tratta solu e dumande di lettura chì soddisfanu trè cundizioni:

- E dumande SELECT sò di sola lettura (ancu se sò previsti più tipi);
- a quistione ùn face micca riferimentu à una tavula cù u stilu di sorte INTERLEAVED;
- A dumanda ùn usa micca Amazon Redshift Spectrum per riferite e tabelle esterne.

Per esse indirizzatu à u Cluster di Scaling Parallel, a dumanda deve esse in fila. Inoltre, e dumande eligibili per a fila SQA (Accelerazione di Query Breve), ùn funziona micca in clusters di scala parallela.

Queues è SQA necessitanu una cunfigurazione curretta Redshift Workload Management (WLM). Hè ricumandemu di ottimisà u vostru WLM prima - questu riducerà a necessità di scala parallela. È questu hè impurtante perchè u scaling parallelu hè liberu solu per un certu numaru d'ore. AWS sustene chì a scala parallela serà libera per u 97% di i clienti, chì ci porta à u prublema di i prezzi.

Costu di scala parallella

AWS offre un mudellu di creditu per a scala parallela. Ogni cluster attivu Amazon RedShift Accumula crediti ogni ora, finu à una ora di crediti di scala parallela gratuiti per ghjornu.

Paghete solu quandu u vostru usu di i Clusters Parallel Scaling supera a quantità di crediti chì avete ricevutu.

U costu hè calculatu à una tarifa à dumanda per seconda per un cluster parallelu chì hè utilizatu sopra à a tarifa libera. Sò pagati solu per a durata di e vostre richieste, cù una carica minima di un minutu ogni volta chì un Cluster Scaling Parallel hè attivatu. A tarifa per seconda nantu à a dumanda hè calculata nantu à i principii generale di prezzi Amazon RedShift, vale à dì, dipende da u tipu di node è u numeru di nodi in u vostru cluster.

Lanciazione di Scaling Parallel

A scala parallela hè attivata per ogni fila WLM. Andate à a cunsola AWS Redshift è selezziunate Gestione di carichi di travagliu da u menu di navigazione di sinistra. Selezziunate u gruppu di parametri WLM di u vostru cluster da u menu a tendina chì seguita.

Vi vede una nova colonna chjamata "Modu Scaling Concurrency" accantu à ogni fila. U default hè "Disabilitatu". Cliccate "Edit" è pudete cambià i paràmetri per ogni fila.

Amazon Redshift Parallel Scaling Guide and Test Results

Cunfigurazione

A scala parallela funziona trasmettendu e richieste adatte à novi clusters dedicati. I novi clusters anu a stessa dimensione (tipu è numeru di nodi) cum'è u cluster principale.

U numaru predeterminatu di clusters utilizati per a scala parallela hè unu (1), cù a capacità di cunfigurà finu à un totale di deci (10) clusters.
U numeru tutale di clusters per scala parallella pò esse stabilitu da u paràmetru max_concurrency_scaling_clusters. Aumentà u valore di stu paràmetru furnisce clusters redundant supplementari.

Amazon Redshift Parallel Scaling Guide and Test Results

Monitoramentu

Ci sò parechji grafici supplementari dispunibili in a cunsola AWS Redshift. U graficu Max Configured Scaling Clusters mostra u valore di max_concurrency_scaling_clusters à u tempu.

Amazon Redshift Parallel Scaling Guide and Test Results

U numeru di clusters di scala attiva hè visualizatu in l'interfaccia d'utilizatore in a sezione "Attività di Scaling Concurrency":

Amazon Redshift Parallel Scaling Guide and Test Results

In a tabulazione Queries, ci hè una colonna chì indica se a dumanda hè stata eseguita in u cluster principale o in u cluster di scala parallela:

Amazon Redshift Parallel Scaling Guide and Test Results

Indipendentemente da se una dumanda particulari hè stata eseguita in u cluster principale o attraversu un cluster di scala parallela, hè almacenata in stl_query.concurrency_scaling_status.

Amazon Redshift Parallel Scaling Guide and Test Results

Un valore di 1 indica chì a dumanda hè stata eseguita in u cluster di scala parallela, mentre chì altri valori indicanu chì hè stata eseguita in u cluster primariu.

Esempiu:

Amazon Redshift Parallel Scaling Guide and Test Results

L'infurmazione di scala di cuncurrenza hè ancu almacenata in altre tavule è viste, cum'è SVCS_CONCURRENCY_SCALING_USAGE. Inoltre, ci sò una quantità di tavule di catalogu chì almacenanu infurmazioni nantu à scala parallella.

Risultati

L'autori anu iniziatu a scala parallela per una fila in u cluster internu à circa 18:30:00 GMT u 29.03.2019/3/20. Cambiatu u paràmetru max_concurrency_scaling_clusters à 30 à circa 00:29.03.2019:XNUMX u XNUMX/XNUMX/XNUMX.

Per simulà una fila di richieste, avemu riduciutu u numeru di slot per questa fila da 15 à 5.

Quì sottu hè un graficu di intermix.io dashboard chì mostra u numeru di richieste in esecuzione è in fila dopu à riduce u numeru di slot.

Amazon Redshift Parallel Scaling Guide and Test Results

Avemu vistu chì u tempu d'attesa per e dumande in a fila hè aumentatu, cù u tempu massimu di più di 5 minuti.

Amazon Redshift Parallel Scaling Guide and Test Results

Eccu l'infurmazioni pertinenti da a cunsola AWS nantu à ciò chì hè accadutu in questu tempu:

Amazon Redshift Parallel Scaling Guide and Test Results

Redshift hà lanciatu trè (3) clusters di scala parallela cum'è cunfigurati. Sembra chì questi clusters eranu sottoutilizati, ancu s'è parechje dumande in u nostru cluster eranu in fila.

U gràficu di l'usu correlate cù u gràficu di l'attività di scala:

Amazon Redshift Parallel Scaling Guide and Test Results

Dopu qualchì ora, l'autori anu verificatu a fila è pareva chì e dumande 6 eranu in esecuzione in scala parallela. Avemu ancu testatu aleatoriamente duie richieste attraversu l'interfaccia d'utilizatore. Ùn avemu micca verificatu cumu utilizà sti valori quandu parechji clusters paralleli sò attivi à una volta.

Amazon Redshift Parallel Scaling Guide and Test Results

scuperti

A scala parallela pò riduce u tempu chì e richieste passanu in a fila durante i picchi carichi.

Basatu nantu à i risultati di a prova di basa, hè stata chì a situazione cù e richieste di carica hè parzialmente migliorata. In ogni casu, u scaling parallelu solu ùn risolve micca tutti i prublemi di cuncurrenza.

Questu hè dovutu à e restrizioni nantu à i tipi di dumande chì ponu utilizà scala parallella. Per esempiu, l'autori anu parechje tavule cù chjavi di sorte interleaved, è a maiò parte di u nostru travagliu hè scrittu.

Ancu se a scala parallela ùn hè micca una soluzione universale per a creazione di WLM, l'usu di sta funzione hè simplice è simplice.

Dunque, l'autore ricumanda di utilizà per e vostre file WLM. Cumincià cù un cluster parallelu è monitorà a carica massima attraversu a cunsola per determinà se i novi clusters sò cumpletamente utilizati.

Siccomu AWS aghjunghje supportu per i tipi di dumande è e tabelle supplementari, a scala parallela deve diventà gradualmente più è più efficiente.

Cumentu da Daniyar Belkhodzhaev, Skyeng Data Engineer

Avemu ancu in Skyeng immediatamente nutatu a pussibilità emergente di scala parallella.
A funziunalità hè assai attrattiva, soprattuttu cunsiderendu chì AWS stima chì a maiò parte di l'utilizatori ùn anu mancu bisognu di pagà extra per questu.

Hè accadutu chì à a mità d'aprili avemu avutu una furtuna insolita di richieste à u cluster Redshift. Duranti stu periodu, avemu spessu ricursu à a Scala di Concurrenza; qualchì volta un cluster supplementu hà travagliatu 24 ore à ghjornu senza piantà.

Questu hà permessu, se micca di risolve cumplettamente u prublema cù fila, almenu per fà a situazione accettabile.

I nostri osservazioni largamente coincidenu cù l'impressioni di i picciotti di intermix.io.

Avemu ancu nutatu chì, ancu s'ellu ci era dumande in attesa in a fila, micca tutte e dumande sò state immediatamente trasmesse à u cluster parallelu. Apparentemente questu succede per via di u fattu chì u cluster parallelu hà sempre bisognu di tempu per inizià. In u risultatu, durante i picchi di carichi di cortu termine avemu sempre petite fila, è l'allarmi currispundenti anu u tempu di attivà.

Dopu avè sbarazzatu di carichi anormali in April, noi, cum'è AWS s'aspittava, intrì in u modu di usu occasionale - in a norma libera.
Pudete seguità i vostri costi di scala parallela in AWS Cost Explorer. Avete bisognu di selezziunà Service - Redshift, Usage Type - CS, per esempiu USW2-CS:dc2.large.

Pudete leghje più nantu à i prezzi in Russu quì.

Source: www.habr.com

Add a comment