Amazon DEA-C01: Optymalizacja kosztów dla obciążeń danych — Przewodnik do nauki
Część Amazon Data Engineer Associate DEA-C01 — Przewodnik do nauki. Ćwicz ze zweryfikowanymi odpowiedziami w centrum egzaminów Amazon, albo rozwiąż testy na czas na ExamRoll.io.
Optymalizacja kosztów dla obciążeń danych zapewnia, że pamięć masowa, zasoby obliczeniowe i potoki przetwarzania danych dostarczają wartość bez niekontrolowanego wzrostu wydatków. Inżynierowie danych muszą równoważyć wydajność zapytań, trwałość danych i dostępność z modelami cenowymi, które różnią się w zależności od usługi i wzorca użytkowania. Ta dziedzina wymaga znajomości klas pamięci masowej i polityk cyklu życia, mechanizmów kontroli na poziomie zapytań i klastra, pojemności spot i zarezerwowanej oraz kompromisów między podejściem bezserwerowym a alokowanym (provisioned).
Optymalizacja kosztów przechowywania w S3
S3 Intelligent-Tiering jest zalecaną domyślną opcją dla zbiorów danych o nieprzewidywalnych wzorcach dostępu: włącz S3 Intelligent-Tiering za pomocą konsoli lub AWS CLI, gdy częstotliwość dostępu do obiektów nie może być wiarygodnie prognozowana. Skonfiguruj S3 Intelligent-Tiering ze świadomością odpowiednich opłat za monitorowanie/automatyzację (istnieje niewielka miesięczna opłata za monitorowanie każdego obiektu) i właściwą minimalną liczbą dni dla automatycznych przejść między warstwami (30 dni dla przejścia z warstwy dla często używanych danych do warstwy dla rzadko używanych danych). Użyj tagów obiektów i reguł cyklu życia, aby wykluczyć małe obiekty o dużej liczbie żądań, w przypadku których opłaty za monitorowanie przewyższyłyby oszczędności.
Stosuj te wzorce operacyjne, aby zredukować wydatki na S3:
- Uruchom S3 Storage Class Analysis (konsola > Management > Analytics lub
undefined
), aby zidentyfikować wzorce dostępu na poziomie prefiksów/tagów przed utworzeniem reguł cyklu życia.
- Konwertuj duże historyczne zbiory danych do klas archiwalnych (Glacier Flexible Retrieval lub Glacier Deep Archive) za pomocą przejść cyklu życia; ustaw czas przejścia w cyklu życia tak, aby odpowiadał biznesowym umowom SLA i unikał częstych odzyskiwań typu Expedited.
- Konsoliduj wiele małych obiektów (problem małych plików) w większe obiekty (pliki kontenerowe Parquet) dla obciążeń analitycznych, aby zredukować koszty za żądanie i za operację GET.
Kryteria decyzyjne:
- Używaj S3 Intelligent-Tiering dla nieprzewidywalnych, umiarkowanie używanych zbiorów danych, gdzie czas odzyskiwania jest elastyczny.
- Używaj Standard-IA lub One Zone-IA для rzadko używanych, ale wymagających szybkiego odzyskania danych o przewidywalnych wzorcach dostępu.
- Używaj Glacier Standard/Bulk/Deep Archive do długoterminowego przechowywania, gdzie odzyskiwanie danych jest rzadkie i może tolerować opóźnienia od minut do godzin; preferuj odzyskiwania typu Bulk/Standard nad Expedited, aby uniknąć wysokich opłat.
Zarządzanie kosztami Athena i Redshift
Koszty usługi Athena skalują się wraz z ilością przeskanowanych bajtów. Wymuszaj mechanizmy kontroli grup roboczych (workgroups) (konsola lub
undefined
), aby wdrożyć limity danych skanowanych na zapytanie oraz miesięczne budżety na grupę roboczą; włącz opcję “Enforce workgroup settings”, aby zapytania przekraczające limit danych na zapytanie kończyły się błędem, zamiast być wykonywane. Zmniejsz ilość skanowanych bajtów poprzez konwersję plików źródłowych do skompresowanych formatów kolumnowych (Parquet/ORC), partycjonowanie według daty lub popularnych kolumn filtrowania, stosowanie predicate pushdown oraz używanie CTAS lub CREATE TABLE AS do materializacji zoptymalizowanych zbiorów danych. Wykorzystuj ponowne użycie wyników zapytań i izolację obciążeń w oddzielnych grupach roboczych, aby uniknąć przenikania kosztów między zespołami.
Decyzje dotyczące kosztów Redshift zależą od przewidywalności obciążenia i wyborów dotyczących pamięci masowej. W przypadku stałego, przewidywalnego wykorzystania mocy obliczeniowej hurtowni danych, zakup węzły zarezerwowane (Reserved Nodes) (na okres jednego lub trzech lat, z opcjami częściowej/pełnej przedpłaty), aby zapewnić sobie zniżki w porównaniu z modelem on-demand. Dla zmiennych obciążeń:
- Użyj Redshift Serverless lub węzłów RA3 z zarządzaną pamięcią masową, aby oddzielić zasoby obliczeniowe od pamięci masowej.
- Używaj skalowania współbieżności (concurrency scaling) oszczędnie (generuje dodatkowe opłaty, ale zapewnia automatyczne skalowanie) i monitoruj kredyty.
Porównanie najważniejszych cech:
- Reserved Nodes: najlepsze dla stabilnych, długoterminowych klastrów; wymaga zobowiązania, ale daje znaczną zniżkę.
- On-demand: elastyczne dla nieprzewidywalnych lub krótkoterminowych projektów; wyższy koszt za godzinę.
- Serverless/RA3 ze Spectrum: przenieś przechowywanie danych do S3 i płać za zasoby obliczeniowe, gdy są aktywne, aby uniknąć dużych zobowiązań związanych z rezerwacją.
Strategie kosztowe dla Glue i EMR
AWS Glue zapewnia bezserwerowe ETL z wieloma dźwigniami kosztowymi. Dla zadań wsadowych, które nie są wrażliwe na opóźnienia, użyj elastycznego wykonania Glue (Glue Flex jobs), co może zredukować koszt nawet o ~34% w porównaniu ze standardowym wykonaniem Glue. Skonfiguruj parametry zadania Glue w Glue Studio lub przez CLI (
undefined
), aby wybrać typ workera i maksymalną liczbę DPU, ustaw rozsądny limit maksymalnych DPU, aby zapobiec nieograniczonemu autoskalowaniu, i używaj zakładek zadań (job bookmarks), aby unikać ponownego przetwarzania całości danych. Dla obciążeń interaktywnych lub wrażliwych na opóźnienia, wybierz odpowiednie typy workerów (Standard/G.1X/G.2X) i odpowiedzialnie dostosuj równoległość.
Redukcja kosztów EMR polega na używaniu instancji Spot dla węzłów zadań (task nodes), utrzymując jednocześnie węzły master i core w modelu On-Demand (skonfiguruj floty instancji lub grupy instancji w konsoli lub przez
undefined
). Używaj instancji Spot tylko dla węzłów zadań, wybierz strategię alokacji zoptymalizowaną pod kątem pojemności (capacity-optimized) i ustaw odpowiednią cenę maksymalną/ofertową, jeśli używasz Spot z licytacją. Zabezpiecz stan klastra i odporność zadań poprzez:
- Przechowywanie trwałych danych w S3 (używając EMRFS) zamiast w HDFS, gdy używasz węzłów zadań Spot.
- Używanie automatycznych ponowień i przepływów opartych na krokach (step-based workflows) do obsługi przerw w działaniu instancji Spot.
- Stosowanie EMR Managed Scaling do odpowiedniego dopasowywania rozmiaru klastrów; monitoruj polityki skalowania, aby unikać oscylacji.
Kryteria decyzyjne:
- Używaj Glue Flex dla zadań ETL o niskim priorytecie, wrażliwych na koszty, z tolerancją na dłuższy czas uruchomienia; ogranicz maksymalną liczbę DPU.
- Używaj EMR z węzłami zadań Spot do dużego przetwarzania tymczasowego (np. nocne zadania wsadowe), ale utrzymuj węzły master/core w modelu On-Demand lub używaj flot instancji (Instance Fleets) z mieszaną alokacją.
← Monitorowanie potoków danych i rozwiązywanie problemów · Wszystkie domeny · Jakość danych →
Przećwicz te pytania → · Testy na czas na ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Zdaj egzamin →