Programavimas

Pereikite per „Memcached“ ir „Redis“, čia pasirodys „Netflix“ „Hollow“

Po dvejų metų vidinio naudojimo „Netflix“ siūlo naują atvirojo kodo projektą kaip galingą galimybę nuolat keičiantiems duomenų rinkiniams laikyti talpykloje.

„Hollow“ yra „Java“ biblioteka ir įrankių rinkinys, skirtas atminties atmintims išsaugoti iki kelių gigabaitų dydžio duomenų rinkinius. „Netflix“ teigia, kad „Hollow“ tikslas yra trejopas: ketinama efektyviau saugoti duomenis; jis gali suteikti įrankių, leidžiančių automatiškai generuoti API, kad būtų patogiau pasiekti duomenis; ir jis gali automatiškai išanalizuoti duomenų naudojimo modelius, kad būtų efektyviau sinchronizuojamas su galine dalimi.

Laikykime tai tarp savęs

Dauguma duomenų, susijusių su talpykla sistemoje, kurioje jie nėra saugomi - „vartotojų“, o ne „gamintojų“, scenarijai - naudoja tokį produktą kaip „Memcached“ ar „Redis“. „Hollow“ primena abu produktus, nes greitam pasiekimui naudoja atminties atmintį, tačiau tai nėra tikroji duomenų saugykla, tokia kaip „Redis“.

Skirtingai nuo daugelio kitų duomenų talpyklos sistemų, „Hollow“ ketinama susieti su konkrečiu duomenų rinkiniu - tam tikra schema su tam tikrais laukais, paprastai JSON srautu. Tam reikia šiek tiek paruošiamojo darbo, nors „Hollow“ pateikia keletą įrankių, iš dalies automatizuojančių procesą. To priežastis: „Hollow“ gali atmintyje saugoti duomenis kaip fiksuoto ilgio, griežtai įvestus gabalus, kuriems netaikomos „Java“ šiukšlių kolekcijos. Todėl jie yra greičiau pasiekiami nei įprasti „Java“ objektai.

Kitas tariamas „Hollow“ palaiminimas yra tai, kad jis suteikia daugybę įrankių darbui su duomenimis. Apibrėžus duomenų schemą, „Hollow“ gali automatiškai sukurti „Java“ API, kuri gali pateikti automatinio užbaigimo duomenis IDE. Duomenis taip pat galima stebėti, kai jie keičiasi, todėl kūrėjai turi prieigą prie momentinių momentinių nuotraukų, momentinių nuotraukų skirtumų ir duomenų grąžinimo.

Greičiau aplinkui

Daugybė „Netflix“ teiginių, kuriuos reikalauja „Hollow“, susiję su pagrindiniu operatyviniu efektyvumu, ty greitesniu serverių paleidimo laiku ir mažiau atminties. Tačiau „Hollow“ duomenų modeliavimo ir valdymo įrankiai taip pat skirti vystymuisi padėti, o ne tik pagreitinti gamybą.

„Įsivaizduokite, kad galėsite greitai perkelti visą savo gamybos duomenų rinkinį - esamą ar iš bet kurios netolimos praeities vietos - iki vietos plėtros darbo vietos, įkelti jį, tada tiksliai atkurti konkrečius gamybos scenarijus“, - sakoma „Netflix“ įžanginiame tinklaraščio įraše.

Viena iš perspėjimų yra ta, kad „Hollow“ nėra tinkama visų dydžių duomenų rinkiniams - „KB, MB ir GB, bet ne TB“, taip bendrovė pateikia savo dokumentacijoje. Be to, „Netflix“ taip pat reiškia, kad „Hollow“ sumažina išplėtimo kiekį, kurio reikalauja talpykloje saugomas duomenų rinkinys. „Turint tinkamą sistemą ir šiek tiek modeliuojant duomenis, tas [atminties] slenkstis greičiausiai yra daug didesnis, nei jūs manote“, - rašo „Netflix“.