Archiv pro štítek: Google

Objektová úložiště jednou spolknou svět :-).

Objektová úložiště spolknou svět ?


! Nepropadejte panice ! 

Tradiční filesystémy a relační databáze zde budou s námi po mnoho dalších let o tom nemá smysl diskutovat, problém, ale vzniká dnes již na úrovni dat samotných, jsou totiž vysoce nestrukturovaná, bohužel nebo bohudík ?

Odhady říkají, že 80-90% dat kolem nás je nestrukturovaných, přesto se je snažíme popsat strukturou tabulek a relací, v nejhorším případě si uložíme string/json a ten si “žvýkáme” v aplikaci, otázka je zda-li je tento postup správný a nebojujeme proti vlastní “touze” dat být neorganizována.

Připomeňme si známý výrok Billa Jensena z knihy Simplicity.

Množství informací se zdvojnásobuje po každých 1100 dnech, tedy zhruba po třech letech, nicméně, čas, který nám zůstává k zpracování těchto narůstajících informací je stále stejný: 1440 minut denně".

Toto tvrzení bohužel již také není zcela platné, množství informace se zdvojnásobuje za polovinu času. :-(.

Strukturovaná data, ale mají stále a budou mít místo, jsou systémy, které generují “jen” tuto formu dat, senzory, čítače, čtečky, transakce, účto, sklady, … takové vše “bez lidí” z pohledu vývojářů je idylka, vše pevně zaškatulkováno, nikde nic nepřetéká, indexy indexují, ovšem reálný svět takový není.

NEstrukturovaná data jsou opačný extrémní protipól, svět plný chaosu jako kvantové fluktuace, je to náš svět takový jako jsou sami lidé, svět plný textů, audio a video obsahu, emailů, stránek, sociálna … je to “lidský” rozměr dat, pro vývojáře pekelný, nikdo přeci nechce “cpát” profilovou fotku či 100MB video jako blob do tabulky.

Nestrukturovaná data a web aplikace

Tradiční pohled dnešních web aplikací je generování strukturovaného výstupu dat na základě uživatelského vstupu (formuláře/upload) a ukládání na tradiční úložiště (filesystém, relační databáze), doba se však mění a uživatelé k nám budou (chtějí) tlačit data, které nelze jednoduše rozbít do “chlívečků”, protože jejich struktuře nerozumíme, typický zástupce největšího zdroje těchto dat jsou sociální media.

Proč objektová úložiště ?

Studie IDC z roku 2014 o nárůstu nestrukturovaných dat.

Proč “nová” objektová úložiště je zcela legitimní otázka, v první řadě je nutné pochopit (viz studie IDC), že internet je zaplavován masivním nárostem nestrukturovaných dat.

Je nutně změnit tedy přístup k těmto datům, je nutné je umět efektivně obsloužit, zvládnout je ukládat je jedna věc (zde by nebyl problém s klasickým filesystémem), ale většinou požadujeme další vlastnosti, snadný přístup, metadata, škálovatelnost (škálování relačních DB je obecně problém, distribuované FS mají své problémy), redundanci a výkon a flexibilitu (metadata nemohou mít pevnou strukturu tak jako to např. známe z filesystémů).

Objekt jako základ je elementární “struktura”, objekty nejsou na storage organizovány (flat), žádné adresáře ani hierarchie, objekt je reprezentován pouze svým ID, vyšší logiku, smysl, uspořádání zajišťuje aplikace a proto je důležité kvalitní API rozhraní, které je v těsnější integraci přímo s aplikací (aplikace “programuje”/řídí úložiště), z toho pohledu není překvapující, že některá cloud úložiště mají rozhraní přímo přes protokol HTTP/s (všimněte si, že filesystémy nebyly nikdo moc dobře stavěné na přístup přes HTTP/s).

object-storage-object-2016

object-storage-object-archi-2016

Ilustrace filesystému, blokového a objektového úložiště.

object-storage-compare-1200px-2016

Kde to najdu, kde to kvete, AWS S3, Google Cloud Storage a ti druzí …

Začít experimentovat je “snadné”, Amazon Web Services je cloud platforma jejíž součástí je i služba AWS S3 (Simple Storage Service), zajímavou alternativou na testing/vývoj je projekt Minio, což je minimalistický object storage s API kompatibilní s AWS S3.

Dalším zástupce je Google Cloud Storage, nemáme přímé zkušenosti, přednáška byla ovšem dost zajímavá, cenově asi “zatím” stále lépe než AWS, také si zatím hrajeme.

Z opensource možností projekt Ceph, distribuované objektové úložiště umožňující blokovou i file storage, predikuje se velká budoucnost, společnost RedHat koupila projekt Ceph a otevřela ho veřejnosti, předpokládá se integrace s platformou OpenStack a posazení vedle OpenStack Swift object storage, což je další open projekt storage řešení nebo můžete zkusit hodit oko na openio.io.

A to je vše, díky za pozornost.
František Havel, MOJEservery.cz