Водич за ПостгреСКЛ партиционисање

Vodic Za Postgreskl Particionisane



За било коју базу података, перформансе су једна метрика која се мора адресирати за ефективну поузданост, посебно када су у питању велики подаци. Са ПостгреСКЛ-ом морате креирати партиције табеле да бисте уштедели време и ресурсе потребне за скенирање табеле док тражите запис. Поделом велике табеле на мање делове, потребно је мање замене меморије и ваша апликација ће радити боље јер штеди на операцијама базе података.

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

Како направити ПостгреСКЛ партиције

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







1. Партиционисање листе

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



ЦРЕАТЕ ТАБЛЕ име_табеле(колона1 тип_података, колона2 тип_података) ПАРТИТИОН БИ <тип_партиције>(кључ_партиције);

„табле_наме“ је назив за вашу табелу поред различитих колона које ће табела имати и њихових типова података. За „партитион_кеи“, то је колона по којој ће се извршити партиционисање. На пример, следећа слика показује да смо креирали табелу „курсеви“ са три колоне. Штавише, наш тип партиционисања је ЛИСТ, а ми бирамо колону факултета као наш партициони кључ:







Када се табела креира, морамо креирати различите партиције које су нам потребне. За то наставите са следећом синтаксом:

ЦРЕАТЕ ТАБЛЕ партитион_табле ПАРТИЦИЈА главне_табеле ЗА ВРЕДНОСТИ У (ВРЕДНОСТ);

На пример, први пример на следећој слици показује да смо креирали табелу партиција под називом „Фсет“ која садржи све вредности у колони „факултет“ коју смо изабрали као наш партициони кључ чија је вредност „ФСЕТ“. Користили смо сличну логику за друге две партиције које смо креирали.



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

Ако наведемо све уносе у главној табели, можемо видети да има све уносе које смо убацили.

Да бисмо потврдили да смо успешно креирали партиције, хајде да проверимо записе у свакој од креираних партиција.

Обратите пажњу на то како свака партиционирана табела садржи само уносе који одговарају критеријумима који су дефинисани приликом партиционисања. Тако функционише подела по листи.

2. Партиционисање опсега

Други критеријум за креирање партиција је коришћење опције РАНГЕ. За ово морамо навести почетне и крајње вредности које ћемо користити за опсег. Коришћење ове методе је идеално када радите са датумима.

Његова синтакса за креирање главне табеле је следећа:

ЦРЕАТЕ ТАБЛЕ табле_наме(колона1 тип_података, колона2 тип_података) ПАРТИТИОН БИ РАНГЕ (партитион_кеи);

Направили смо табелу „цуст_ордерс“ и навели је да користи датум као наш „партитион_кеи“.

Да бисте креирали партиције, користите следећу синтаксу:

ЦРЕАТЕ ТАБЛЕ партитион_табле ПАРТИЦИЈА главне_табеле ЗА ВРЕДНОСТИ ОД (почетна_вредност) ДО (крајња_вредност);

Дефинисали смо наше партиције да раде квартално користећи колону „датум“.

Након креирања свих партиција и уметања података, наша табела изгледа овако:

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

3. Хасх партиционирање

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

ЦРЕАТЕ ТАБЛЕ име_табеле(колона1 тип_података, колона2 тип_података) ПАРТИТИОН БИ ХАСХ (кључ_партиције);

Када партиционишете са хешом, морате да наведете модул и остатак, редове који ће бити подељени са хеш вредношћу вашег специфицираног „партитион_кеи“. За наш случај користимо модул од 4.

Наша синтакса је следећа:

ЦРЕАТЕ ТАБЛЕ партитион_табле ПАРТИЦИЈА главне_табеле ЗА ВРЕДНОСТИ СА (МОДУЛ нум1, РЕМАИНДЕР бр.2);

Наше партиције су следеће:

За „маин_табле“ садржи уносе који су приказани у наставку:

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

Закључак

ПостгреСКЛ партиције су згодан начин оптимизације базе података ради уштеде времена и повећања поузданости. Детаљно смо разговарали о партицији, укључујући различите доступне опције. Штавише, дали смо примере како имплементирати партиције. Испробајте их!