Nodea — logo

Object storage

Object storage, czyli magazyn obiektowy, to model przechowywania danych, w którym każdy plik zapisywany jest jako niepodzielny obiekt złożony z samej treści, unikalnego identyfikatora oraz bogatych metadanych. W odróżnieniu od klasycznych systemów plików nie istnieje tu hierarchia katalogów — wszystkie obiekty żyją w płaskiej przestrzeni nazw i są pobierane po kluczu przez interfejs API, najczęściej zgodny ze standardem Amazon S3.

Jak działa object storage?

Zamiast dzielić dane na bloki na dysku, magazyn obiektowy traktuje plik jako całość i przypisuje mu identyfikator oraz metadane opisujące zawartość (typ, datę, uprawnienia, dowolne pary klucz–wartość). Obiekty grupuje się w tzw. kubełki (buckets), a dostęp odbywa się przez żądania HTTP typu PUT, GET czy DELETE — bez montowania woluminu. System jest z założenia rozproszony: te same dane replikowane są na wiele węzłów i lokalizacji, co daje wysoką trwałość i odporność na awarię pojedynczego serwera.

Płaska struktura i adresowanie po kluczu pozwalają skalować pojemność niemal w nieskończoność, po prostu dokładając kolejne węzły. Ceną za to jest wyższe opóźnienie pojedynczego odczytu i brak możliwości modyfikacji fragmentu pliku — obiekt nadpisuje się w całości.

Zastosowanie w praktyce

Object storage jest naturalnym wyborem dla danych, które przyrastają masowo i rzadko się zmieniają: kopii zapasowych, archiwów, logów, nagrań wideo, zdjęć produktowych czy zasobów serwowanych przez CDN. Dzięki wersjonowaniu i blokadom można na nim budować niezmienialne kopie zapasowe odporne na ransomware.

W praktyce hostingowej i chmurowej magazyn obiektowy pełni rolę taniej, elastycznej warstwy przechowywania odciążającej dyski serwera aplikacyjnego — pliki użytkowników i backupy trafiają do buckets, a serwer zajmuje się wyłącznie logiką aplikacji. Zgodność z API S3 sprawia, że większość bibliotek i narzędzi CMS działa z nim bez modyfikacji kodu.

Powiązane pojęcia

Najczęstsze pytania

Czym różni się object storage od dysku blokowego?

Dysk blokowy (block storage) udostępnia surowe bloki, które system operacyjny formatuje i montuje jak lokalny dysk — nadaje się na bazy danych i systemy plików. Object storage nie zna pojęcia dysku ani katalogów: przechowuje całe obiekty adresowane kluczem i dostępne przez API HTTP. Blokowy wygrywa przy niskich opóźnieniach, obiektowy przy masowej, taniej i praktycznie nieograniczonej pojemności.