Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Skyeng-də biz Amazon Redshift-dən, o cümlədən paralel miqyasdan istifadə edirik, ona görə də intermix.io üçün dotgo.com-un qurucusu Stefan Gromoll-un bu məqaləsini maraqlı gördük. Tərcümədən sonra məlumat mühəndisi Daniyar Belkhodjaevdən bir az təcrübəmiz.

Amazon Redshift Arxitektura klasterə yeni qovşaqlar əlavə etməklə miqyaslanmağa imkan verir. Çox sayda sorğunun öhdəsindən gəlmək ehtiyacı qovşaqların həddindən artıq təmin edilməsinə səbəb ola bilər. Paralel Ölçmə, yeni qovşaqların əlavə edilməsindən fərqli olaraq, lazım olduqda hesablama gücünü artırır.

Amazon Redshift paralel miqyası Redshift klasterlərinə ən yüksək sorğu həcmlərini idarə etmək üçün əlavə imkan verir. Arxa fonda sorğuları yeni "paralel" qruplara köçürməklə işləyir. Sorğular WLM konfiqurasiyası və qaydaları əsasında yönləndirilir.

Paralel miqyaslı qiymətlər pulsuz səviyyəli kredit modelinə əsaslanır. Pulsuz kreditlərdən yuxarı ödəniş Paralel Ölçmə Klasterinin sorğuları emal etdiyi vaxta əsaslanır.

Müəllif daxili klasterlərdən birində paralel miqyaslaşdırmanı sınaqdan keçirdi. Bu yazıda o, test nəticələri haqqında danışacaq və işə necə başlamaq barədə məsləhətlər verəcək.

Klaster tələbləri

Paralel miqyasdan istifadə etmək üçün Amazon Redshift klasteriniz aşağıdakı tələblərə cavab verməlidir:

- platforma: EC2-VPC;
- qovşaq növü: dc2.8xlarge, ds2.8xlarge, dc2.large və ya ds2.xlarge;
- qovşaqların sayı: 2 ilə 32 arasında (tək node klasterləri dəstəklənmir).

Məqbul sorğu növləri

Paralel miqyaslama bütün sorğu növləri üçün uyğun deyil. Birinci versiyada o, yalnız üç şərtə cavab verən oxunmuş sorğuları emal edir:

— SELECT sorğuları yalnız oxumaq üçündür (baxmayaraq ki, daha çox növ planlaşdırılıb);
— sorğu INTERLEAVED çeşidləmə üslubuna malik cədvələ istinad etmir;
- Sorğu xarici cədvəllərə istinad etmək üçün Amazon Redshift Spectrum-dan istifadə etmir.

Paralel Ölçmə Klasterinə yönləndirmək üçün sorğu növbəyə qoyulmalıdır. Bundan əlavə, növbə üçün uyğun sorğular SQA (Qısa Sorğu Sürətləndirilməsi), paralel miqyaslı klasterlərdə işləməyəcək.

Növbələr və SQA düzgün konfiqurasiya tələb edir Redshift İş Yükünün İdarə Edilməsi (WLM). Əvvəlcə WLM-ni optimallaşdırmağı tövsiyə edirik - bu, paralel miqyaslama ehtiyacını azaldacaq. Və bu vacibdir, çünki paralel miqyaslama yalnız müəyyən sayda saat ərzində pulsuzdur. AWS iddia edir ki, paralel miqyas müştərilərin 97%-i üçün pulsuz olacaq, bu da bizi qiymət məsələsinə gətirir.

Paralel miqyaslamanın dəyəri

AWS paralel miqyaslama üçün kredit modeli təklif edir. Hər bir aktiv klaster Amazon RedShift Hər saat kredit toplayır, gündə bir saata qədər pulsuz paralel miqyaslı kreditlər.

Yalnız Paralel Ölçmə Klasterlərindən istifadəniz aldığınız kreditlərin miqdarını keçdikdə ödəyirsiniz.

Xərc, sərbəst tarifdən yuxarı istifadə edilən paralel klaster üçün saniyədə tələb olunan nisbətlə hesablanır. Paralel Ölçmə Klasteri hər dəfə aktivləşdirildikdə sizdən yalnız bir dəqiqə minimum ödəniş olmaqla sorğularınızın müddəti üçün ödəniş tutulur. Tələb üzrə saniyəyə nisbət ümumi qiymət prinsipləri əsasında hesablanır Amazon RedShift, yəni qovşağın növündən və klasterinizdəki qovşaqların sayından asılıdır.

Paralel Ölçəkləşdirmə işə salınır

Paralel miqyaslama hər bir WLM növbəsi üçün işə salınır. AWS Redshift konsoluna gedin və sol naviqasiya menyusundan Workload Management seçin. Aşağıdakı açılan menyudan klasterinizin WLM parametr qrupunu seçin.

Hər növbənin yanında "Payzalıq Ölçmə Modu" adlı yeni sütun görəcəksiniz. Varsayılan olaraq "Əlil"dir. "Düzenlə" düyməsini basın və hər növbə üçün parametrləri dəyişə bilərsiniz.

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Konfiqurasiya

Paralel miqyaslama müvafiq sorğuları yeni ayrılmış klasterlərə yönləndirməklə işləyir. Yeni klasterlər əsas klasterlə eyni ölçüyə (qovşaqların növü və sayı) malikdirlər.

Paralel miqyaslama üçün istifadə edilən klasterlərin standart sayı cəmi on (1) klasteri konfiqurasiya etmək imkanı ilə birdir (10).
Paralel miqyaslama üçün klasterlərin ümumi sayı max_concurrency_scaling_clusters parametri ilə təyin edilə bilər. Bu parametrin dəyərinin artırılması əlavə lazımsız klasterləri təmin edir.

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Monitorinq

AWS Redshift konsolunda bir neçə əlavə qrafik mövcuddur. Maksimum Konfiqurasiya edilmiş Parametrli Ölçmə Klasterləri diaqramı zamanla max_concurrency_scaling_clusters dəyərini göstərir.

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Aktiv miqyaslama klasterlərinin sayı istifadəçi interfeysində “Payzalıq Ölçmə Fəaliyyəti” bölməsində göstərilir:

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Sorğular sekmesinde, sorğunun əsas klasterdə və ya paralel miqyaslı klasterdə yerinə yetirildiyini göstərən bir sütun var:

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Xüsusi sorğunun əsas klasterdə və ya paralel miqyaslı klaster vasitəsilə yerinə yetirilməsindən asılı olmayaraq, o, stl_query.concurrency_scaling_status-da saxlanılır.

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

1 dəyəri sorğunun paralel miqyaslı klasterdə yerinə yetirildiyini, digər dəyərlər isə onun əsas klasterdə yerinə yetirildiyini göstərir.

Misal:

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Paralellik miqyası məlumatları SVCS_CONCURRENCY_SCALING_USAGE kimi bəzi digər cədvəllərdə və görünüşlərdə də saxlanılır. Bundan əlavə, paralel miqyaslama haqqında məlumatları saxlayan bir sıra kataloq cədvəlləri var.

Tapıntılar

Müəlliflər 18/30/00 tarixində təxminən 29.03.2019:3 GMT-də daxili klasterdə bir növbə üçün paralel miqyaslamaya başladılar. 20/30/00-cu il tarixində təxminən saat 29.03.2019:XNUMX:XNUMX-da max_concurrency_scaling_clusters parametrini XNUMX-ə dəyişdi.

Sorğu növbəsini simulyasiya etmək üçün bu növbə üçün slotların sayını 15-dən 5-ə endirdik.

Aşağıda intermix.io tablosunun diaqramı, yuvaların sayını azaltdıqdan sonra işləyən və növbəyə duran sorğuların sayını göstərir.

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Görürük ki, növbədə sorğuların gözləmə müddəti artıb, maksimum vaxt 5 dəqiqədən çox olub.

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Bu müddət ərzində baş verənlər haqqında AWS konsolundan müvafiq məlumat:

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Redshift konfiqurasiya edildiyi kimi üç (3) paralel miqyaslama klasterini işə saldı. Görünür, bizim klasterimizdə bir çox sorğu növbəyə qoyulsa da, bu klasterlərdən kifayət qədər istifadə olunmayıb.

İstifadə qrafiki miqyaslı fəaliyyət qrafiki ilə əlaqələndirilir:

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Bir neçə saatdan sonra müəlliflər növbəni yoxladılar və göründü ki, paralel miqyasda 6 sorğu işləyir. Biz həmçinin istifadəçi interfeysi vasitəsilə təsadüfi iki sorğunu sınaqdan keçirdik. Bir neçə paralel klaster eyni anda aktiv olduqda bu dəyərlərdən necə istifadə edəcəyimizi yoxlamamışıq.

Amazon Redshift Paralel Ölçmə Bələdçisi və Test Nəticələri

Tapıntılar

Paralel miqyaslama pik yüklər zamanı sorğuların növbəyə sərf etdiyi vaxtı azalda bilər.

Əsas testin nəticələrinə əsasən, sorğuların yüklənməsi ilə bağlı vəziyyətin qismən yaxşılaşdığı məlum oldu. Bununla belə, tək paralel miqyaslama bütün paralellik problemlərini həll etmədi.

Bu, paralel miqyasdan istifadə edə bilən sorğu növlərinə qoyulan məhdudiyyətlərlə bağlıdır. Məsələn, müəlliflərin sıralama düymələri ilə çoxlu cədvəlləri var və iş yükümüzün çoxu yazıdır.

Paralel miqyaslama WLM qurmaq üçün universal həll olmasa da, bu funksiyadan istifadə sadə və sadədir.

Buna görə də, müəllif WLM növbələriniz üçün istifadə etməyi tövsiyə edir. Bir paralel klasterlə başlayın və yeni klasterlərin tam istifadə edilib-edilmədiyini müəyyən etmək üçün konsol vasitəsilə pik yükü izləyin.

AWS əlavə sorğu növləri və cədvəlləri üçün dəstək əlavə etdikcə, paralel miqyaslama getdikcə daha səmərəli olmalıdır.

Skyeng Data Engineer Daniyar Belkhodjaevin şərhi

Skyeng-də biz də dərhal paralel miqyaslamanın yaranma ehtimalını gördük.
Funksionallıq çox cəlbedicidir, xüsusən də nəzərə alsaq ki, AWS hesab edir ki, əksər istifadəçilər bunun üçün əlavə pul ödəməli olmayacaqlar.

Elə oldu ki, aprelin ortalarında Redshift klasterinə qeyri-adi sorğular gəldi. Bu müddət ərzində biz tez-tez Concurrency Scaling-ə müraciət edirdik; bəzən əlavə klaster dayanmadan sutkada 24 saat işləyirdi.

Bu, növbələrlə bağlı problemi tam həll etməsə, heç olmasa vəziyyəti məqbul hala gətirməyə imkan verdi.

Müşahidələrimiz əsasən intermix.io-dan olan uşaqların təəssüratları ilə üst-üstə düşür.

Biz onu da müşahidə etdik ki, növbədə gözləyən sorğular olsa da, bütün sorğular dərhal paralel klasterə yönləndirilməyib. Görünür, bu, paralel klasterin işə salınması üçün hələ də vaxt tələb etdiyi üçün baş verir. Nəticədə, qısamüddətli pik yüklər zamanı hələ də kiçik növbələrimiz var və müvafiq həyəcan siqnallarının işə salınması üçün vaxt var.

Aprel ayında anormal yüklərdən qurtulan biz, AWS-in gözlədiyi kimi, təsadüfi istifadə rejiminə - pulsuz norma daxilində daxil olduq.
AWS Cost Explorer-də paralel miqyaslama xərclərinizi izləyə bilərsiniz. Siz Service - Redshift, Usage Type - CS seçməlisiniz, məsələn USW2-CS:dc2.large.

Qiymətlər haqqında daha ətraflı rus dilində oxuya bilərsiniz burada.

Mənbə: www.habr.com

Добавить комментарий