PostgreSQL విభజన ట్యుటోరియల్

Postgresql Vibhajana Tyutoriyal



ఏదైనా డేటాబేస్ కోసం, పనితీరు అనేది ఒక మెట్రిక్, ఇది ప్రభావవంతమైన విశ్వసనీయత కోసం తప్పక పరిష్కరించబడుతుంది, ప్రత్యేకించి పెద్ద డేటా ప్రమేయం ఉన్నప్పుడు. PostgreSQLతో, రికార్డు కోసం శోధిస్తున్నప్పుడు పట్టికను స్కాన్ చేయడానికి అవసరమైన సమయం మరియు వనరులను ఆదా చేయడానికి మీరు తప్పనిసరిగా పట్టిక విభజనలను సృష్టించాలి. పెద్ద పట్టికను చిన్న భాగాలుగా విభజించడం ద్వారా, తక్కువ మెమరీ స్వాప్ అవసరం మరియు మీ అప్లికేషన్ డేటాబేస్ కార్యకలాపాలలో ఆదా చేయడం వలన మెరుగ్గా పని చేస్తుంది.

ఈ పోస్ట్ PostgreSQL విభజనను కవర్ చేస్తుంది. మీరు ఉపయోగించగల వివిధ విభజన ఎంపికలను మేము చర్చిస్తాము మరియు వాటిని మంచి అవగాహన కోసం ఎలా ఉపయోగించాలో ఉదాహరణలు ఇస్తాము.

PostgreSQL విభజనలను ఎలా సృష్టించాలి

ఏదైనా డేటాబేస్ బహుళ ఎంట్రీలతో అనేక పట్టికలను కలిగి ఉండవచ్చు. సులభమైన నిర్వహణ కోసం, మీరు డేటాబేస్ ఆప్టిమైజేషన్ కోసం మరియు విశ్వసనీయతకు సహాయం చేయడానికి గొప్ప మరియు సిఫార్సు చేయబడిన డేటా వేర్‌హౌస్ రొటీన్ అయిన పట్టికలను విభజించాలి. మీరు జాబితా, పరిధి మరియు హాష్‌తో సహా వివిధ విభజనలను సృష్టించవచ్చు. ఒక్కొక్కటి వివరంగా చర్చిద్దాం.







1. జాబితా విభజన

ఏదైనా విభజనను పరిగణించే ముందు, మనం విభజనల కోసం ఉపయోగించే పట్టికను తప్పనిసరిగా సృష్టించాలి. పట్టికను సృష్టిస్తున్నప్పుడు, అన్ని విభజనలకు ఇచ్చిన వాక్యనిర్మాణాన్ని అనుసరించండి:



(partition_key) ద్వారా PARTITION TABLE table_name(column1 data_type, column2 data_type) సృష్టించండి;

“table_name” అనేది మీ టేబుల్‌కి ఉన్న వివిధ నిలువు వరుసలు మరియు వాటి డేటా రకాలతో పాటుగా ఉండే పేరు. “partition_key” కోసం, ఇది విభజన జరిగే నిలువు వరుస. ఉదాహరణకు, మేము మూడు నిలువు వరుసలతో “కోర్సుల” పట్టికను సృష్టించినట్లు క్రింది చిత్రం చూపిస్తుంది. అంతేకాకుండా, మా విభజన రకం LIST, మరియు మేము ఫ్యాకల్టీ కాలమ్‌ను మా విభజన కీగా ఎంచుకుంటాము:







పట్టిక సృష్టించబడిన తర్వాత, మనకు అవసరమైన వివిధ విభజనలను తప్పనిసరిగా సృష్టించాలి. దాని కోసం, కింది సింటాక్స్‌తో కొనసాగండి:

(VALUE) విలువల కోసం ప్రధాన_పట్టిక యొక్క పట్టిక విభజన_పట్టిక విభజనను సృష్టించండి;

ఉదాహరణకు, కింది చిత్రంలోని మొదటి ఉదాహరణ మేము 'Fset' అనే విభజన పట్టికను సృష్టించినట్లు చూపిస్తుంది, ఇది 'FSET' విలువ కలిగిన మా విభజన కీగా మేము ఎంచుకున్న 'ఫ్యాకల్టీ' కాలమ్‌లోని అన్ని విలువలను కలిగి ఉంటుంది. మేము సృష్టించిన ఇతర రెండు విభజనల కోసం మేము ఇదే లాజిక్‌ని ఉపయోగించాము.



మీరు విభజనలను కలిగి ఉన్న తర్వాత, మీరు మేము సృష్టించిన ప్రధాన పట్టికలో విలువలను చేర్చవచ్చు. మీరు చొప్పించిన ప్రతి విలువ మీరు ఎంచుకున్న విభజన కీలోని విలువల ఆధారంగా సంబంధిత విభజనతో సరిపోలుతుంది.

మేము ప్రధాన పట్టికలోని అన్ని ఎంట్రీలను జాబితా చేస్తే, మనం చొప్పించిన అన్ని ఎంట్రీలను కలిగి ఉన్నట్లు మనం చూడవచ్చు.

మేము విభజనలను విజయవంతంగా సృష్టించామని ధృవీకరించడానికి, సృష్టించిన ప్రతి విభజనలోని రికార్డులను తనిఖీ చేద్దాం.

ప్రతి విభజించబడిన పట్టిక విభజన సమయంలో నిర్వచించబడిన ప్రమాణాలకు సరిపోయే ఎంట్రీలను మాత్రమే ఎలా కలిగి ఉందో గమనించండి. జాబితా ద్వారా విభజన ఎలా పని చేస్తుంది.

2. రేంజ్ విభజన

విభజనలను సృష్టించడానికి మరొక ప్రమాణం RANGE ఎంపికను ఉపయోగించడం. దీని కోసం, మేము పరిధి కోసం ఉపయోగించడానికి ప్రారంభ మరియు ముగింపు విలువలను తప్పనిసరిగా పేర్కొనాలి. తేదీలతో పనిచేసేటప్పుడు ఈ పద్ధతిని ఉపయోగించడం అనువైనది.

ప్రధాన పట్టికను రూపొందించడానికి దాని వాక్యనిర్మాణం క్రింది విధంగా ఉంది:

పట్టిక పట్టిక_పేరు (నిలువు వరుస1 డేటా_రకం, కాలమ్2 డేటా_రకం) RANGE ద్వారా విభజన (విభజన_కీ);

మేము “cust_orders” పట్టికను సృష్టించాము మరియు తేదీని మా “partition_key”గా ఉపయోగించడానికి దానిని పేర్కొన్నాము.

విభజనలను సృష్టించడానికి, కింది వాక్యనిర్మాణాన్ని ఉపయోగించండి:

(ప్రారంభ_విలువ) నుండి (ముగింపు_విలువ) విలువల కోసం ప్రధాన_పట్టిక యొక్క పట్టిక విభజన_పట్టికను సృష్టించండి;

'తేదీ' కాలమ్ ఉపయోగించి త్రైమాసికానికి పని చేయడానికి మేము మా విభజనలను నిర్వచించాము.

అన్ని విభజనలను సృష్టించి, డేటాను చొప్పించిన తర్వాత, మా పట్టిక ఇలా కనిపిస్తుంది:

మేము సృష్టించిన విభజనలలోని ఎంట్రీలను తనిఖీ చేస్తే, మా విభజన పని చేస్తుందని మేము ధృవీకరిస్తాము మరియు మేము పేర్కొన్న విభజన ప్రమాణాల ప్రకారం తగిన రికార్డులను మాత్రమే కలిగి ఉన్నాము. మీరు మీ టేబుల్‌కి జోడించే అన్ని కొత్త ఎంట్రీల కోసం, అవి స్వయంచాలకంగా సంబంధిత విభజనకు జోడించబడతాయి.

3. హాష్ విభజన

మేము చర్చించే చివరి విభజన ప్రమాణం హాష్‌ని ఉపయోగించడం. కింది వాక్యనిర్మాణాన్ని ఉపయోగించి ప్రధాన పట్టికను త్వరగా సృష్టిద్దాం:

పట్టిక పట్టిక_పేరును సృష్టించండి (నిలువు వరుస1 డేటా_రకం, కాలమ్2 డేటా_రకం) హాష్ ద్వారా విభజన (విభజన_కీ);

హాష్‌తో విభజన చేస్తున్నప్పుడు, మీరు మాడ్యులస్ మరియు శేషాన్ని అందించాలి, మీ పేర్కొన్న “విభజన_కీ” యొక్క హాష్ విలువతో భాగించబడే అడ్డు వరుసలు. మా విషయంలో, మేము 4 యొక్క మాడ్యులస్‌ని ఉపయోగిస్తాము.

మా వాక్యనిర్మాణం క్రింది విధంగా ఉంది:

విలువల కోసం ప్రధాన_పట్టిక యొక్క పట్టిక విభజన_పట్టిక విభజనను సృష్టించండి (మాడ్యులస్ సంఖ్య 1, మిగిలిన సంఖ్య 2);

మా విభజనలు క్రింది విధంగా ఉన్నాయి:

“main_table” కోసం, ఇది క్రింది వాటిలో చూపబడిన ఎంట్రీలను కలిగి ఉంటుంది:

సృష్టించిన విభజనల కోసం, మేము వారి ఎంట్రీలను త్వరగా యాక్సెస్ చేయవచ్చు మరియు మా విభజన పని చేస్తుందో లేదో ధృవీకరించవచ్చు.

ముగింపు

PostgreSQL విభజనలు సమయం ఆదా చేయడానికి మరియు విశ్వసనీయతను పెంచడానికి డేటాబేస్‌ను ఆప్టిమైజ్ చేయడానికి సులభమైన మార్గం. మేము అందుబాటులో ఉన్న వివిధ ఎంపికలతో సహా విభజన గురించి వివరంగా చర్చించాము. అంతేకాకుండా, విభజనలను ఎలా అమలు చేయాలో మేము ఉదాహరణలను అందించాము. వాటిని ప్రయత్నించండి!