அக்டோபர் 22, 2020

பொதுவான PostgreSQL சவால்கள் மற்றும் அவற்றை எவ்வாறு சமாளிப்பது

PostgreSQL என்பது மிகவும் பிரபலமானது திறந்த மூல தரவுத்தளம் இந்த நேரத்தில் உலகில், கடந்த பத்தாண்டுகளில் அதன் எழுச்சி குறிப்பிடத்தக்கதாக இல்லை. அதன் விரிவாக்கம் மற்றும் நம்பகத்தன்மை பெரிய, நிறுவப்பட்ட அமைப்புகளின் கவனத்தை ஈர்க்கிறது. கூடுதலாக, இது ஒரு இலவச, திறந்த மூல தரவுத்தள மேலாண்மை அமைப்பு. இது ஒரு பட்ஜெட்டில் இயங்கும் சிறு வணிகர்களிடையே அதன் முக்கிய விற்பனை புள்ளியாக செயல்படுகிறது.

அந்த நன்மைகள் அனைத்தும் ஒரு பிளிப்சைட் இல்லாமல் வராது என்று கூறினார். PostgreSQL, வேறு எந்த முக்கிய நீரோட்டத்தையும் போல DBMS,, ஒவ்வொரு டெவலப்பரும் முன்கூட்டியே தெரிந்து கொள்ள வேண்டிய அதன் குறைபாடுகளைக் கொண்டுள்ளது. இந்த கட்டுரை PostgreSQL டெவலப்பர்கள் எதிர்கொள்ளும் பொதுவான பிரச்சினைகள் மற்றும் அவற்றைத் தவிர்ப்பதற்கான சிறந்த வழிகள் பற்றி விவாதிக்கும்.

செயல்திறன் சிக்கல்கள்

உலகில் அவ்வப்போது செயல்திறன் சிக்கல்களை அனுபவிக்காத ஒரு தரவுத்தள மேலாண்மை அமைப்பு இல்லை. PostgreSQL இந்த சிக்கல்களுக்கு ஆளாகாது, ஆனால் அவை ஒரு முறைக்கு ஒரு முறை நிகழ்கின்றன, மேலும் எந்தவொரு கணினி நிர்வாகியும் அவற்றை எவ்வாறு அடையாளம் கண்டுகொள்வது மற்றும் அகற்றுவது என்பதை அறிவது புத்திசாலித்தனம்.

பல டெவலப்பர்கள் மற்றும் கணினி நிர்வாகிகள் செயல்திறன் சிக்கல்களை அகற்ற ஒரே வழி postgresql.conf இல் அளவுரு சரிப்படுத்தும் என்று நினைக்கிறார்கள். கட்டமைப்பு அளவுருக்கள் பயனளிக்கும் போது, ​​அவை எப்போதும் உங்களை சிக்கலின் மூலத்திற்கு அழைத்துச் செல்லாது. பல நிகழ்வுகளில், சிக்கல் நீங்கள் கவனம் செலுத்துவதிலிருந்து முற்றிலும் மாறுபட்டதாக இருக்கும்.

சிலர் தங்கள் சுமை நேரங்களைப் பார்த்து மெதுவான கேள்விகளைக் கண்டறிய pg_stat_statements பார்வையைப் பயன்படுத்துகின்றனர். மற்றவர்கள் விரும்புகிறார்கள் PostgreSQL விளக்கு, இது மிகவும் துல்லியமான மற்றும் அனைத்தையும் உள்ளடக்கிய வினவல் முறிவை வழங்குவதற்காக மதிக்கப்படுகிறது. பகுப்பாய்வோடு சேர்ந்து, போஸ்ட்கிரெஸ்க்யூலின் திட்டமிடுபவர் உருவாக்கிய செயல்பாட்டுத் திட்டத்தைக் காண்பிப்பதன் மூலமும், இயக்க நேரத்தைக் காண்பிப்பதன் மூலமும் போஸ்ட்கிரெஸ்க்யூல் செயல்திறனை அதிகரிக்க இந்த செயல்பாடு உதவுகிறது.

பிரதி பின்னடைவு சிக்கல்கள்

நகலெடுக்கும் பின்னடைவு சிக்கல்களின் வழக்குகள் மிகக் குறைவானவையாகும், ஆனால் அவை பயன்பாட்டு செயல்திறனில் அதிக தாக்கத்தை ஏற்படுத்துகின்றன. PostgreSQL பிரதிபலிப்பு பின்னடைவுகளை அடையாளம் காண்பது மிகவும் எளிதான பணியாகும், ஆனால் சிக்கலைப் பார்ப்பதற்கு பல வழிகள் உள்ளன, அவை தீர்க்க மிகவும் பொருத்தமான வழியைத் தீர்மானிக்கக்கூடும்.

போஸ்ட்கிரெஸ்க்யூல் ஸ்ட்ரீமிங் பிரதிகளைப் பயன்படுத்துகிறது - பதிப்பு 9.0 இல் அறிமுகப்படுத்தப்பட்ட ஒரு அம்சம் - இது WAL ரிசீவர் இடைமறித்ததைப் போலவே மாற்றங்கள் தொடர்ச்சியான பதிவு பதிவுகளாக உள்நுழைந்திருப்பதால் அதை விரைவாகச் செய்ய வேண்டும். இந்த பதிவு பதிவுகள் WAL கோப்பில் வைக்கப்பட்டவுடன், PostgreSQL தொடக்க செயல்முறை அந்த தரவை மீண்டும் இயக்குகிறது மற்றும் ஸ்ட்ரீமிங் பிரதி செயல்முறை தொடங்குகிறது.

போது பெரும்பாலான பின்னடைவுகள் ஏற்படுகின்றன WAL பிரிவு கண்டுபிடிக்க முடியவில்லை, அல்லது பிணைய சிக்கல்கள், உள்ளமைவு சிக்கல்கள், மோசமான வன்பொருள் அல்லது பிஸியான முனைகள் உள்ளன. ஸ்ட்ரீமிங் பிரதி நிலையைப் பார்வையிட pg_stat_replication பயன்பாட்டைப் பயன்படுத்தலாம். க்ளஸ்டர் கன்ட்ரோலும் தரவுத்தள முனை கண்காணிப்புக்கு உதவுவதாகக் காட்டப்பட்டுள்ளது.

திட்டத்தை புதுப்பிக்கும்போது வேலையில்லா நேரம்

PostgreSQL தரவுத்தள திட்டத்தை புதுப்பிப்பது எளிதானது, அதைச் செய்யும்போது ஆஃப்லைனில் செல்ல முடியும். நீங்கள் பயன்பாட்டை மூடி, ஸ்கீமா காப்புப்பிரதியை உருவாக்க வேண்டும், புதுப்பிப்பு செயல்பாடுகளைச் செய்ய வேண்டும், உங்கள் வேலையை மதிப்பாய்வு செய்து சோதிக்க வேண்டும், உங்கள் விண்ணப்பத்தை மறுதொடக்கம் செய்ய வேண்டும், நீங்கள் எல்லாவற்றையும் சரியாகப் பெற்றுள்ளீர்கள் என்று நம்புகிறீர்கள்.

இருப்பினும், உங்கள் பயன்பாட்டின் தன்மை தேவைப்பட்டால் விஷயங்கள் அவ்வளவு சுலபமாக இருக்காது வேலையில்லா நேரம். இதற்கு ஒரு சிக்கலான, பல கட்ட செயல்முறை தேவைப்படுகிறது, இது உங்கள் தரவுத்தளத்தை மாற்ற பின்தங்கிய-இணக்கமான அணுகுமுறையைப் பயன்படுத்தலாம். உங்கள் பழைய மற்றும் புதிய பயன்பாட்டு பதிப்புகளுக்கு தரவுத்தளத்தைப் பயன்படுத்தக்கூடியதாக மாற்றுவதே இதன் முக்கிய அம்சமாகும்.

பின்தங்கிய-இணக்கமற்ற இடம்பெயர்வு நடவடிக்கைகளுக்கு, உங்கள் பயன்பாட்டின் இரு பதிப்புகளும் பயன்படுத்தக்கூடிய தரவுத்தளத்தை உருவாக்க அவற்றை சிறிய படிகளாக உடைக்கலாம். பெரும்பாலும், பயனருக்கு ஒரு புதிய அட்டவணை அல்லது பார்வை அல்லது நெடுவரிசையை உருவாக்க வேண்டும், இது உங்கள் புதிய பயன்பாட்டு பதிப்பு பயன்படுத்தும்.

பாதுகாப்பு கடினமாக்குதல்

முதலாவதாக, PostgreSQL தரவுத்தளமானது சில சிறந்தவற்றை வழங்குகிறது என்பதை தெளிவுபடுத்துங்கள் தரவு பாதுகாப்பு உங்கள் சேவையகம் மற்றும் தரவுக்கான அம்சங்கள். அவற்றைக் கண்டறிந்து வரிசைப்படுத்த வேண்டிய நேரம் வரும்போது பிரச்சினை வருகிறது.

PostgreSQL இல் பாதுகாப்பு கடினப்படுத்துதல் மூன்று முக்கிய வகைகளாக பிரிக்கப்படலாம்: சேவையக உள்ளமைவு, தரவு குறியாக்கம் மற்றும் பிணைய உள்ளமைவு. விமானத்தில் மற்றும் ஓய்வு நேரத்தில் தரவு குறியாக்கத்தை செய்ய எப்போதும் அறிவுறுத்தப்படுகிறது. விமானத்தில் உள்ள தரவு குறியாக்கத்திற்கு, வாடிக்கையாளர்களின் தரவுத்தள அணுகல் SSL ஐப் பயன்படுத்த அமைக்கப்பட வேண்டும். சேவையகத்திற்கு பாதுகாப்பான இணைப்புகள் தேவை அல்லது ஏற்றுக்கொள்ள வேண்டும்.

அட்-ரெஸ்ட் குறியாக்கத்தை அடுக்கின் பல்வேறு கட்டங்களில் செய்ய முடியும்; நீங்கள் செயல்படுத்தும் இடத்தில் இது பெரும்பாலும் உள்கட்டமைப்பு மற்றும் பயன்பாட்டு தேவைகளால் தீர்மானிக்கப்படும். தரவுத்தள மட்டத்தில் குறியாக்க மற்றும் மறைகுறியாக்க நோக்கங்களுக்காக pgcrypto தொகுதி பயன்படுத்தப்படுகிறது. வேறு எந்த சாத்தியமான குறியாக்க முறையும் இல்லாதபோது நுட்பம் கடைசி முயற்சியாக உதவியாக இருக்கும், மேலும் குறியாக்கம் செய்யப்பட வேண்டிய குறிப்பிட்ட தரவுத் தொகுப்புகள் உள்ளன.

நிர்வாகிகள் எப்போதும் முடியும் தரவை குறியாக்கு மேகம் அல்லது கோப்பு முறைமை மட்டங்களில் - ஒரு அணுகுமுறை மிகவும் தடையற்றது மற்றும் செயல்திறனில் குறைவான தாக்கத்தை ஏற்படுத்தும்.

தரவு இழப்பு ஆபத்து

தரவு இழப்பு அபாயத்தை ஒழுங்கமைக்க பல வழிகள் இருந்தாலும், அந்த வாய்ப்பை பூஜ்ஜியமாக நீங்கள் ஒருபோதும் குறைக்க முடியாது. எனவே, ஒவ்வொரு தரவுத்தள நிர்வாகியும் ஒரு வலுவான காப்புப்பிரதி மூலோபாயத்தை வைத்திருக்க வேண்டும். சைபர் தாக்குதல், ஒரு பேரழிவு நிகழ்வு அல்லது தரவு ஒருமைப்பாடு பிரச்சினை.

தரவு காப்புப்பிரதிகள் எந்த தரவுத்தள மேலாண்மை மூலோபாயத்தின் மையத்திலும் இருக்க வேண்டும். PostgreSQL பயனர்களுக்கு, விருப்பத்தேர்வுகள் மற்றும் பிற செயல்பாட்டு காரணிகளைப் பொறுத்து, காப்பு மூலோபாயத்தை அமைக்க பல வழிகள் உள்ளன. எடுத்துக்காட்டாக, நிர்வகிக்கப்பட்ட சேவை அடுக்கு இல்லாத நிலையில் மெய்நிகர் இயந்திர நிறுவல் அல்லது வெற்று உலோகத்துடன் அவ்வப்போது காப்புப்பிரதிகளை உருவாக்க உள்ளடிக்கிய pg_dump செயல்பாடு பயன்படுத்தப்படலாம். Pg_dump வெளியீடு ஒரு உரை கோப்பால் ஆனது, அவை தரவுத்தளத்துடன் இணைக்கப்படாத ஒரு மேடையில் சேமித்து வைக்கலாம் மற்றும் சில்லுகள் கீழே இருக்கும்போது பின்னர் மீட்டெடுக்கலாம். தரவு மீட்பு செயல்பாடு பொதுவாக கோப்பை PostgreSQL நிரலுக்கு உள்ளீடாக கிடைக்கச் செய்வதாகும்.

பயனர் உருவாக்கிய காப்பு திட்டங்களுக்கு pg_dump ஐப் பயன்படுத்துவது சிறந்தது, மேகக்கணி சேவைகள் ஸ்ட்ராடோஸ்கேல் SMD மற்றும் AWS RDS போன்றவை உள்ளமைக்கப்பட்ட அம்சங்களாக காப்பு மற்றும் பேரழிவு மீட்பை வழங்குகின்றன, எனவே புதிதாக ஒரு காப்பு மூலோபாயத்தை உருவாக்குவது பற்றி நீங்கள் கவலைப்பட வேண்டியதில்லை.

முடிவுரை

நீங்கள் திட்டமிடல் கட்டத்தை சரியாகப் பெற்றால், பொதுவான சவால்கள் மற்றும் சாத்தியமான தணிப்பு உத்திகளை அறிந்திருந்தால் மட்டுமே தரவுத்தள மேலாண்மை எளிதானது. மேலே உள்ள உதவிக்குறிப்புகள் ஸ்னாக்ஸைக் கட்டுப்படுத்தவும் விரைவாகவும், தடையின்றி திரும்பவும் உதவுகின்றன.

ஆசிரியர் பற்றி 

பீட்டர் ஹட்ச்


email "மின்னஞ்சல்": "மின்னஞ்சல் முகவரி தவறானது", "url": "வலைத்தள முகவரி தவறானது", "தேவை": "தேவையான புலம் இல்லை"}