Nowe metryki obiektowej pamięci masowej

Nowe metryki obiektowej pamięci masowejLatająca Forteca autorstwa Nele-Diel

Polecenie przechowywania obiektów S3 Magazyn w chmurze Mail.ru przetłumaczył artykuł o tym, jakie kryteria są ważne przy wyborze magazynu obiektów. Poniżej tekst z perspektywy autora.

Jeśli chodzi o pamięć obiektową, ludzie zazwyczaj myślą tylko o jednej rzeczy: cenie za TB/GB. Oczywiście ten wskaźnik jest ważny, ale sprawia, że ​​podejście jest jednostronne i utożsamia przechowywanie obiektowe z narzędziem do przechowywania archiwalnego. Ponadto takie podejście zmniejsza znaczenie obiektowej pamięci masowej dla stosu technologii przedsiębiorstwa.

Wybierając przechowywanie przedmiotów, należy zwrócić uwagę na pięć cech:

  • występ;
  • skalowalność;
  • Kompatybilny z S3;
  • reakcja na awarie;
  • uczciwość.

Te pięć cech to nowe wskaźniki przechowywania obiektów, wraz z kosztami. Przyjrzyjmy się im wszystkim.

produktywność

Tradycyjnym sklepom obiektowym brakuje wydajności. Dostawcy usług nieustannie ją poświęcali w pogoni za niskimi cenami. Jednak w przypadku nowoczesnego przechowywania obiektów sytuacja wygląda inaczej.

Różne systemy pamięci masowej zbliżają się lub nawet przekraczają prędkość Hadoopa. Współczesne wymagania dotyczące prędkości odczytu i zapisu: od 10 GB/s dla dysków twardych, aż do 35 GB/s dla NVMe. 

Ta przepustowość jest wystarczająca dla Spark, Presto, Tensorflow, Teradata, Vertica, Splunk i innych nowoczesnych platform obliczeniowych w stosie analitycznym. Fakt, że bazy danych MPP są konfigurowane do przechowywania obiektowego, sugeruje, że jest on coraz częściej wykorzystywany jako magazyn podstawowy.

Jeśli Twój system pamięci masowej nie zapewnia wymaganej szybkości, nie możesz wykorzystać danych i wydobyć z nich wartości. Nawet jeśli pobierzesz dane z pamięci obiektowej do struktury przetwarzania w pamięci, nadal będziesz potrzebować przepustowości, aby przesłać dane do i z pamięci. Starsze sklepy z przedmiotami nie mają go wystarczająco dużo.

To jest kluczowa kwestia: nowym miernikiem wydajności jest przepustowość, a nie opóźnienia. Jest to wymagane w przypadku danych na dużą skalę i jest normą w nowoczesnej infrastrukturze danych.

Chociaż testy porównawcze są dobrym sposobem na określenie wydajności, nie można jej dokładnie zmierzyć przed uruchomieniem aplikacji w środowisku. Dopiero po tym można powiedzieć, gdzie dokładnie znajduje się wąskie gardło: w oprogramowaniu, dyskach, sieci czy na poziomie obliczeniowym.

Skalowalność

Skalowalność odnosi się do liczby petabajtów mieszczących się w jednej przestrzeni nazw. Dostawcy twierdzą, że jest to łatwa skalowalność, ale nie mówią, że w miarę skalowania ogromne systemy monolityczne stają się kruche, złożone, niestabilne i drogie.

Nowym miernikiem skalowalności jest liczba przestrzeni nazw lub klientów, których możesz obsłużyć. Metryka jest pobierana bezpośrednio z hiperskalerów, w których elementy składowe pamięci masowej są małe, ale skalowane do miliardów jednostek. Ogólnie rzecz biorąc, jest to metryka chmury.

Kiedy elementy składowe są małe, łatwiej je zoptymalizować pod kątem bezpieczeństwa, kontroli dostępu, zarządzania zasadami, zarządzania cyklem życia i niezakłócających aktualizacji. I ostatecznie zapewnij produktywność. Rozmiar modułu konstrukcyjnego jest funkcją sterowalności obszaru awarii, czyli sposobu, w jaki budowane są systemy o wysokiej odporności.

Wielodostępność ma wiele cech. Chociaż wymiar ten dotyczy sposobu, w jaki organizacje zapewniają dostęp do danych i aplikacji, odnosi się także do samych aplikacji i logiki stojącej za ich wzajemną izolacją.

Charakterystyka nowoczesnego podejścia do multiklienta:

  • W krótkim czasie liczba klientów może wzrosnąć z kilkuset do kilku milionów.
  • Klienci są od siebie całkowicie odizolowani. Dzięki temu mogą uruchamiać różne wersje tego samego oprogramowania i przechowywać obiekty o różnych konfiguracjach, uprawnieniach, funkcjach, poziomach bezpieczeństwa i konserwacji. Jest to konieczne w przypadku skalowania do nowych serwerów, aktualizacji i lokalizacji geograficznych.
  • Pamięć masowa jest elastycznie skalowalna, zasoby udostępniane są na żądanie.
  • Każda operacja jest kontrolowana przez API i jest zautomatyzowana bez interwencji człowieka.
  • Oprogramowanie może być hostowane w kontenerach i korzystać ze standardowych systemów orkiestracji, takich jak Kubernetes.

Kompatybilny z S3

API Amazon S3 jest de facto standardem przechowywania obiektów. Każdy dostawca oprogramowania do przechowywania obiektów twierdzi, że jest z nim kompatybilny. Zgodność z S3 jest binarna: albo jest w pełni zaimplementowana, albo nie.

W praktyce istnieją setki lub tysiące scenariuszy brzegowych, w których coś pójdzie nie tak podczas korzystania z pamięci obiektowej. Zwłaszcza od dostawców prawnie zastrzeżonego oprogramowania i usług. Jego główne przypadki użycia to bezpośrednia archiwizacja lub tworzenie kopii zapasowych, więc istnieje kilka powodów, aby wywołać API, przypadki użycia są jednorodne.

Oprogramowanie open source ma istotne zalety. Obejmuje większość scenariuszy brzegowych, biorąc pod uwagę rozmiar i różnorodność aplikacji, systemów operacyjnych i architektur sprzętowych.

Wszystko to jest ważne dla twórców aplikacji, dlatego warto przetestować aplikację u dostawców pamięci masowej. Open source ułatwia ten proces — łatwiej jest zrozumieć, która platforma jest odpowiednia dla Twojej aplikacji. Dostawca może być używany jako pojedynczy punkt wejścia do magazynu, co oznacza, że ​​spełni Twoje potrzeby. 

Open source oznacza: aplikacje nie są powiązane z dostawcą i są bardziej przejrzyste. Zapewnia to długi cykl życia aplikacji.

I jeszcze kilka uwag na temat open source i S3. 

Jeśli używasz aplikacji Big Data, S3 SELECT poprawia wydajność i efektywność o rząd wielkości. Robi to za pomocą języka SQL do pobierania z magazynu tylko potrzebnych obiektów.

Kluczową kwestią jest obsługa powiadomień o wiadrach. Powiadomienia zbiorcze ułatwiają przetwarzanie bezserwerowe, co jest ważnym elementem każdej architektury mikrousług dostarczanej jako usługa. Biorąc pod uwagę, że przechowywanie obiektów jest w rzeczywistości przechowywaniem w chmurze, możliwość ta staje się krytyczna, gdy przechowywanie obiektów jest wykorzystywane przez aplikacje oparte na chmurze.

Wreszcie implementacja S3 musi obsługiwać interfejsy API szyfrowania po stronie serwera Amazon S3: SSE-C, SSE-S3, SSE-KMS. Co więcej, S3 obsługuje naprawdę bezpieczną ochronę przed manipulacją. 

Reakcja na niepowodzenia

Metryką, która prawdopodobnie jest często pomijana, jest sposób, w jaki system radzi sobie z awariami. Awarie zdarzają się z różnych powodów i pamięć obiektowa musi sobie z nimi radzić.

Na przykład istnieje pojedynczy punkt awarii, którego metryka wynosi zero.

Niestety wiele systemów obiektowej pamięci masowej wykorzystuje specjalne węzły, które muszą być włączone, aby klaster działał prawidłowo. Należą do nich węzły nazw lub serwery metadanych — tworzy to pojedynczy punkt awarii.

Nawet tam, gdzie istnieje wiele punktów awarii, najważniejsza jest zdolność przeciwstawienia się katastrofalnej awarii. Awarie dysków, awaria serwerów. Kluczem jest stworzenie oprogramowania zaprojektowanego tak, aby radziło sobie z awarią w normalnym stanie. Jeśli dysk lub węzeł ulegnie awarii, takie oprogramowanie będzie nadal działać bez zmian.

Wbudowana ochrona przed usunięciem i degradacją danych gwarantuje, że możesz utracić tyle dysków lub węzłów, ile masz bloków parzystości — zwykle połowę dysków. Tylko wtedy oprogramowanie nie będzie mogło zwrócić danych.

Awaria jest rzadko testowana pod obciążeniem, ale takie testowanie jest wymagane. Symulacja awarii obciążenia pokaże całkowite koszty poniesione po awarii.

Konsystencja

Wynik spójności wynoszący 100% nazywany jest również ścisłą spójnością. Spójność jest kluczowym elementem każdego systemu przechowywania, ale silna spójność jest rzadkością. Na przykład obiekt ListObject Amazon S3 nie jest ściśle spójny, jest spójny tylko na końcu.

Co oznacza ścisła spójność? Dla wszystkich operacji następujących po potwierdzonej operacji PUT muszą nastąpić:

  • Zaktualizowana wartość jest widoczna podczas odczytu z dowolnego węzła.
  • Aktualizacja jest zabezpieczona przed redundancją awarii węzła.

Oznacza to, że jeśli wyciągniesz wtyczkę w trakcie nagrywania, nic nie zostanie utracone. System nigdy nie zwraca uszkodzonych lub nieaktualnych danych. To wysoka poprzeczka, która ma znaczenie w wielu scenariuszach, od aplikacji transakcyjnych po tworzenie kopii zapasowych i odzyskiwanie danych.

wniosek

Są to nowe wskaźniki obiektowej pamięci masowej, które odzwierciedlają wzorce użytkowania we współczesnych organizacjach, w których wydajność, spójność, skalowalność, domeny błędów i zgodność z S3 to elementy składowe aplikacji w chmurze i analityki dużych zbiorów danych. Polecam używać tej listy oprócz ceny podczas budowania nowoczesnych stosów danych. 

Informacje o przechowywaniu obiektów w chmurze Mail.ru: Architektura S3. 3 lata ewolucji Cloud Storage Mail.ru.

Co jeszcze przeczytać:

  1. Przykład aplikacji sterowanej zdarzeniami opartej na webhookach w obiektowej pamięci masowej S3 Mail.ru Cloud Solutions.
  2. Więcej niż Ceph: przechowywanie bloków w chmurze MCS 
  3. Praca z magazynem obiektowym Mail.ru Cloud Solutions S3 jako systemem plików.
  4. Nasz kanał Telegram z wiadomościami o aktualizacjach pamięci masowej S3 i innych produktów

Źródło: www.habr.com

Dodaj komentarz