Увид у архитектуру ХБасе



Овај пост говори о ХБасе и увидима у архитектуру ХБасе. Такође се расправља о компонентама Хбасе-а као што су Мастер, Регион сервер и Зоо чувар и како их користити.

У данашњем посту разговарајмо о архитектури ХБасе. Прочистимо наше основе ХБасе-а пре него што дубље уђемо у ХБасе архитектуру.





ХБасе - Основе:

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

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



У базама података оријентисаним на колоне, табела података се чува као делови колона података, а не као редови података. Модел података базе података оријентисане на колоне састоји се од имена табеле, кључа реда, породице колона, колона, временског жига. Током креирања табела у ХБасе, редови ће се јединствено идентификовати помоћу тастера за редове и временског жига. У овом моделу података породица колона је статична, док је колона динамична. Сада ћемо погледати архитектуру ХБасе.

Када одабрати ХБасе?

ХБасе је добра опција само када постоје стотине милиона или милијарде редова. ХБасе се такође може користити на местима када се размишља о преласку са РДБМС-а на ХБасе као потпуни редизајн за разлику од порта. Другим речима, ХБасе није оптимизован за класичне трансакционе апликације или чак релациону аналитику. Такође није потпуна замена за ХДФС када се ради велика серија МапРедуце. Зашто би онда требало да користите ХБасе ?? Ако ваша апликација има шему променљивих где се сваки ред мало разликује, онда бисте требали погледати ХБасе.

ХБасе архитектура:

Следећа слика јасно објашњава архитектуру ХБасе.



Увид у архитектуру ХБасе

У ХБасе постоје три главне компоненте: Господар, регионални сервер и чувар зоолошког врта . Остале компоненте су Мемсторе, ХФиле и ВАЛ.

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

Регион Сервер:

То је систем који делује слично чвору података. Када регион сервер (РС) прими захтев за писање, усмерава захтев на одређени регион. Свака регија чува скуп редова. Подаци редова могу се раздвојити у више породица колона (ЦФ). Подаци о одређеном ЦФ чувају се у ХСторе-у који се састоји од Мемсторе-а и скупа ХФилес-а.

Шта ради Мемсторе?

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

Кључна сврха коришћења Мемсторе-а је потреба за складиштењем података на ДФС-у пореданих по кључу реда. Како је ХДФС дизајниран за секвенцијално читање / писање, без дозвољених модификација датотека, ХБасе не може ефикасно писати податке на диск док се примају: записани подаци неће бити сортирани (када улаз није сортиран) што значи да није оптимизован за будућност проналажење. Да би решио овај проблем, ХБасе одбојници су последњи пут примили податке у меморију (у Мемсторе-у), „сортирали“ их пре испирања, а затим уписали у ХДФС користећи брзо секвенцијално уписивање. Дакле, ХФиле садржи листу сортираних редова.

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

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

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

како сортирати низ ц ++

Узмимо једноставан пример да желим да додам ред 10, а затим уђе захтев за писањем, који каже да даје све мета податке у Мемсторе и ВАЛ. Једном када се тај ред упише у ХФиле, све у Мемсторе-у и ВАЛ се уклања.

Чувар зоолошког врта:

ХБасе долази интегрисан са Зоо чуваром. Када покренем ХБасе, покреће се и инстанца Зоо чувара. Разлог је тај што нам чувар зоолошког врта помаже у праћењу свих регионалних сервера који постоје за ХБасе. Чувар зоолошког врта бележи колико има регионалних сервера, који регионални сервери држе од ког чвора података до ког чвора података. Прати мање скупове података тамо где Хадооп недостаје. Смањује режијске трошкове на врху Хадоопа који прати већину ваших мета података. Отуда ХМастер добија детаље о регионалним серверима тако што заправо контактира чувара Зоолошког врта.

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

Повезани постови:

Корисне команде кошнице