Programiranje

Pomaknite se čez Memcached in Redis, prihaja Netflixova votlina

Po dveh letih notranje uporabe Netflix ponuja nov odprtokodni projekt kot zmogljivo možnost za predpomnjenje naborov podatkov, ki se nenehno spreminjajo.

Hollow je knjižnica in nabor orodij Java, namenjena predpomnjenju naborov podatkov v pomnilniku do velikosti več gigabajtov. Netflix pravi, da je namen Hollowa trojen: namenjen je učinkovitejšemu shranjevanju podatkov; lahko nudi orodja za samodejno generiranje API-jev za priročen dostop do podatkov; in lahko samodejno analizira vzorce uporabe podatkov za učinkovitejšo sinhronizacijo s hrbtnim delom.

Naj bo to med nami

Večina scenarijev za predpomnjenje podatkov v sistemu, v katerem ti niso shranjeni - sistem »potrošnik« in ne sistem »proizvajalec«, vključuje uporabo izdelka, kot sta Memcached ali Redis. Hollow spominja na oba izdelka, saj za hiter dostop uporablja pomnilnik v pomnilniku, vendar ni dejanska shramba podatkov, kot je Redis.

Za razliko od mnogih drugih sistemov za predpomnjenje podatkov je Hollow namenjen povezovanju z določenim naborom podatkov - dano shemo z določenimi polji, običajno tokovom JSON. To zahteva nekaj priprav, čeprav Hollow ponuja nekaj orodij za delno avtomatizacijo postopka. Razlog za to: Hollow lahko podatke shrani v pomnilnik kot močno vtipkane koščke fiksne dolžine, ki niso predmet zbiranja smeti na Javi. Zaradi tega imajo hitrejši dostop do njih kot običajni predmeti Java.

Druga domnevna blaginja Hollow-a je, da zagotavlja obseg orodij za delo s podatki. Ko definirate shemo za podatke, lahko Hollow samodejno izdela Java API, ki lahko IDE posreduje podatke za samodokončanje. Podatkom je mogoče slediti tudi, ko se spreminjajo, tako da imajo razvijalci dostop do trenutnih posnetkov, razlik med posnetki in povratnih podatkov.

Hitreje naokoli

Veliko prednosti, ki jih Netflix trdi za Hollow, vključuje osnovno operativno učinkovitost - namreč hitrejši čas zagona strežnikov in manjši odtok pomnilnika. Toda orodja za modeliranje in upravljanje podatkov Hollow naj bi pomagala tudi pri razvoju, ne zgolj pri pospeševanju proizvodnje.

"Predstavljajte si, da lahko svoj celoten nabor podatkov o proizvodnji - trenutno ali s katere koli točke v bližnji preteklosti - hitro premaknete do lokalne razvojne delovne postaje, jo naložite in nato natančno reproducirate določene proizvodne scenarije," pravi Netflix v uvodni objavi v spletnem dnevniku.

Eno opozorilo je, da Hollow ni primeren za nabore podatkov vseh velikosti - »KB, MB in GB, ne pa tudi TB«, tako podjetje navaja v svoji dokumentaciji. Kljub temu Netflix tudi pomeni, da Hollow zmanjša količino razširitve, ki jo zahteva predpomnjeni nabor podatkov. "Z ustreznim okvirom in malo modeliranja podatkov je ta [spominski] prag verjetno precej višji, kot si mislite," piše Netflix.

$config[zx-auto] not found$config[zx-overlay] not found