Programování

Přesuňte se přes Memcached a Redis, přichází Netflix's Hollow

Po dvou letech interního používání nabízí Netflix nový projekt s otevřeným zdrojovým kódem jako účinnou možnost ukládání dat do mezipaměti, které se neustále mění.

Hollow je knihovna a sada nástrojů Java zaměřená na ukládání mezipaměti datových sad do velikosti několika gigabajtů v paměti. Netflix říká, že Hollowův účel je trojí: má být efektivnější při ukládání dat; může poskytovat nástroje pro automatické generování API pro pohodlný přístup k datům; a může automaticky analyzovat vzory použití dat a efektivněji synchronizovat se zadním koncem.

Nechme to mezi námi

Většina scénářů pro ukládání dat do mezipaměti v systému, kde nejsou uložena - „spotřebitelský“ systém spíše než „producentský“ - zahrnuje použití produktu jako Memcached nebo Redis. Hollow připomíná oba produkty, protože pro rychlý přístup využívá úložiště v paměti, ale nejde o skutečné úložiště dat, jako je Redis.

Na rozdíl od mnoha jiných systémů pro ukládání dat do mezipaměti je Hollow určen k propojení se specifickou datovou sadou - daným schématem s určitými poli, obvykle proudem JSON. To vyžaduje určitou přípravnou práci, ačkoli Hollow poskytuje některé nástroje k částečné automatizaci procesu. Důvod: Hollow může ukládat data do paměti jako bloky se silným typem pevné délky, které nepodléhají shromažďování paměti Java. Díky tomu mají přístup rychlejší než běžné objekty Java.

Další údajné požehnání s Hollow je, že poskytuje škálu nástrojů pro práci s daty. Jakmile definujete schéma pro data, může Hollow automaticky vytvořit rozhraní Java API, které může dodávat data automatického doplňování do IDE. Data lze také sledovat, jak se mění, takže vývojáři mají přístup k momentovým snímkům, rozdílům mezi snímky a vrácení dat.

Rychleji všude kolem

Mnoho výhod, které Netflix pro Hollow požaduje, zahrnuje základní provozní efektivitu - jmenovitě rychlejší dobu spouštění serverů a méně chrlení paměti. Ale nástroje pro modelování a správu dat společnosti Hollow mají také pomoci s vývojem, ne jen urychlit výrobu.

"Představte si, že můžete rychle přemístit celou svoji produkční datovou sadu - aktuální nebo z jakéhokoli místa v nedávné minulosti - dolů na místní vývojovou pracovní stanici, načíst ji a potom přesně reprodukovat konkrétní produkční scénáře," uvádí Netflix ve svém úvodním blogovém příspěvku.

Jednou výhradou je, že společnost Hollow není vhodná pro datové sady všech velikostí - „společnost KB to uvádí ve své dokumentaci„ KB, MB a GB, ale ne TB. “ To znamená, že Netflix také naznačuje, že Hollow snižuje množství roztažení požadovaného souborem dat v mezipaměti. "Se správným rámcem a trochou datového modelování je tato prahová hodnota [paměti] pravděpodobně mnohem vyšší, než si myslíte," píše Netflix.

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