Schema migration
மென்பொருள் பொறியியலில், ஒரு திட்ட இடம்பெயர்வு (மேலும் தரவுத்தள இடம்பெயர்வு, தரவுத்தள மாற்ற மேலாண்மை) என்பது தொடர்புடைய தரவுத்தள திட்டங்களில் பதிப்பு-கட்டுப்படுத்தப்பட்ட, அதிகரிக்கும் மற்றும் மாற்றியமைக்கக்கூடிய மாற்றங்களின் நிர்வாகத்தைக் குறிக்கிறது. ஒரு திட்ட இடம்பெயர்வு ஒரு தரவுத்தளத்தில் அந்த தரவுத்தளத்தின் திட்டத்தைப் புதுப்பிக்கவோ அல்லது சில புதிய அல்லது பழைய பதிப்பிற்குத் திருப்பவோ தேவைப்படும் போதெல்லாம் செய்யப்படுகிறது. ஒரு திட்ட இடம்பெயர்வு கருவியைப் பயன்படுத்தி இடம்பெயர்வுகள் திட்டவட்டமாக செய்யப்படுகின்றன. ஒரு குறிப்பிட்ட விரும்பிய திட்ட பதிப்புடன் அழைக்கப்படும்போது, கருவி விரும்பிய நிலைக்கு கொண்டு வரப்படும் வரை திட்ட மாற்றங்களின் பொருத்தமான வரிசையின் தொடர்ச்சியான பயன்பாடு அல்லது தலைகீழ் மாற்றத்தை தானியக்கமாக்குகிறது. பெரும்பாலான திட்ட இடம்பெயர்வு கருவிகள் தரவுத்தளத்தில் இருக்கும் எந்தவொரு தரவிலும் திட்ட மாற்றங்களின் தாக்கத்தை குறைப்பதை நோக்கமாகக் கொண்டுள்ளன. இது இருந்தபோதிலும், பொதுவாக தரவைப் பாதுகாப்பது உத்தரவாதம் அளிக்கப்படவில்லை, ஏனெனில் தரவுத்தள நெடுவரிசையை நீக்குவது போன்ற திட்ட மாற்றங்கள் தரவை அழிக்கக்கூடும் (அதாவது. அந்த அட்டவணையில் உள்ள அனைத்து வரிசைகளுக்கும் அந்த நெடுவரிசையின் கீழ் சேமிக்கப்பட்டுள்ள அனைத்து மதிப்புகளும் நீக்கப்படுகின்றன). அதற்கு பதிலாக, கருவிகள் தரவின் அர்த்தத்தைப் பாதுகாக்க அல்லது புதிய தேவைகளைப் பூர்த்தி செய்ய ஏற்கனவே உள்ள தரவை மறுசீரமைக்க உதவுகின்றன. தரவுகளின் அர்த்தத்தை பெரும்பாலும் குறியிட முடியாது என்பதால், கருவிகளின் உள்ளமைவுக்கு பொதுவாக கையால் தலையீடு தேவைப்படுகிறது. அபாயங்கள் மற்றும் நன்மைகள் ஸ்கீமா இடம்பெயர்வு தவறுகளை சரிசெய்யவும் தேவைகள் மாறும்போது தரவை மாற்றியமைக்கவும் அனுமதிக்கிறது. அவை மென்பொருள் பரிணாம வளர்ச்சியின் இன்றியமையாத பகுதியாகும், குறிப்பாக சுறுசுறுப்பான சூழல்களில் (கீழே காண்க). ஒரு உற்பத்தி தரவுத்தளத்திற்கு ஒரு திட்ட இடம்பெயர்வைப் பயன்படுத்துவது எப்போதும் ஒரு ஆபத்து. வளர்ச்சி மற்றும் சோதனை தரவுத்தளங்கள் சிறியதாகவும் தூய்மையாகவும் இருக்கும். அவற்றில் உள்ள தரவு நன்கு புரிந்து கொள்ளப்படுகிறது அல்லது, மற்ற அனைத்தும் தோல்வியுற்றால், தரவின் அளவு ஒரு மனிதனுக்கு செயலாக்க போதுமானதாக இல்லை. உற்பத்தி தரவுத்தளங்கள் பொதுவாக பெரியவை, பழையவை மற்றும் ஆச்சரியங்கள் நிறைந்தவை. ஆச்சரியங்கள் பல மூலங்களிலிருந்து வரலாம்ஃ மென்பொருளின் பழைய பதிப்புகளால் எழுதப்பட்ட மற்றும் சரியாக சுத்தம் செய்யப்படாத ஊழல் தரவு, இனி யாருக்கும் தெரியாத தரவுகளில் உள்ள சார்புநிலைகளைக் குறிக்கிறது திட்ட இடம்பெயர்வு கருவிகளில் உள்ள பிழைகள் நியமிக்கப்பட்ட கருவிகளைப் பயன்படுத்தாமல் மக்கள் நேரடியாக தரவுத்தளத்தை மாற்றுகிறார்கள் தரவு எவ்வாறு இடம்பெயர வேண்டும் என்ற அனுமானங்களில் தவறுகள் இந்த காரணங்களுக்காக, இடம்பெயர்வு செயல்முறைக்கு உயர் மட்ட ஒழுக்கம், முழுமையான சோதனை மற்றும் ஒலி காப்பு மூலோபாயம் தேவைப்படுகிறது. ஸ்கிமா இடம்பெயர்வுகள் முடிக்க நீண்ட நேரம் ஆகலாம் மற்றும் 24/7 ஐ இயக்கும் அமைப்புகளுக்கு வேலையில்லா தரவுத்தள இடம்பெயர்வுகளைச் செய்ய முடியும் என்பது முக்கியம். வழக்கமாக இது அம்சக் கொடிகள் மற்றும் தொடர்ச்சியான விநியோகத்தின் உதவியுடன் செய்யப்படுகிறது. சுறுசுறுப்பான மென்பொருள் மேம்பாட்டில் திட்ட இடம்பெயர்வு ஒரு தரவுத்தளத்தால் ஆதரிக்கப்படும் மென்பொருள் பயன்பாடுகளை உருவாக்கும் போது, டெவலப்பர்கள் பொதுவாக வளர்ந்து வரும் தரவுத்தள திட்டத்துடன் இணைந்து பயன்பாட்டு மூலக் குறியீட்டை உருவாக்குகிறார்கள். குறியீடு பொதுவாக தரவுத்தளத் திட்டத்துடன் தொடர்பு கொள்ள வேண்டிய போதெல்லாம் எந்த நெடுவரிசைகள், அட்டவணைகள் மற்றும் கட்டுப்பாடுகள் உள்ளன என்பதற்கான கடுமையான எதிர்பார்ப்புகளைக் கொண்டுள்ளது, எனவே குறியீடு உருவாக்கப்பட்ட தரவுத்தளத் திட்டத்தின் பதிப்பு மட்டுமே மூலக் குறியீட்டின் அந்த பதிப்போடு முழுமையாக இணக்கமாக கருதப்படுகிறது. மென்பொருள் சோதனையில், டெவலப்பர்கள் அலகு சோதனைக்கு இணக்கமான தரவுத்தள அமைப்பு இருப்பதை கேலி செய்யலாம், இதை விட அதிக அளவிலான சோதனை (எ. கா. ஒருங்கிணைப்பு சோதனை அல்லது கணினி சோதனை) டெவலப்பர்கள் தங்கள் பயன்பாட்டை உள்ளூர் அல்லது தொலைநிலை சோதனை தரவுத்தளத்திற்கு எதிராக சோதனையின் கீழ் உள்ள மூலக் குறியீட்டின் பதிப்புடன் திட்டவட்டமாக இணக்கமாக சோதிப்பது பொதுவானது. மேம்பட்ட பயன்பாடுகளில், இடம்பெயர்வு தானாகவே இடம்பெயர்வு சோதனைக்கு உட்பட்டதாக இருக்கலாம். ஸ்கீமா இடம்பெயர்வு தொழில்நுட்பத்துடன், தரவு மாதிரிகள் இனி முழுமையாக வடிவமைக்கப்பட வேண்டியதில்லை, மேலும் மென்பொருள் மேம்பாட்டு வாழ்க்கைச் சுழற்சி முழுவதும் மாறிவரும் திட்டத் தேவைகளுக்கு ஏற்ப மாற்றியமைக்கப்படும் திறன் கொண்டவை. திருத்தக் கட்டுப்பாட்டு அமைப்புகளுடனான தொடர்பு மென்பொருள் உருவாக்குநர்களின் குழுக்கள் வழக்கமாக மூலக் குறியீட்டின் பதிப்புகளில் செய்யப்பட்ட மாற்றங்களை நிர்வகிக்கவும் ஒத்துழைக்கவும் பதிப்பு கட்டுப்பாட்டு அமைப்புகளைப் பயன்படுத்துகின்றன. வளர்ச்சியின் போது மாற்றங்களையும் சேர்த்தல்களையும் செய்ய வெவ்வேறு டெவலப்பர்கள் ஒரே மூலக் குறியீட்டின் மாறுபட்ட, ஒப்பீட்டளவில் பழைய அல்லது புதிய கிளைகளை உருவாக்கலாம். வளர்ச்சியின் கீழ் உள்ள மென்பொருள் ஒரு தரவுத்தளத்துடன் தொடர்பு கொள்கிறது என்று வைத்துக்கொள்வோம், மூலக் குறியீட்டின் ஒவ்வொரு பதிப்பும் குறைந்தபட்சம் ஒரு தரவுத்தள திட்டத்துடன் தொடர்புடையதாக இருக்கலாம். நல்ல மென்பொருள் சோதனை நடைமுறையின் கீழ், ஸ்கிமா இடம்பெயர்வுகள் அவற்றின் ஸ்கிமா மூலக் குறியீட்டுடன் இணக்கமாக இருப்பதை உறுதிசெய்ய சோதனை தரவுத்தளங்களில் செய்யப்படலாம். இந்த செயல்முறையை நெறிப்படுத்த, ஒரு திட்ட இடம்பெயர்வு கருவி பொதுவாக தானியங்கி சோதனை கட்டத்தின் முன்நிபந்தனையாக ஒரு தானியங்கி மென்பொருள் கட்டமைப்பின் ஒரு பகுதியாக பயன்படுத்தப்படுகிறது. பதிப்பு கட்டுப்பாட்டு அமைப்புகள் மூலக் குறியீட்டிற்கான பதிப்பு சிக்கல்களைத் தீர்ப்பது போலவே, திட்ட இடம்பெயர்வு கருவிகள் தரவுத்தள திட்டங்களுக்கான பதிப்பு சிக்கல்களைத் தீர்ப்பதாகக் கூறலாம். நடைமுறையில், பல திட்ட இடம்பெயர்வு கருவிகள் உண்மையில் திட்ட மாற்றங்களின் உரை பிரதிநிதித்துவத்தை (SQL அறிக்கைகளைக் கொண்ட கோப்புகள் போன்றவை) நம்பியுள்ளன, அதாவது திட்ட மாற்றங்களின் பதிப்பு வரலாற்றை VCS க்குள் நிரல் மூலக் குறியீட்டுடன் திறம்பட சேமிக்க முடியும். இந்த அணுகுமுறை ஒரு குறிப்பிட்ட குறியீடு கிளைக்கு இணக்கமான தரவுத்தள திட்டத்தை மீட்டெடுக்க தேவையான தகவல்கள் மூல மரத்திலிருந்து மீட்டெடுக்கப்படுவதை உறுதி செய்கிறது. இந்த அணுகுமுறையின் மற்றொரு நன்மை ஒரே நேரத்தில் முரண்பட்ட திட்ட மாற்றங்களைக் கையாள்வதாகும்; வேறுபாடுகளை சமரசம் செய்ய டெவலப்பர்கள் தங்கள் வழக்கமான உரை அடிப்படையிலான மோதல் தீர்க்கும் கருவிகளைப் பயன்படுத்தலாம். ஸ்கீமா பரிணாமத்துடன் தொடர்புடைய ஸ்கீமா இடம்பெயர்வு கருவி ஒரு வளர்ந்து வரும் ஸ்கீமாவின் வரலாற்றைக் கண்காணிக்கும் ஒரு வசதியாக பார்க்கப்படலாம். புதிய சோதனை தரவுத்தளத்தை புதிதாக உருவாக்க டெவலப்பர்கள் முழு சோதனை தரவுத்தளத்தையும் அகற்ற வேண்டிய அவசியமில்லை (எ. கா. டிடிஎல் தலைமுறை கருவிகளிலிருந்து ஸ்கீமா உருவாக்கும் ஸ்கிரிப்ட்களைப் பயன்படுத்துதல்). மேலும், சோதனைத் தரவை உருவாக்குவதற்கு நிறைய நேரம் செலவாகும் என்றால், டெவலப்பர்கள் ஸ்கீமாவில் சிறிய, அழிவற்ற மாற்றங்களுக்கு சோதனைத் தரவை மீண்டும் உருவாக்குவதைத் தவிர்க்கலாம். குறிப்புகள் இணைப்புகள் மார்ட்டின் ஃபோலர்ஃ பரிணாம தரவுத்தள வடிவமைப்பு செயலில் பதிவு இடம்பெயர்வு தரவுத்தளங்கள் மென்பொருள் பராமரிப்பு சுறுசுறுப்பான மென்பொருள் மேம்பாடு