Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

Skyeng'de paralel ölçeklendirme de dahil olmak üzere Amazon Redshift'i kullanıyoruz, bu nedenle dotgo.com'un kurucusu Stefan Gromoll'un intermix.io için yazdığı bu makaleyi ilginç bulduk. Çevirinin ardından veri mühendisi Daniyar Belkhodzhaev'den biraz deneyimimiz.

Amazon Kırmızıya Kayma Mimarisi kümeye yeni düğümler ekleyerek ölçeklendirmeye olanak tanır. En yüksek sayıda istekle başa çıkma ihtiyacı, düğümlerin aşırı sağlanmasına yol açabilir. Eşzamanlılık Ölçeklendirmesi, yeni düğümler eklemenin aksine, gerektiğinde bilgi işlem gücünü artırır.

Amazon Redshift paralel ölçeklendirme, Redshift kümelerine en yüksek istek hacimlerini karşılamaları için ek kapasite sağlar. İstekleri arka plandaki yeni "paralel" kümelere taşıyarak çalışır. İstekler WLM yapılandırmasına ve kurallarına göre yönlendirilir.

Paralel ölçeklendirme fiyatlandırması, ücretsiz katmana sahip bir kredi modeline dayanmaktadır. Ücretsiz kredilerin yanı sıra ödeme, Paralel Ölçeklendirme Kümesinin istekleri işleme süresine bağlıdır.

Yazar paralel ölçeklendirmeyi dahili kümelerden birinde test etti. Bu yazıda test sonuçlarından bahsedecek ve nasıl başlayacağınıza dair ipuçları verecek.

Küme gereksinimleri

Paralel ölçeklendirmeyi kullanmak için Amazon Redshift kümenizin aşağıdaki gereksinimleri karşılaması gerekir:

- platform: EC2-VPC;
— düğüm türü: dc2.8xlarge, ds2.8xlarge, dc2.large veya ds2.xlarge;
— düğüm sayısı: 2'den 32'ye kadar (tek düğümlü kümeler desteklenmez).

Kabul edilebilir istek türleri

Paralel ölçeklendirme tüm sorgu türleri için uygun değildir. İlk versiyonda yalnızca üç koşulu karşılayan okuma isteklerini işler:

— SELECT sorguları salt okunurdur (daha fazla tür planlanmış olmasına rağmen);
— sorgu INTERLEAVED sıralama stiline sahip bir tabloya referans vermiyor;
- Sorgu, harici tablolara referans vermek için Amazon Redshift Spectrum'u kullanmaz.

Paralel Ölçeklendirme Kümesine yönlendirilmek için isteğin sıraya alınması gerekir. Ayrıca kuyruğa uygun sorgular SQA (Kısa Sorgu Hızlandırma), paralel ölçekli kümelerde çalışmaz.

Kuyruklar ve SQA uygun yapılandırma gerektirir Redshift İş Yükü Yönetimi (WLM). Öncelikle WLM'nizi optimize etmenizi öneririz; bu, paralel ölçeklendirme ihtiyacını azaltacaktır. Bu önemlidir çünkü paralel ölçeklendirme yalnızca belirli bir saat boyunca ücretsizdir. AWS, paralel ölçeklendirmenin müşterilerin %97'si için ücretsiz olacağını iddia ediyor ve bu da bizi fiyatlandırma konusuna getiriyor.

Paralel ölçeklendirmenin maliyeti

AWS paralel ölçeklendirme için bir kredi modeli sunar. Her aktif küme Amazon Kırmızıya Kaydırma Kredileri saatlik olarak, günde bir saate kadar ücretsiz paralel ölçeklendirme kredisi biriktirir.

Yalnızca Paralel Ölçeklendirme Kümeleri kullanımınız aldığınız kredi miktarını aştığında ödeme yaparsınız.

Maliyet, ücretsiz ücretin üzerinde kullanılan paralel bir küme için saniye başına isteğe bağlı ücret üzerinden hesaplanır. Paralel Ölçeklendirme Kümesi her etkinleştirildiğinde minimum bir dakikalık ücret olmak üzere, yalnızca istekleriniz süresince ücretlendirilirsiniz. Saniye başına isteğe bağlı ücret, genel fiyatlandırma ilkelerine göre hesaplanır Amazon Kırmızıya Kaydırmayani kümenizdeki düğüm türüne ve düğüm sayısına bağlıdır.

Paralel Ölçeklendirmeyi Başlatma

Her WLM kuyruğu için paralel ölçeklendirme tetiklenir. AWS Redshift konsoluna gidin ve sol gezinme menüsünden İş Yükü Yönetimi'ni seçin. Aşağıdaki açılır menüden kümenizin WLM parametre grubunu seçin.

Her kuyruğun yanında "Eşzamanlılık Ölçeklendirme Modu" adlı yeni bir sütun göreceksiniz. Varsayılan "Devre Dışı"dır. "Düzenle"yi tıkladığınızda her sıranın ayarlarını değiştirebilirsiniz.

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

Yapılandırma

Paralel ölçeklendirme, uygun isteklerin yeni ayrılmış kümelere iletilmesiyle çalışır. Yeni kümeler ana kümeyle aynı boyuta (düğüm türü ve sayısı) sahiptir.

Paralel ölçeklendirme için kullanılan varsayılan küme sayısı bir (1) olup, toplam on (10) kümeye kadar yapılandırılabilir.
Paralel ölçeklendirme için toplam küme sayısı max_concurrency_scaling_clusters parametresi ile ayarlanabilir. Bu parametrenin değerinin arttırılması, ek yedekli kümeler sağlar.

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

İzleme

AWS Redshift konsolunda birkaç ek grafik mevcuttur. Maksimum Yapılandırılmış Eşzamanlılık Ölçeklendirme Kümeleri grafiği, max_concurrency_scaling_clusters'ın zaman içindeki değerini görüntüler.

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

Aktif ölçeklendirme kümelerinin sayısı kullanıcı arayüzünde "Eşzamanlılık Ölçeklendirme Etkinliği" bölümünde görüntülenir:

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

Sorgular sekmesinde, sorgunun ana kümede mi yoksa paralel ölçeklendirme kümesinde mi yürütüldüğünü belirten bir sütun bulunur:

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

Belirli bir sorgunun ana kümede mi yoksa paralel ölçeklendirme kümesi aracılığıyla mı yürütüldüğüne bakılmaksızın, stl_query.concurrency_scaling_status'ta depolanır.

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

1 değeri, sorgunun paralel ölçekli kümede yürütüldüğünü, diğer değerler ise birincil kümede yürütüldüğünü belirtir.

Örnek:

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

Eşzamanlılık ölçeklendirme bilgileri ayrıca SVCS_CONCURRENCY_SCALING_USAGE gibi diğer bazı tablolarda ve görünümlerde de depolanır. Ayrıca paralel ölçeklendirmeyle ilgili bilgileri saklayan bir dizi katalog tablosu da vardır.

Bulgular

Yazarlar, dahili kümedeki bir kuyruk için paralel ölçeklendirmeyi 18 tarihinde yaklaşık 30:00:29.03.2019 GMT'de başlattı. 3 tarihinde max_concurrency_scaling_clusters parametresini yaklaşık 20:30:00'da 29.03.2019 olarak değiştirdi.

Bir istek kuyruğunu simüle etmek için bu kuyruktaki slot sayısını 15'ten 5'e düşürdük.

Aşağıda, slot sayısını azalttıktan sonra çalışan ve sıraya giren isteklerin sayısını gösteren bir intermix.io kontrol paneli grafiği bulunmaktadır.

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

Kuyruktaki taleplerin bekleme süresinin arttığını, maksimum sürenin 5 dakikayı aştığını görüyoruz.

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

Bu süre zarfında yaşananlarla ilgili olarak AWS konsolundan alınan ilgili bilgiler:

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

Redshift, yapılandırıldığı şekilde üç (3) paralel ölçeklendirme kümesini başlattı. Kümemizdeki birçok istek sıraya alınmış olmasına rağmen bu kümelerin gereğinden az kullanıldığı görülüyor.

Kullanım grafiği, ölçeklendirme etkinliği grafiğiyle ilişkilidir:

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

Birkaç saat sonra yazarlar kuyruğu kontrol etti ve paralel ölçeklendirmede 6 isteğin çalıştığı görüldü. Ayrıca kullanıcı arayüzü aracılığıyla iki isteği rastgele test ettik. Aynı anda birkaç paralel küme aktif olduğunda bu değerlerin nasıl kullanılacağını kontrol etmedik.

Amazon Redshift Paralel Ölçeklendirme Kılavuzu ve Test Sonuçları

Bulgular

Paralel ölçeklendirme, yoğun yük sırasında isteklerin kuyrukta harcadığı süreyi azaltabilir.

Temel testin sonuçlarına göre yükleme talepleriyle ilgili durumun kısmen iyileştiği ortaya çıktı. Ancak paralel ölçeklendirme tek başına tüm eşzamanlılık sorunlarını çözmedi.

Bunun nedeni, paralel ölçeklendirmeyi kullanabilen sorgu türlerindeki kısıtlamalardır. Örneğin, yazarların aralıklı sıralama anahtarlarına sahip birçok tablosu var ve iş yükümüzün çoğu yazmaktır.

Paralel ölçeklendirme, WLM kurulumu için evrensel bir çözüm olmasa da, bu özelliğin kullanılması basit ve basittir.

Bu nedenle yazar bunu WLM kuyruklarınız için kullanmanızı önerir. Bir paralel kümeyle başlayın ve yeni kümelerin tam olarak kullanılıp kullanılmadığını belirlemek için konsol aracılığıyla en yüksek yükü izleyin.

AWS ek sorgu türleri ve tablolar için destek ekledikçe paralel ölçeklendirmenin giderek daha verimli hale gelmesi bekleniyor.

Skyeng Veri Mühendisi Daniyar Belkhodzhaev'in yorumu

Skyeng olarak biz de paralel ölçeklendirmenin ortaya çıkan olasılığını hemen fark ettik.
İşlevsellik çok çekici, özellikle de AWS'nin çoğu kullanıcının bunun için fazladan ödeme yapmak zorunda kalmayacağını tahmin ettiği göz önüne alındığında.

Öyle oldu ki, Nisan ortasında Kırmızıya Kayma kümesine alışılmadık bir talep dalgasıyla karşılaştık. Bu dönemde sıklıkla Eşzamanlılık Ölçeklendirmesine başvurduk; bazen ek bir küme 24 saat hiç durmadan çalışıyordu.

Bu, kuyruklarla ilgili sorunu tamamen çözmese bile en azından durumu kabul edilebilir hale getirmeyi mümkün kıldı.

Gözlemlerimiz büyük ölçüde intermix.io'daki adamların izlenimleriyle örtüşüyor.

Ayrıca kuyrukta bekleyen istekler olmasına rağmen tüm isteklerin hemen paralel kümeye iletilmediğini de fark ettik. Görünüşe göre bu, paralel kümenin başlamasının hala zaman alması nedeniyle oluyor. Sonuç olarak, kısa süreli pik yüklerde hala küçük kuyruklarla karşılaşıyoruz ve ilgili alarmların tetiklenmesi için zamanımız oluyor.

Nisan ayında anormal yüklerden kurtulduktan sonra, AWS'nin beklediği gibi, serbest norm dahilinde ara sıra kullanım moduna girdik.
Paralel ölçeklendirme maliyetlerinizi AWS Cost Explorer'da takip edebilirsiniz. Hizmet - Redshift, Kullanım Türü - CS'yi seçmeniz gerekir; örneğin USW2-CS:dc2.large.

Fiyatlar hakkında daha fazla bilgiyi Rusça olarak okuyabilirsiniz burada.

Kaynak: habr.com

Yorum ekle