Дата Модел ин Цассандра - Како моделирати податке у Цассандри?

Преглед садржаја:

Anonim

Увод у модел података у Цассандри

Апацхе Цассандра је постала једна од најмоћнијих НоСКЛ база података. То је прави избор када желите високу доступност и скалабилност без нарушавања перформанси - посебно за апликације које не могу да приуште губитак података. У овој теми ћемо сазнати о моделу података у Касандри.

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

Правила модела Цассандра Дата

Једноставним речима, Модел података је логичка структура базе података. Описује како се подаци чувају и приступају, као и односе између различитих врста података.

Одабир правог модела података може бити најтежи део употребе НоСКЛ базе података попут Цассандра. Као што сам раније напоменуо, моделирање података у Касандри разликује се од онога што видимо у РДБМС-у.

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

Подела

Цассандра је дистрибуирана база података у којој се подаци деле и чувају у различитим чворовима у кластеру. Подаци се дијеле кориштењем партицијског кључа - који може бити једно или више поља података. Овај кључ партиције користи се за креирање хасх механизма за равномерно ширење података по свим чворовима.

Кластер

Кластер је збирка чворова који представљају јединствену логичку базу података. Кластерски кључ састоји се од једног или више поља која се користе за груписање података заједно у партицији.

У ресторанима ове таблице, подаци ће бити подељени користећи код државе, име државе и име града, а унутар те партиције подаци ће се групирати и сортирати на основу отварања_податка и имена ресторана.

Погледајмо сада два правила за моделирање података која треба имати на уму.

  • Подаци су равномерно распоређени по целокупном кластеру
  • Читајте са што мање партиција

Погледајмо шта ова правила покушавају да пренесу

  • Знамо шта је тачно кластер? Кластер се састоји од више чворова. Желимо да податке поделимо међу ове чворове тако да сваки чвор има приближно исту количину података. Као што знамо подаци су подељени на различите чворове помоћу хасх-а партицијског кључа (који је први кључ примарног кључа), тако укратко - „Требали бисте одабрати добар примарни кључ“.
  • Свака партиција налази се на другом чвору, тако да када дохватите податке, желите бити сигурни да су подаци преузети из што је могуће мање партиција. Ако ваш упит захтева податке са различитих партиција, издаће се наредба за одвојене чворове да бисте добили те податке, који ће бити надземни и довести до кашњења.

Кључ ефикасног модела података био би баланс између ова два правила.

Решите односе у Цассандри

Једна ствар коју треба имати на уму је да се моделирање података у Цассандри врши помоћу Куери приступа, за разлику од РДБМС-а где прво идентификујете ентитете, креирате табеле, а затим обликујете упите помоћу ЈОИНС за преузимање података.

Једноставно речено, не моделирамо односе или објекте, моделирамо упите.

1. Однос један на један

Сматрајте да се на универзитету студент може пријавити само на један семинар. Ово је однос један на један. Придржавајући се правила # 1, мислимо на упите које желимо. Желим да потражим семинар на којем студент похађа. У овом случају направићемо само једну табелу. Табела треба да садржи детаље о студенту и детаље о семинару.

2. Однос један према многима

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

3. Однос многих до многих

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

Значај Цассандра

Са брзим ширењем дигиталних података, све је важније да постоји високо скалабилна база података отпорна на грешке. Дозволите ми да вам напишем неколико тачака зашто бисте требали користити Цассандра

  • Осветљавање операција брзог читања: Расправљали смо о томе како моделирање података на исправан начин може да оптимизира операције читања у великом обиму.
  • Фаулт толерант: Подаци се реплицирају кроз чворове, па чак и ако један чвор иде према доље, подаци су сигурни.
  • Прилагођено подешавање: Можете да подесите Цассандра да ради у складу са вашим радним оптерећењем. Ако пишете пуно података, као што је бележење дневника, можете је подешавати како би се руковали тешким системима. Доступно је неколико других опција подешавања.
  • Суочавање са великим количинама података: На основу величине кластера, Цассандра се може носити са огромним количинама података.

Како моделирати податке у Цассандри?

Добро моделирање података прати ове кораке

  • Концептуализирајте упите које захтјева ваша апликација
  • Израда табела које задовољавају те упите

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

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

Табела у наставку може се користити када желимо прегледати на основу назива ресторана:

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

Уместо тога, имајући на уму # 2 правило, лако можемо креирати још једну табелу која ће служити нашим потребама.

Сада ће наши подаци бити подељени на начин да ће чвор у кластеру имати ресторане за одређену локацију. То ће оптимизирати наше упите за читање, јер ће се претраживање упита одвијати само на једном чвору са много мање редова од прве табеле коју смо креирали.

Шта ако желимо да претражимо ресторане у одређеном граду, можемо да направимо другу табелу, а не да понављамо све редове у једној партицији горње табеле.

Закључак

У овом сам чланку описао неколико најбољих пракси којих можете слиједити како приступити моделирању података у Цассандри. Ако разумете ове концепте и можете ефикасно да препознате врсту упита која вам апликација треба, можете да направите одличан модел података да бисте извукли високе перформансе из своје базе података.

Препоручени чланци

Ово је водич за Дата Модел у Цассандри. Овде смо расправљали о начину моделирања наших података у Цассандри, заједно са правилима и важности Цассандра Модела података. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. Шта је моделирање података?
  2. Модели података у ДБМС-у
  3. Питања о интервјуу за моделирање података
  4. Цассандра Дата Моделинг