Како подесити ДинамоДБ партиционе кључеве

Kako Podesiti Dinamodb Particione Kluceve



Продуктивност било које базе података се ослања на доступност података, јер тражење ставке из неколико објеката може бити ужурбано. Често је питање начина на који постављате упите у базу података увек озбиљно разматрање. Партициони кључеви су ваше примарне улазне тачке у ДинамоДБ кад год желите да правите високо ефикасне упите.

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







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



Шта је ДинамоДБ партициони кључ и зашто је важан?

Партициони кључ је једноставан примарни кључ у ДинамоДБ-у, који се често састоји од једног атрибута. Свака ставка у ДинамоДБ табели има јединствени кључ партиције који омогућава брзе и ефикасне процесе упита.



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





Пошто ДинамоДБ резервише податке као конзорцијум атрибута који се називају ставке, атрибути имају јединствене кључеве примарне вредности за лаку доступност. Посебно, ставке у ДинамоДБ-у су сличне записима, пољима, колонама или редовима у већини система база података.

Штавише, ДинамоДБ вам омогућава да дистрибуирате податке у партиције до 10 ГБ складишних јединица. Дакле, свака табела може имати једну или више партиција. Можете користити вредност партиционог кључа као улаз за интерну хеш функцију базе података, са излазом из хеш функције која одређује партицију у којој се ставка чува. Осим тога, локација ставке одређује партицију у којој се чува.



Како подесити ДинамоДБ партиционе кључеве

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

1. Изаберите праве партиционе кључеве

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

Препоручљиво је да користите атрибуте високе кардиналности приликом подешавања кључева ваше ДинамоДБ партиције. Атрибути високе кардиналности карактеришу различите вредности за сваку ставку и могу укључивати Емплоиее_ид, Емплоиее_но, ордер_ид, емаилид, цустомерид или ордерид.

2. Користите конвенцију о именовању ПК

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

На пример, иако ћете можда бити у искушењу да користите постИД и усерИД као партиционе кључеве за моделе Пост и Усер у табели, ДинамоДБ дозвољава само један кључ партиције за сваку табелу. Дакле, не можете користити два у једној табели. Имајте на уму да табеле без кључева за сортирање могу имати ИД партиционе кључеве.

3. Користите сложене атрибуте

Неке табеле имају више користи од композитних кључева. То значи да вам је потребно више од једног атрибута да бисте формирали јединствене кључеве. На пример, можете једноставно да користите цустомер_ИД, цоунтри_цоде и продуцт_ИД да формирате кључ партиције (цустомерид#цоунтрицоде#продуцтид). У исто време, ордер_ид можете користити као кључ за сортирање.

4. Додајте насумичне бројеве на одговарајући начин

Ако очекујете огромну количину уписа за сваки кључ, коришћење додатног префикса или суфикса чини случајеве тешке употребе ефикаснијим. На пример, можете да користите број фактуре заједно са скупом насумичних бројева као ваш партициони кључ. Не заборавите да одвојите различите делове кључа за партицију. На пример, ИнвоицеНумбер#125656#0 као партициони кључ је идеалан за тешку употребу са хиљадама уписа у секунди.

Направите ДинамоДБ партициони кључ

Попут кључева за сортирање, креирање кључа партиције у ДинамоДБ-у укључује креирање шеме кључа за вашу табелу. Наравно, ово се дешава када креирате табелу. Ово често укључује описивање вашег атрибута коришћењем имена атрибута поред типа атрибута. Следећа синтакса ће помоћи:

АттрибутеНаме=стринг,КеиТипе=стринг ...

У датој синтакси, име атрибута је стварно име атрибута, док тип атрибута може бити или Стринг(С), Нумбер(Н) или Бинари(Б).

Такође можете изабрати да користите ЈСОН синтаксу као што је приказано у наставку:

[

{

'АттрибутеНаме': 'стринг',

'КеиТипе': 'ХАСХ'

}

...

]

Коју год синтаксу да одаберете, улога атрибута преузима ХАСХ функцију јер креирамо партициони кључ. Напротив, тип кључа преузима функцију РАНГЕ приликом креирања кључева за сортирање.

Коначно, такође је могуће променити кључ партиције помоћу следећег услужног програма:

ДинамоДБЦлиент.упдатеИтем({
'ТаблеНаме': 'миТабле_Наме',
'Кључ': {
'пк': {
'С': 'ми_ПартитионКеи'
}
},
'УпдатеЕкпрессион': 'СЕТ #емаиладдресс = :емаиладдресс',
„ЕкпрессионАттрибутеНамес“: {
'#емаил': 'адреса е-поште'
},
„ЕкпрессионАттрибутеВалуес“: {
':адреса Е-поште': {
'С': ' [е-маил заштићен] '
}
}
})

Дати услужни програм ажурира ваш атрибут е-поште да изгледа као оно што имате у [е-маил заштићен] за ставку где је кључ партиције (пк) једнак ми_ПартитионКеи.

Закључак

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