Programovanie

Presuňte sa nad Memcached a Redis, tu je Netflix's Hollow

Po dvoch rokoch interného používania ponúka Netflix nový projekt otvoreného zdroja ako výkonnú možnosť ukladania súborov dát, ktoré sa neustále menia, do medzipamäte.

Hollow je knižnica a sada nástrojov Java zameraná na ukladanie súborov dát do veľkosti niekoľkých gigabajtov v pamäti. Netflix tvrdí, že účel spoločnosti Hollow je trojaký: Má to byť efektívnejšie pri ukladaní dát; môže poskytnúť nástroje na automatické generovanie rozhraní API pre pohodlný prístup k údajom; a dokáže automaticky analyzovať vzory využívania údajov a tak sa efektívnejšie synchronizovať s koncovým serverom.

Nechajme to medzi sebou

Väčšina scenárov ukladania údajov do pamäte cache v systéme, kde nie sú uložené - „spotrebiteľský“ systém skôr ako „producentský“ - spočíva v použití produktu ako Memcached alebo Redis. Spoločnosť Hollow pripomína oba produkty, pretože pre rýchly prístup využíva úložisko v pamäti, ale nejde o skutočné úložisko dát, ako je Redis.

Na rozdiel od mnohých iných systémov na ukladanie údajov do medzipamäte je program Hollow určený na spojenie s konkrétnou množinou údajov - danou schémou s určitými poliami, zvyčajne s tokom JSON. To si vyžaduje určitú prípravnú prácu, aj keď spoločnosť Hollow poskytuje niektoré nástroje na čiastočnú automatizáciu procesu. Dôvod: Hollow môže ukladať údaje do pamäte ako bloky so silnou typu s pevnou dĺžkou, ktoré nepodliehajú zberu odpadu v Jave. Vďaka tomu majú rýchlejší prístup ako bežné objekty Java.

Ďalším údajným prínosom pre Hollow je, že poskytuje škálu nástrojov na prácu s údajmi. Po definovaní schémy pre dáta môže Hollow automaticky vytvoriť Java API, ktoré dokáže dodávať dáta automatického dopĺňania do IDE. Dáta je možné sledovať aj pri ich zmene, takže vývojári majú prístup k snímkam point-in-time, rozdielom medzi snímkami a vráteniu údajov.

Rýchlejšie dookola

Mnoho výhod, ktoré Netflix požaduje pre spoločnosť Hollow, spočíva v základnej prevádzkovej efektivite - konkrétne v rýchlejšom čase spustenia serverov a menšej výmene pamäte. Avšak nástroje na modelovanie a správu údajov spoločnosti Hollow majú tiež pomôcť pri vývoji, nielen urýchliť výrobu.

„Predstavte si, že ste schopní rýchlo presunúť celý svoj produkčný dátový súbor - aktuálny alebo z ktoréhokoľvek bodu v nedávnej minulosti - na miestnu vývojovú pracovnú stanicu, načítať ju a potom presne reprodukovať konkrétne produkčné scenáre,“ uvádza Netflix vo svojom úvodnom blogovom príspevku.

Jednou výhradou je, že spoločnosť Hollow nie je vhodná pre množiny údajov všetkých veľkostí - „spoločnosť KB to uvádza vo svojej dokumentácii“ „KB, MB a GB, ale nie TB“. To znamená, že Netflix tiež naznačuje, že Hollow znižuje množstvo rozrastania požadovaného súborom údajov vo vyrovnávacej pamäti. "So správnym rámcom a trochou dátového modelovania je tento prah [pamäte] pravdepodobne oveľa vyšší, ako si myslíte," píše Netflix.

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