Водич за ХБасе: Увод у ХБасе и Фацебоок студија случаја



Овај ХБасе туториал блог вас упознаје са оним што је ХБасе и његовим карактеристикама. Такође покрива студију случаја Фацебоок Мессенгер да би се разумеле предности ХБасе-а.

Као што смо поменули у нашем блог, ХБасе је важан део нашег Хадооп екосистема. Дакле, сада бих желео да вас прођем кроз ХБасе туториал, где ћу вам представити Апацхе ХБасе, а затим ћемо проћи кроз студију случаја Фацебоок Мессенгер. Обрадићемо следеће теме на овом блогу водича за ХБасе:

Водич за Апацхе ХБасе: Историја

Почнимо са историјом ХБасе и знајмо како се ХБасе развијао током одређеног временског периода.





Историја ХБасе - Водич за ХБасе - Едурека

  • Апацхе ХБасе је направљен по узору на Гоогле-ову БигТабле, која се користи за прикупљање података и сервисирање захтева за разне Гоогле услуге као што су Мапс, Финанце, Еартх итд.
  • Апацхе ХБасе започео је као пројекат компаније Поверсет за претрагу природног језика која се бавила масивним и ретким скуповима података.
  • Апацхе ХБасе је први пут објављен у фебруару 2007. Касније у јануару 2008. ХБасе је постао подпројекат Апацхе Хадооп-а.
  • 2010. ХБасе је постао Апацхе-ов пројекат највишег нивоа.

Водич за ХБасе | НоСКЛ базе података | Едурека



Након што сазнате историју Апацхе ХБасе, били бисте радознали да сазнате шта је Апацхе ХБасе? Кренимо даље и погледајте.

Водич за Апацхе ХБасе: Увод у ХБасе

ХБасе је отворени извор, вишедимензионални, дистрибуиран, скалабилан и НоСКЛ база података написан на Јави. ХБасе ради на врху ХДФС (Хадооп Дистрибутед Филе Систем) и пружа могућности сличне БигТабле-у Хадооп-у. Дизајниран је да обезбеди отпоран начин чувања велике колекције ретких скупова података.

функција сортирања ц ++ низ

Будући да ХБасе постиже велику пропусност и малу кашњење пружајући бржи приступ за читање / писање на огромним скуповима података. Стога је ХБасе избор за апликације које захтевају брз и насумичан приступ великој количини података.



Пружа компресију, операције у меморији и Блоом филтере (структура података која говори да ли је нека вредност присутна у скупу или не) како би се испунили захтеви за брзим и насумичним читањем-уписивањем.

Разумимо то на примеру: Млазни мотор генерише различите врсте података из различитих сензора попут сензора притиска, сензора температуре, сензора брзине итд., Што указује на здравствено стање мотора. Ово је врло корисно за разумевање проблема и статуса лета. Континуирани рад мотора генерише 500 ГБ података по лету и отприлике има 300 хиљада летова дневно. Дакле, Енгине Аналитицс која се примењује на такве податке у скоро реалном времену може се користити за проактивну дијагнозу проблема и смањење непланираног застоја. Ово захтева дистрибуирано окружење са којим се може чувати велика количина података брзо случајно читање и писање за обраду у реалном времену. Ево, ХБасе долази по спас. О ХБасе Реад анд Врите детаљно ћу говорити на следећем блогу на ХБасе Арцхитецтуре .

Као што знамо, ХБасе је НоСКЛ база података. Дакле, пре него што схватимо више о ХБасе, прво да разговарамо о НоСКЛ базама података и њиховим врстама.

Водич за Апацхе ХБасе: НоСКЛ базе података

НоСКЛ значи Не само СКЛ . НоСКЛ базе података моделиране су на начин да могу да представљају податке који нису табеларни формати, ункиле релационе базе података. Користи различите формате за представљање података у базама података, па према томе постоје различити типови НоСКЛ база података на основу њиховог формата представљања. Већина НоСКЛ база података користи доступност и брзину у односу на доследност. Сада, кренимо напред и разумемо различите типове НоСКЛ база података и њихове формате представљања.

Кеи-Валуе продавнице:

То је база података без шеме која садржи кључеве и вредности. Сваки кључ, који показује на вредност која је низ бајтова, може бити низ, БЛОБ, КСМЛ итд., Нпр. Ламборгхини је кључ и може указати на вредност Галлардо, Авентадор, Мурциелаго, Ревентон, Диабло, Хурацан, Венено, Центенарио итд.

Кеи-Валуе чува базе података: Аероспике, Цоуцхбасе, Динамо, ФаирЦом ц-трееАЦЕ, ФоундатионДБ, ХиперДек, МемцацхеДБ, МУМПС, Орацле НоСКЛ Датабасе, ОриентДБ, Редис, Риак, Беркелеи ДБ.

Случај употребе

Похране кључева и вредности добро се баве величином и добре су у обради константног тока операција читања / писања са малом кашњењем. То их чини савршеним заПреференције корисника и продавнице профила,Препоруке за производе најновији производи прегледани на веб локацији продавца за вођење препорука будућих производа купаца,Куповинске навике сервисирања огласа резултирају прилагођеним огласима, купонима итд. За сваког купца у реалном времену.

Доцумент Ориентед :

Следи исти пар вредности кључ, али је полуструктуриран попут КСМЛ, ЈСОН, БСОН. Ове структуре се сматрају документима.

Базе података засноване на документима: Апацхе ЦоуцхДБ, Цлустерпоинт, Цоуцхбасе, ДоцументДБ, ХиперДек, ИБМ Домино, МаркЛогиц, МонгоДБ, ОриентДБ, Кизк, РетхинкДБ.

Случај употребе

Како документ подржава флексибилну шему, брзо читање и писање партиција чине га погодним за стварање корисничких база података у разним услугама као што су твиттер, веб странице е-трговине итд.

Колона оријентисана:

У овој бази података подаци се смештају у ћелије груписане у колону, а не у редове. Колоне су логички груписане у породице колона које се могу створити током дефинисања шеме или током извођења.

Ове врсте база података чувају сву ћелију која одговара колони као континуирани унос диска, чинећи тако приступ и претрагу много бржим.

Базе података засноване на колонама: ХБасе, Аццумуло, Цассандра, Друид, Вертица.

Случај употребе

Подржава огромну меморију и омогућава бржи приступ писању читања преко ње. То чини базе података оријентисане на колоне погодне за чување понашања купаца на веб локацији е-трговине, финансијским системима као што су Гоогле Финанце и берзански подаци, Гоогле мапе итд.

Графички оријентисан:

То је савршен флексибилан графички приказ, који се користи за разлику од СКЛ-а. Ове врсте база података лако решавају проблеме скалабилности адреса јер садрже ивице и чвор који се могу проширити у складу са захтевима.

Графичке базе података: АллегроГрапх, АрангоДБ, ИнфинитеГрапх, Апацхе Гирапх, МаркЛогиц, Нео4Ј, ОриентДБ, Виртуосо, Стардог.

Случај употребе

Ово се у основи користи у откривању превара, механизмима за препоруке у реалном времену (у већини случајева е-трговини), управљању главним подацима (МДМ), мрежним и ИТ операцијама, управљању идентитетом и приступом (ИАМ) итд.

ХБасе и Цассандра су две познате базе података оријентисане на колоне. Дакле, сада разговарајући са вишим нивоом, упоредимо и разумемо архитектонске и радне разлике између ХБасе и Цассандре.

Водич за ХБасе: ХБасе против Цассандре

  • ХБасе је направљен по узору на БигТабле (Гоогле), док је Цассандра заснована на ДинамоДБ (Амазон) који је иницијално развио Фацебоок.
  • ХБасе користи Хадооп инфраструктуру (ХДФС, ЗооКеепер), док је Цассандра еволуирала одвојено, али можете комбинирати Хадооп и Цассандра према својим потребама.
  • ХБасе има неколико компоненти које комуницирају заједно попут ХБасе ХМастер, ЗооКеепер, НамеНоде, Регион Северс. Док је Цассандра један чвор типа, у којем су сви чворови једнаки и обавља све функције. Било који чвор може бити координатор којим се уклања једна тачка квара.
  • ХБасе је оптимизован за читање и подржава појединачно уписивање, што доводи до строге доследности. ХБасе подржава скенирање засновано на опсегу, што убрзава поступак скенирања. Док Цассандра подржава читање у једном реду које задржава коначну доследност.
  • Цассандра не подржава скенирање редова заснованих на опсегу, што успорава процес скенирања у поређењу са ХБасе.
  • ХБасе подржава уређену партицију, у којој се редови породице колона чувају у редоследу РовКеи, док је у Цасандри наручена партиција изазов. Због партиционирања РовКеи процес скенирања је бржи у ХБасеу у поређењу са Цассандром.
  • ХБасе не подржава балансирање оптерећења читања, један Регион Сервер служи захтеву за читање, а реплике се користе само у случају квара. Док Цассандра подржава балансирање оптерећења читања и може читати исте податке са различитих чворова. Ово може угрозити доследност.
  • У ЦАП (доследност, доступност и подела-толеранција) теорема ХБасе одржава доследност и доступност док се Касандра фокусира на доступност и поделу-толеранцију.


Сада заронимо дубоко и схватимо карактеристике Апацхе ХБасе што га чини тако популарним.

Водич за Апацхе ХБасе: Карактеристике ХБасе

  • Атомско читање и писање: На нивоу реда, ХБасе пружа атомско читање и писање. То се може објаснити како су током једног поступка читања или писања спречени сви други процеси у извођењу било каквих операција читања или писања.
  • Доследно чита и пише: ХБасе пружа доследно читање и писање због горе наведене функције.
  • Линеарна и модуларна скалабилност: Како се скупови података дистрибуирају преко ХДФС-а, он је линеарно скалабилан кроз различите чворове, као и модуларно скалабилан, јер је подељен на различите чворове.
  • Аутоматско и подесиво осенчење табела: Табеле ХБасе распоређене су по кластерима и ти кластери су распоређени по регионима. Ови региони и кластери се раздвајају и редистрибуирају како подаци расту.
  • Лак за употребу Јава АПИ за приступ клијенту: Пружа једноставан за коришћење Јава АПИ за програмски приступ.
  • Штедљиви приступник и РЕСТ-фулл веб услуге: Такође подржава Тхрифт и РЕСТ АПИ за фронтове који нису Јава.
  • Блокирај кеш и Блоом филтери: ХБасе подржава Блоцк Цацхе и Блоом Филтерс за велику количину оптимизације упита.
  • Аутоматска подршка за кварове: ХБасе са ХДФС-ом ​​пружа ВАЛ (Врите Ахеад Лог) преко кластера који пружа аутоматску подршку за кварове.
  • Сортирани кључеви: Како се претрага врши на низу редова, ХБасе складишти кључеве редова у лексикографском редоследу. Користећи ове сортиране кључеве редова и временску ознаку, можемо да направимо оптимизован захтев.

Крећући се напред у овом водичу за ХБасе, дозволите ми да вам кажем који су случајеви употребе и сценарији у којима се ХБасе може користити, а затим ћу упоредити ХДФС и ХБасе.

Желео бих да вам скренем пажњу на сценарије у којима ХБасе најбоље одговара.

Водич за ХБасе: Где можемо користити ХБасе?

  • Требали бисмо користити ХБасе тамо где имамо велике скупове података (милионе или милијарде или редове и колоне) и потребан нам је брз, насумичан и реалан приступ, читање и писање података.
  • Скупови података распоређени су у различите кластере и потребна нам је велика скалабилност за руковање подацима.
  • Подаци се прикупљају из различитих извора података и то су или полуструктурирани или неструктурирани подаци или комбинација свих. Лако се може носити са ХБасе-ом.
  • Желите да сачувате податке оријентисане на колоне.
  • Имате пуно верзија скупова података и морате их све сачувати.

Пре него што пређем на студију случаја Фацебоок мессенгер,дозволите ми да вам кажем које су разлике између ХБасе и ХДФС.

Водич за ХБасе: ХБасе ВС ХДФС

ХДФС је дистрибуирани систем датотека заснован на Јави који вам омогућава складиштење великих података на више чворова у Хадооп кластеру. Дакле, ХДФС је основни систем за складиштење података за складиштење у дистрибуираном окружењу. ХДФС је систем датотека, док је ХБасе база података (слично као НТФС и МиСКЛ).

Како и ХДФС и ХБасе чувају било коју врсту података (тј. Структуриране, полуструктуриране и неструктуриране) у дистрибуираном окружењу, тако да погледамо разлике између ХДФС система датотека и ХБасе, базе података НоСКЛ.

  • ХБасе пружа приступ малим количинама података са малим кашњењем у великим скуповима података, док ХДФС пружа операције са великим кашњењем.
  • ХБасе подржава случајно читање и писање, док ХДФС подржава ВОРМ (Напиши једном, прочитај више пута или више пута).
  • ХДФС-у се у основи или примарно приступа преко МапРедуце послова, док се ХБасе-у приступа преко командних команди, Јава АПИ-ја, РЕСТ-а, Авро-а или Тхрифт АПИ-ја.

ХДФС чува велике скупове података у дистрибуираном окружењу и користи групну обраду тих података. На пример. помогло би веб локацији за е-трговину да складишти милионе података купаца у дистрибуираном окружењу које је расло током дужег временског периода (може бити 4-5 година или више). Затим користи групну обраду тих података и анализира понашање, образац, захтеве купаца. Тада би компанија могла да сазна коју врсту производа, купца купи у којим месецима. Помаже у складиштењу архивираних података и извршењу групне обраде над њима.

Док ХБасе складишти податке на начин оријентисан на колону, где се свака колона чува заједно, тако да читање постаје брже користећи обраду у реалном времену. На пример. у сличном окружењу е-трговине чува милионе података о производима. Дакле, ако производ тражите међу милионима производа, он оптимизује захтев и процес претраживања, одмах резултирајући резултатом (или можете рећи у реалном времену). Детаљно Архитектонско објашњење ХБасе , Покриваћу на следећем блогу.

Као што знамо да се ХБасе дистрибуира преко ХДФС-а, тако нам комбинација обе пружа изврсну прилику да користимо благодати оба, у прилагођеном решењу, као што ћемо видети у доњој студији случаја Фацебоок мессенгер-а.

Водич за ХБасе: Студија случаја Фацебоок Мессенгер-а

Фацебоок платформа за размену порука пребачен из Апацхе Цассандре у ХБасе у новембру 2010.

Фацебоок Мессенгер комбинује Поруке, е-пошту, ћаскање и СМС у разговор у реалном времену. Фацебоок је покушавао да изгради скалабилну и робусну инфраструктуру за руковање скупом ових услуга.

У то време инфраструктура порука обрађивала је преко 350 милиона корисника који месечно шаљу преко 15 милијарди порука од особе до особе. Услуга ћаскања подржава преко 300 милиона корисника који месечно шаљу преко 120 милијарди порука.

Праћењем употребе открили су да су се појавила два општа узорка података:

како тестирати базу података
  • Кратки скуп временских података који имају тенденцију да буду променљиви
  • Све већи број података којима се ретко приступа

Фацебоок је желео да пронађе решење за складиштење за ова два начина коришћења и започели су истрагу како би пронашли замену за постојећу инфраструктуру Мессагес.

Раније 2008. користили су базу података отвореног кода, тј. Цассандра, која је складиште кључева / вредности кључа / вредности које је већ било у дослуху и које је већ било у продукцији, а служи за саобраћај за Инбок Сеарцх. Њихови тимови су имали велико знање у коришћењу и управљању МиСКЛ базом података, па им је промена било које технологије представљала озбиљну бригу.

Провели су неколико недеља тестирајући различите оквире, како би проценили кластере МиСКЛ, Апацхе Цассандра, Апацхе ХБасе и других система. На крају су одабрали ХБасе.

Како МиСКЛ није успео да ефикасно обрађује велике скупове података, како су индекси и скупови података постајали све већи, перформансе су патиле. Открили су да Цассандра није у стању да се носи са тешким обрасцем за помирење њихове нове инфраструктуре Мессагес.

Главни проблеми су били:

  • Чување великих скупова података који се непрестано повећавају из различитих Фацебоок услуга.
  • Захтева базу података која може да искористи високу обраду на њој.
  • Високе перформансе потребне за испуњавање милиона захтева.
  • Одржавање доследности у складиштењу и перформансама.

Слика: Изазови са којима се суочава Фацебоок мессенгер

За све ове проблеме Фацебоок је смислио решење, тј. ХБасе. Фацебоок је усвојио ХБасе за услуживање Фацебоок мессенгер-а, ћаскања, е-поште итд. Због његових различитих карактеристика.

ХБасе долази са врло добром скалабилношћу и перформансама за ово оптерећење једноставнијим моделом конзистентности од Цассандре. Иако су сматрали да је ХБасе најприкладнији у погледу њихових захтева као што су аутоматско балансирање оптерећења и преусмеравање, подршка за компресију, више крхотина по серверу итд.

ХДФС, који је основни систем датотека који користи ХБасе, такође им је пружио неколико потребних функција као што су контролне суме од краја до краја, репликација и аутоматско ребалансирање оптерећења.

Слика: ХБасе као решење за Фацебоок мессенгер

Док су усвајали ХБасе, такође су се усредсредили на предавање резултата самој ХБасе и започели блиску сарадњу са Апацхе заједницом.

Будући да поруке прихватају податке из различитих извора, попут СМС-а, ћаскања и е-поште, написали су сервер апликација који ће се бавити свим доношењем одлука о корисничкој поруци. Повезује се са великим бројем других услуга. Прилози се чувају у пласту сена (који ради на ХБасе). Такође су написали услугу откривања корисника на врху Апацхе ЗооКеепер-а која разговара са другим инфраструктурним услугама за односе са пријатељима, верификацију рачуна е-поште, одлуке о испоруци и одлуке о приватности.

Фацебоок тим је провео пуно времена потврђујући да је свака од ових услуга робусна, поуздана и пружа добре перформансе за руковање системом за размену порука у реалном времену.

Надам се да је овај ХБасе туториал блог информативан и да вам се свидео. На овом блогу сте упознали основе ХБасе и његове карактеристике.У мом следећем блогу од , Објаснићу архитектура ХБасе и рад ХБасе што га чини популарним за брзо и насумично читање / писање.

Сада када сте разумели основе ХБасе, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Едурека курс за обуку сертификата за велике податке Хадооп помаже ученицима да постану стручњаци за ХДФС, предиво, МапРедуце, ​​свињу, кошницу, ХБасе, Оозие, Флуме и Скооп користећи случајеве коришћења у реалном времену на малопродаји, друштвеним медијима, ваздухопловству, туризму, домену финансија.

Имате питање за нас? Молимо вас да то споменете у одељку за коментаре и јавићемо вам се.