Rodzaje storage magazynu danych: blokowy, obiektowy, plikowy. File storage, object storage, block storage.

Magazyn blokowy, obiektowy i plikowy – czym się różnią?

Dostawcy infrastruktury chmurowej oferują kilka rodzajów usług służących do przechowywania danych. Sprawdźmy, czym różni się storage obiektowy od blokowego i plikowego.

Magazyn blokowy (block storage)

Magazyn blokowy to najpopularniejsze rozwiązanie służące do przechowywania danych od kilkudziesięciu lat. Właśnie w tej formie dane są przechowywane na dysku Twojego komputera. W storage’u blokowym dane są przechowywane w bajtach (8 bitów) i łączone w segmenty, z których każdy ma swój własny, unikalny identyfikator. Pliki i inne struktury danych są tworzone z tysięcy bloków, z których każdy może podlegać zmianom niezależnie od pozostałych. Przekłada się to na wysoką wydajność i niskie opóźnienia w odczycie i zapisie danych.

U dostawców usług chmurowych magazyny blokowe zazwyczaj stanowią formę dysku podłączanego m.in. do instancji obliczeniowych lub bazodanowych.

Zalety

  • Wydajność – wspomniana już wcześniej możliwość modyfikacji poszczególnych bloków tworzących struktury danych zamiast całych struktur
  • Niezawodność – bloki przechowywane są w formie jednostek o niskiej awaryjności

Wady

  • Brak metadanych – storage blokowy nie zapewnia możliwości dodawania metadanych (za wyłączeniem abstrakcji na poziomie systemu operacyjnego), stąd ten rodzaj magazynu nie sprawdza się w przypadku danych nieustrukturyzowanych
  • Niska wydajność przeszukiwania systemu plików – sposób przechowywania danych w magazynie blokowym oraz brak metadanych powodują niską wydajność wyszukiwania w systemie plików, szczególnie w przypadku dużych zbiorów danych
  • Wysoka cena – chmury obliczeniowe wysoko cenią kolejne gigabajty storage’u blokowego

Przykłady

Nazewnictwo usług storage’u blokowego na najpopularniejszych platformach chmurowych:

  • AWS: EBS
  • Azure: Disk Storage
  • Google Cloud Platform: Persistent Disks

Magazyn plikowy (file storage)

Magazyn plikowy – jak sama nazwa mówi – służy do przechowywania plików. Jest warstwą abstrakcji znajdującą się nad magazynem blokowym. W storage’u plikowym dane są zapisywane w formie plików z rozszerzeniem (np. .jpg, .pdf) lub bez niego, tworzone są także hierarchiczne struktury, takie jak katalogi i podkatalogi. Rozwiązanie to zapewnia również możliwość nadawania uprawnień do plików i katalogów.

Zapisując plik na dysku komputera lub przeglądając zasoby na serwerze NAS korzystasz właśnie z formy storage’u plikowego. W przypadku platform chmurowych ten typ magazynu zazwyczaj jest wykorzystywany jako współdzielony między maszynami zasób z danymi.

Zalety

  • Zrozumiały dla użytkowników – użytkownicy są przyzwyczajeni do pracy z plikami i katalogami przypominającą codzienną pracę na komputerze
  • Łatwy dostęp – dostęp do storage’u plikowego można uzyskać niemalże z dowolnego urządzenia obsługującego montowanie katalogów sieciowych, o ile oczywiście dany zasób został skonfigurowany w ten sposób, by to umożliwiać
  • Zarządzanie plikami – w przypadku mniejszych zbiorów danych, magazyn plikowy jest łatwy w zarządzaniu, tworzeniu struktur, ustawianiu właściwych uprawnień
  • Praca zespołowa – magazyn plikowy umożliwia zespołową pracę nad danymi, w tym nad pracę kilku osób nad tym samym plikiem
  • Uprawnienia – możliwość nadawania uprawnień do danych plików i katalogów, np. do odczytu i zapisu, tylko do odczytu lub blokując dostęp całkowicie

Wady

  • Trudne zarządzanie dużymi zbiorami danych – w miarę rośnięcia zasobu danych, tworzenia kolejnych katalogów, podkatalogów i plików, zarządzanie zbiorem danych może stawać się coraz trudniejsze
  • Relatywnie wysoka cena – choć magazyn plikowy jest na platformach chmurowych zazwyczaj tańszy od magazynu blokowego, wciąż jego cena może coraz bardziej bić po kieszeni przy przechowywaniu dużej ilości danych

Przykłady

Nazewnictwo usług storage’u plikowego na najpopularniejszych platformach chmurowych:

  • AWS: EFS
  • Azure: Files
  • Google Cloud Platform: Filestore

Magazyn obiektowy (file storage)

Magazyn obiektowy przechowuje nieustrukturyzowane dane na dysku jako obiekty, z których każdy ma swój unikalny identyfikator, tworząc w ten sposób bazę danych typu klucz-wartość. Dostęp do danych można uzyskać znając wspomniany identyfikator poprzez interfejs RESTful i protokół HTTP(S).

Object storage idealnie nadaje się do przechowywania dużych zbiorów danych dzięki niskiej cenie i możliwości swobodnego przemieszczania się danych. W tym rozwiązaniu wystarczy bowiem znać sam identyfikator pożądanego obiektu, zaś w przypadku storage’u plikowego dane są przypisane do konkretnych katalogów i podkatalogów, stąd konieczność znajomości całej ścieżki do pliku. Oprogramowanie służące do zarządzania magazynem obiektowym dodatkowo optymalizuje i balansuje zbiory danych.

Rozwiązanie jest podstawą działania licznych usług chmurowych i służy do przechowywania nieustrukturyzowanych danych, np. plików audio, wideo, zdjęć. W tej właśnie formie YouTube przechowuje filmy, a Spotify – piosenki.

Zalety

  • Przechowywanie dużych zbiorów nieustrukturyzowanych danych – ze względu na swój sposób działania, storage obiektowy idealnie nadaje się do tworzenia, przechowywania i zarządzania dużymi zbiorami danych
  • Niska cena – magazyn obiektowy jest zazwyczaj najtańszym rodzajem storage’u na platformach chmury publicznej, w szczególności przy korzystaniu z opcji dla danych, do których rzadko potrzebujemy dostępu. Dodatkowo płatność zachodzi na podstawie realnej ilości przechowywanych danych, nie zadeklarowanego rozmiaru zasobu
  • (Prawie) nielimitowana skalowalność – możliwość przechowywania prawdziwie olbrzymiej ilości danych idącej w eksabajty. Rozmiar pojedynczego zasobu jest nielimitowany, choć oczywiście trzeba mieć na uwadze fizyczną pojemność dysków, z których korzysta dana serwerownia
  • Metadane – storage obiektowy korzysta z metadanych
  • Wydajne wyszukiwanie – możliwość wyszukiwania na podstawie metadanych, zawartości obiektu i innych parametrów, a także wydajne indeksowanie

Wady

  • Brak uprawnień do obiektów – magazyn obiektowy nie obsługuje uprawnień do plików lub katalogów. Uprawnienia można nadawać jedynie na poziomie zasobu. Ktokolwiek ma dostęp do danego zasobu, ma także dostęp do całej jego zawartości
  • Niższa wydajność – format przechowywanych danych powoduje niższą wydajność działania w porównaniu do storage’u plikowego, czy już w szczególności blokowego
  • Brak możliwości modyfikacji części plików – praca opiera się na całych obiektach (np. plikach), a nie na ich częściach. Raz utworzony obiekt może być zmieniony jedynie poprzez usunięcie i dodanie nowej wersji

Przykłady

Nazewnictwo usług storage’u obiektowego na najpopularniejszych platformach chmurowych:

  • AWS: S3
  • Azure: Blob Storage
  • Google Cloud Platform: Cloud Storage
Udostępnij ten artykuł
Skopiuj powyższy link
Poprzedni

Kilka przykładów, jak można wykorzystać możliwości Dockera

Następny

Jak zainstalować Dockera na Ubuntu?