Programmēšana

Pārvietojieties pār Memcached un Redis, šeit nāk Netflix's Hollow

Pēc divu gadu iekšējas izmantošanas Netflix piedāvā jaunu atvērtā pirmkoda projektu kā spēcīgu iespēju pastāvīgi mainīgo datu kopu kešatmiņā.

Hollow ir Java bibliotēka un rīku kopa, kuras mērķis ir saglabāt atmiņā kešatmiņā datu kopas, kuru lielums ir līdz vairākiem gigabaitiem. Netflix saka, ka Hollow mērķis ir trīs: tas ir paredzēts, lai efektīvāk uzglabātu datus; tas var nodrošināt rīkus, lai automātiski ģenerētu API, lai ērti piekļūtu datiem; un tas var automātiski analizēt datu izmantošanas modeļus, lai efektīvāk sinhronizētu ar aizmuguri.

Turēsim to starp mums

Lielākā daļa scenāriju datu kešatmiņā sistēmā, kurā tie netiek glabāti - drīzāk “patērētāja”, nevis “ražotāja” sistēma - ietver tāda produkta kā Memcached vai Redis izmantošanu. Hollow atgādina abus produktus, jo ātrai piekļuvei tas izmanto atmiņas atmiņu, taču tas nav reāls datu krājums, piemēram, Redis.

Atšķirībā no daudzām citām datu kešatmiņas sistēmām, Hollow ir paredzēts savienot ar noteiktu datu kopu - noteiktu shēmu ar noteiktiem laukiem, parasti ar JSON straumi. Tam nepieciešams zināms sagatavošanās darbs, lai gan Hollow nodrošina dažus rīkus, lai daļēji automatizētu procesu. Iemesls tam: Hollow datus atmiņā var uzglabāt kā fiksēta garuma, stingri ierakstītus gabalus, kas nav pakļauti Java atkritumu savākšanai. Rezultātā viņiem ir ātrāka piekļuve nekā parastajiem Java objektiem.

Vēl viens domājamais labums ar Hollow ir tas, ka tas nodrošina instrumentu klāstu darbam ar datiem. Kad esat definējis datu shēmu, Hollow var automātiski izveidot Java API, kas var sniegt automātiskās pabeigšanas datus IDE. Datus var arī izsekot, kad tie mainās, tāpēc izstrādātājiem ir pieejami momentuzņēmumi momentā, momentuzņēmumu atšķirības un datu atcelšana.

Ātrāk visapkārt

Daudzas priekšrocības, ko Netflix apgalvo par Hollow, ietver pamata darbības efektivitāti, proti, ātrāku serveru palaišanas laiku un mazāk atmiņas. Bet Hollow datu modelēšanas un pārvaldības rīki ir domāti arī attīstībai, nevis vienkārši ražošanas paātrināšanai.

"Iedomājieties, kā jūs varētu ātri pārcelt visu ražošanas datu kopumu - pašreizējo vai no jebkura nesenās pagātnes punkta - līdz vietējās attīstības darbstacijai, ielādēt to un pēc tam precīzi reproducēt konkrētus ražošanas scenārijus," Netflix saka savā emuāra ievadrakstā.

Viens no iebildumiem ir tāds, ka Hollow nav piemērots visu izmēru datu kopām - “KB, MB un GB, bet ne TB” ir tas, kā uzņēmums to iekļauj savā dokumentācijā. Tas nozīmē, ka Netflix arī nozīmē, ka Hollow samazina kešatmiņā saglabāto datu kopai nepieciešamo izplešanās apjomu. "Izmantojot pareizo ietvaru un nedaudz datu modelēšanas, šis [atmiņas] slieksnis, visticamāk, ir daudz augstāks, nekā jūs domājat," raksta Netflix.

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