O chmurowych skrótowcach literowych i ich związku z Azure SQLDB

Akronim w słowniku języka polskiego…

Skrótowiec lub akronim – słowo utworzone przez skrócenie wyrażenia składającego się z dwóch lub więcej słów. Wśród skrótowców można wyróżnić skrótowce literowe, które są złożone z pierwszych liter wyrazów skracanego wyrażenia oraz skrótowce głoskowe. W przypadku literowców litery skrótowca wymawiane są osobno, np. HDD. W głoskowcach natomiast  litery skrótowca wymawiane są łącznie, jako suma głosek np. RAM

Zaraz zaraz… a co to ma wspólnego z technologią, a w szczególności z chmurą publiczną? No cóż już pierwsze przykłady (powyżej) pokazują, że bardzo często sięgamy po akronimy. Stały się one wręcz powszechnym elementem nazewnictwa w obszarze informatyki. Dopytując o parametry komputerów, smarfonów czy tabletów w zsadzie nikt z nas nie zadaje pytania “Ile pamięci o dostępie swobodnym ma ten komputer?”, a raczej “Ile RAM-u(Random Access Memory) ma to urządzenie?”.  Podobnie mówimy o dyskach twardych (HDD – Hard Disk Drive) czy też procesorach CPU (Central Processing Unit). W zasadzie nie ma w tym nic złego, o ile używany akronim jesteśmy w stanie rozwinąć i jest on dość oczywisty.

Chmura i nowy wysyp akronimów

Wraz z wejście w erę chmury publicznej zaczęło pojawiać się sporo nowych skrótowców, które słyszymy, wiemy o ich istnieniu, ba potrafimy nawet rozwinąć jednak zupełnie nie wiemy co tak na prawdę one oznaczają. Zapytasz o przykład ? Akurat tych w moim ulubionym obszarze (danych) jest dość sporo…DTU, DWU, QPU, CU. Znasz je? Wiesz dokładnie co oznaczają, a może jeszcze dodatkowo potrafisz wytłumaczyć jak dokładnie przekładają się na parametry usług których dotyczą?

Potrafisz? Wierzę, że tak jest, natomiast muszę przyznać, że ja w momencie gdy zetknąłem się z nimi po raz pierwszy przeżyłem szok. Nawet zadawałem sobie kilkukrotnie pytanie “Co to w ogóle jest?”, “Kto wpadł na tak genialny pomysł?”. Co ciekawe na oba te pytania poznałem odpowiedź 🙂 Czy to mi pomogło? Bardzo, ponieważ potrafię wytłumaczyć osobom z którymi pracuję jak wpływa to na wydajność rozwiązań, z których korzystają. Czy Tobie jest ta wiedza potrzebna ? Zdecydowanie nie jest niezbędna, ponieważ:

  • zawsze chętnie pomogę – tylko zapytaj
  • życie z rozwiązaniami dot. danych w chmurze (Microsoft Azure) w ostatnim czasie stało się dość przyjemne – już tłumaczę dlaczego….
Od akronimów do tradycyjnych modeli rozliczeń

Nie chcę w tym miejscu wchodzić w szczegóły dot. poszczególnych typów usługach baz danych dostępnych na platformie Azure ( o tym w oddzielnym artkule w najbliższym czasie). Wyjaśnię natomiast przytoczone wcześniej skrótowce. Każdy z nich związanych jest z inną usługą:

  • DTU (Data Transaction Unit) – jednostka miary wydajności bazy danych SQLDB. SQLDB do w pełni zarządzana usługa bazy relacyjnych, przeznaczona dla systemów transakcyjnych oraz “lekkich” potrzeb raportowych. Niestety nie ma prostego przelicznika DTU na podstawowe wartości istotne dla pracy SQL Server czyli RAM,IO,CPU. Co prawda usługa pozwala na dość płynne sterowanie dostępnymi jednostkami DTU dla bazy danych, jednak w wielu przypadkach precyzyjne dopasowanie ilości jednostek wymaga bardzo dokładnej analizy i monitorowania wykorzystania zasobów bazy danych
  • DWU (Data Warehouse Unit) – w tych jednostkach wyrażana jest wydajność usługi SQLDW czyli silnika bazy danych działającego w modelu Massively Parallel Processing, przeznaczonej do budowy hurtowni danych. W przypadku tego typu jednostek jest zachowany pewien schemat ich przeliczenia na faktyczną moc obliczeniową. Jako, że w modelu MPP znacząca jest liczba węzłów obliczeniowych, zmieniając liczbę jednostek DWU zmieniamy jednocześnie właśnie liczbę tych węzłów. Nie oznacza to jednak, że dobranie odpowiedniej liczby jednostek DWU jest proste. Ich finalna liczba zależy od wolumenu danych, sposobu ich dystrybucji, zastosowanego partycjonowanie jak i samych zapytań. W bardzo (bardzo) dużym uproszczeniu można przyjmować, że startując z poziomu 200 DWU wykorzystujemy 2 węzły obliczeniowe, przy czym należy pamiętać, że niezależnie od liczby jednostek DWU dane w przypadku SQLDW dystrybuowane są domyślnie na 60 części, a każda dystrybucja przypisana jest do odpowiedniego węzła obliczeniowego ( w przypadku 200 DWU, aż 30 dystrybucji trafia na pojedynczy węzeł)
  • QPU (Query Processing Unit) to jedostka stosowana w określaniu wydajności usługi Azure Analysis Services. Liczba jednostek podobnie jak w przypadku SQLDB oraz SQLDW jest ściśle związane z planem wydajności wybranej dla usługi. W przypadki QPU dość jasno zostało natomiast określone mapowanie jednostek na procesory/rdzenie. Zgodnie z informacjami na stronach Microsoft 1 wirtualny rdzeń odpowiada około 25 QPU (wg niezależnych testów jest to 20 QPU)
  • CU (Compute Unit) przez pewien moment czasu (w fazie zapoznawczej) stosowane było do określania wydajności usług Azure Database for MySQL oraz Azure Database for Postgresql. W przypadku obu tych usług również określono sposób mapowania jednostek na liczbę rdzeni. 100 CU to odpowiednik 1 rdzenia.
50% z tych akronimów to już historia…

Pamiętasz wszystkie z opisanych skrótowców? Wystarczy zapamiętać dwa z nich – DWU oraz QPU, bo to właśnie te, przynajmniej na ten moment, nie doczekały się swoich “następców”. CU – nie dotrwały nawet do wersji finalnej usługi. Wraz z ogłoszeniem pełnej dostępności  Azure Database for MySQL oraz Azure Database for Postgresql wprowadzony został model wirtualnych rdzeni, w połączeniu z generacjami procesorów przypisanych do każdej z kategorii baz (General Use oraz Business Critical). W efekcie do dyspozcji są:

  • Gen 4 logical CPUs are based on Intel E5-2673 v3 (Haswell) 2.4 GHz processors
  • Gen 5 logical CPUs are based on Intel E5-2673 v4 (Broadwell) 2.3 GHz processors

Model zyskał uznanie klientów i partnerów, ponieważ znacząco upraszcza kwestie szacowania zapotrzebowania na wydajność w przypadku uruchamianych baz. Idąc za ciosem SQLDB doczekał się również podobnego modelu.Kilka dni temu (na początku kwietnia) nieco po cichu wprowadzony został model wirtualnych rdzeni dla SQLDB. Na ten moment jest to wersja zapoznawcza, w której zastosowano parametry procesorów tożsame z opisanymi powyżej, czyli

  • Gen 4 Logical CPUs are based on Intel E5-2673 v3 (Haswell) 2.4-GHz processors
  • Gent 5 (już wkrótce zostanie ogłoszona)

Ogromną zaletą nowego modelu rdzeni wirtualnych jest możliwość ich czytelnego mapowania na obecnie wykorzystywaną architekturę sprzętową. Dodatkowo wraz z informacją o dostępnych rdzeniach dostarczana jest informacja o dostępnej pamęci RAM (7 GB per 1 vCore).  Jest również dodatkowa opcja optymalizacji kosztów użycia usługi, dzięki możliwości wykorzystania posiadanych licencji z SQL Server z aktywnym SA. O szczegółach przeczytać będzie można w jednym z kolejnych artykułów, który już wkrótce na SQL4YOU.INFO

 

Dodaj komentarz