வணிகக்காரணங்களுக்காகவோ, செயல்பாட்டுத்திறனை மேம்படுத்துவதற்காகவோ, ஒரு செயலியின் தரவுத்தளத்தை வேறொரு தரவுத்தளத்திற்கு மாற்றவேண்டிய அவசியம் ஏற்படலாம். இதுபோன்ற தேவைகள் ஏற்படும்போது தரவுத்தளத்தின் அமைப்பையும், ஒட்டுமொத்த தரவுகளையும் எந்தவித இழப்புமின்றி, அல்லது மிகக்குறைந்த இழப்பு விகிதத்துடன் தரவுத்தளங்களுக்கிடையே மாற்றுவதில் பல நடைமுறைச்சிக்கல்கள் உள்ளன.
- தரவுத்தளம் மாற்றப்படும்போது மூல தரவுத்தளத்தில் எழுதப்படும் தரவுகளை இழக்கநேரிடலாம்.
- தரவுகளை இழப்பதைத் தவிர்க்க செயலி பயன்பாட்டில் இல்லாத நேரத்தைத் தேர்ந்தெடுக்கவேண்டும்.
- சில முக்கியமான செயலிகளில் மிகக்குறுகிய கால இடைவேளை மட்டுமே கிடைக்கும். அதற்குள் பெருமளவு தரவுகளை மாற்ற இயலாது போகலாம்.
- தரவுகளுக்கிடையேயான உறவுகளைப் பொறுத்து அவற்றை எந்த வரிசையில் மாற்ற வேண்டும் என்பதில் சிக்கல் ஏற்படலாம்.
- இருதரவுத்தளங்களுக்கிடையே தரவின வேறுபாடு இருக்ககும். அவற்றைத் தனியே கையாளவேண்டியிருக்கலாம்.
- இவற்றையெல்லாம் விட முக்கியமாக, எல்லாத்தரவுகளும் சரியாக மாற்றப்பட்டிருக்கிறதா என சோதிப்பதற்கான திட்டத்தை வகுப்பது மிகப்பெரிய சவாலாக இருக்கலாம்.
இரு தரவுத்தளங்களும் ஒரே வகையைச் சார்ந்தவையாக இருக்கும்பட்சத்தில் சிக்கல்கள் குறைவாக இருந்தாலும், சவாலான காரியமாகவே இருக்கிறது.
இவையனைத்தையும் சமாளித்து வெற்றிகரமாக தரவுத்தள மாற்றத்தை நிகழ்த்துவதற்கு மாதக்கணக்கில் உழைப்பைச் செலவிட நேர்கிறது. ஆனால், இவற்றையெல்லாம் ஒரு சில மணித்துளிகளில் அமேசானின் தரவுத்தளமாற்றச்சேவை செய்துமுடித்துவிடுகிறது.
நிறுவனங்களின் உட்கட்டமைப்பு வசதிகளை அவர்களின் சொந்த தரவகங்களிலிருந்து அமேசானுக்கு மாற்றும் போது தரவுத்தள மாற்றத்தை எளிமையாக்குவதற்காக இச்சேவை உருவாக்கப்பட்டது. பிற்காலத்தில் ஒருவகை தரவுத்தளத்திலிருந்து, வேறொருவகை தரவுத்தளத்திற்கு தரவுகளை மாற்றுவதற்கும் இச்சேவை விரிவாக்கப்பட்டது. ஒரேவகை தரவுத்தளங்களுக்கிடையே நிகழும் தரவுமாற்றத்தை ஒருபடித்தான தரவுத்தள மாற்றம் (homogeneous database migrations) என்றும், வெவ்வேறுவகை தரவுத்தளங்களுக்கிடையே நிகழும் மாற்றத்தை பலபடித்தான தரவுத்தள மாற்றம் (heterogeneous database migrations) என்றும் அழைக்கலாம்.
இச்சேவையைப் பயன்படுத்த மூன்று முக்கிய விசயங்கள் தேவைப்படுகின்றன.
- நகலாக்கச் சேவையகம் – Replication Server
- மூல & இலக்கு தரவுத்தளங்களுக்கான முகவரிகள் – Source and target endpoints
- தரவுமாற்றத்தின்போது செய்யவேண்டிய வேலைகள் – migration tasks
தரவுத்தள மாற்றத்தின்போது இருவகையான வேலைகளைப் பெருவாரியாக பயன்படுத்துகிறோம்.
முதலாவதாக, ஒரு தரவுத்தள மாற்றவேலையைக் கட்டமைக்கும்போது ஒரேயொருமுறை மட்டும் எல்லாத் தரவுகளையும் படியெடுத்தபின்னர் அவ்வேலையை நிறுத்திவிடுமாறு கட்டமைக்கலாம் (full load of existing data). தரவுத்தள மாற்றம் நிகழ்ந்தபின்னர் மூல தரவுத்தளம் நிறுத்தப்பட்டு, இலக்கு தரவுத்தளத்தை செயலிகள் தொடர்ந்து பயன்படுத்துவதற்கான தேவை இருக்கும்போது இவ்வகை வேலையைத் தேர்ந்தெடுக்கலாம்
இரண்டாவதாக, மூல தரவுத்தளத்திற்கு எழுதப்படுகிற தரவுகளை, தொடர்ந்து இலக்கு தரவுத்தளத்தில் கொண்டுவந்து சேர்க்குமாறு (Ongoing replication) கட்டமைக்கலாம். மூல தரவுத்தளம் தொடர்ந்து முதன்மையான தரவுத்தளமாக செயல்பாட்டில் இருந்து, அதன் தரவுகளில் செய்யப்படுகிற ஓவ்வொரு மாற்றமும் இலக்கு தரவுத்தளத்திலும் செய்யப்படவேண்டியிருந்தால் இவ்வகை வேலையைத் தேர்ந்தெடுக்கலாம்.
இவை மட்டுமல்லாது, ஒவ்வொரு வேலையின் போதும் கூடுதலாக மதிக்கப்படவேண்டிய விதிகளையும் (Rules) நம்மால் வரையறுக்கமுடியும். இதை விளங்கிக்கொள்ள பின்வரும் சூழலை எடுத்துக்கொள்ளலாம். போஸ்ட்கிரெஸ் தரவுத்தளத்தில் அட்டவணைகளின் பெயர்கள், இயல்பாகவே, சிறிய எழுத்துகளில் அமைந்திருக்கும். SQL Server போன்ற தரவுத்தளங்களில் பெரிய எழுத்துகளையும், சிறிய எழுத்துகளையும் கலந்து அட்டவணைகளுக்குப் பெயரிடலாம். இப்போது, SQL Server-இலிருந்து போஸ்ட்கிரெசுக்கு தரவுத்தளத்தை மாற்றவேண்டும். SQL Server-இல் ApplicationTable என்ற பெயர்கொண்ட அட்டவணை இருப்பதாக வைத்துக்கொண்டால், தரவுத்தளமாற்றச்சேவையைப் பயன்படுத்தி, போஸ்ட்கிரெசுக்கு அதை மாற்றும்போது அட்டவணையின் பெயர் “ApplicationTable” என்றாகிறது. ஒரு அட்டவணையின் பெயரில் பெரிய எழுத்துகளையும் சிறிய எழுத்துகளையும் சேர்த்து பயன்படுத்துவதற்காக, இரட்டை மேற்கோள் குறிகளை போஸ்ட்கிரெஸ் பயன்படுத்துகிறது. இனி இந்த அட்டவணையைப் பயன்படுத்தும்போதெல்லாம் இந்த இரட்டை மேற்கோள் குறிகளையும் நாம் கட்டாயம் சேர்த்துக்கொள்ளவேண்டும். இல்லையேல், இப்படியொரு அட்டவணையே என்னிடம் இல்லையென போஸ்ட்கிரெஸ் சாதித்துவிடும். இதைத் தவிர்ப்பதற்காக, தரவுத்தளமாற்ற வேலையில் ஒரு சிறப்பு விதியையும் (இந்த இணைப்பில் குறிப்பிடுவதுபோல்) பின்பற்றுமாறு அறிவுறுத்தலாம்.