Wednesday, 27 April 2011

Do data migration require best practices ?

The blog intent is to bring into your focus on certain key elements which are part of data migration. Blog does not describe what all best practices need to follow but touches the idea to have it in your project. Some example taken are specific to Oracle.

There are times when we are looking for some information desperately so as to resolve the issue(and go home happily). Does not matter how frequent such situation arises, all what we want is any ready made solution, idea available over internet and use it. Best part of it is that some times idea are shared by people who have burned their hands and worse part of it is not all the solutions fits into the actual problem. Eating Almonds not always make you think smartly, but experience will. That's why  experience is costly than Almonds. So I would like to share a very small part of my experience over Data Migration. Going back to the Title header "Do data migration require best practices ? ", do you agree with it ?
[Your response] No: You are an almond lover and this article is not for you but still you can go through it while you eat.
[Your response] Yes: Goshh!!You know hot much difficult to found a value reader(and a value article too..off-course not this one).
 Coming back to the topic and ending it with some questions which you need to answer(to self)...
  1. Do you need a Migration plan ?
  2. Have you considered development and deployment ?
  3. Do you have a large data to migrate? 
  4. Have you listed down all the processes involved and there interdependency ?
  5. Do you know the down-time window for  migration ?
  6. Do you think you need to identify processes which can go before, on and after down-time window for migration ? [naaaah..why i should bother about this. What benefit it will give me for migration ?]
  7. Do you know which data migration process are independent ?
  8. Do you feel you can run independent processes in parallel ?
  9. Do you agree if there is downtime then as much CPU power we can have will help in quick execution of process ?
  10. Do you consider terms like higher CPU utilization for migration ?
  11. Do you believe in lower disk i/o ?
  12. You have any plan for maximum memory operations ?
  13. Have you heard of Bulk processing and agree to the benefits it has ?
  14. How execution of scripts will be done ? Manually ???? [My god..]
  15. How error control is planned while script execution ?
  16. Is there any need for pause and resume migration ? consider a case where person wants to have a break as he/she is tired running scripts from last 4 hours ? [Let them go for a break.. or not?]
  17. Do we know the internals of the database in which data being migrated ? for ex. in oracle PK constraints enabling is costly operation and an alternate way is to create a unique index first on the column and then enable the constraint[why I need to disable constraint,index,trigger during migration? [I am seriously worried for your project]
  18. Do you know how to avoid or minimize DB log generation ?
  19. any benefit you feel of Direct path API over conventional write and where all it is supported..[what is this now ?]
  20. .... 
  21. ....
  22. ....
  23. ...
I have alot of such questions which you might like or might not like to go through..I am ending the blog here keeping all the questions open. Answer is and in you, you just need to find it....
Best practice in a data migration is not a research topic, already a lot of content is available over internet.



I am not a writer and apologize for any chemical reaction happened in your mind because of my illogical and baseless writeup.