ডেটা মাইগ্রেশন - বিপজ্জনক বা প্রয়োজনীয়?


26

আমার সংস্থার সফ্টওয়্যার ডেভলপমেন্ট বিভাগ এই সমস্যার মুখোমুখি হচ্ছে যে ডেটা মাইগ্রেশনগুলি বিশেষত আমার পরিচালকদের পক্ষে বিপজ্জনক হিসাবে বিবেচিত হয়।

পটভূমিটি হ'ল আমাদের গ্রাহকরা নিম্ন মানের সহ প্রচুর পরিমাণে ডেটা ব্যবহার করছেন । এর কারণগুলি কেবলমাত্র আমাদের সফ্টওয়্যার মানের সাথে সম্পর্কিত , তবে ডেটা ইতিহাসের সাথে সম্পর্কিত : তাদের বেশিরভাগ পূর্বসূরি সিস্টেম থেকে স্থানান্তরিত হয়েছে , কিছু বাগ বাগের উপর দুর্ঘটনার কারণে ডেটা রেকর্ডে বা দুর্ব্যবহারে অসম্পূর্ণতা সৃষ্টি করেছে (বেশিরভাগ ব্যবসায়)) গ্রাহকের পক্ষে (যা আমাদের সফ্টওয়্যার ত্রুটিযুক্তভাবে অনুমোদিত)।

আমার পরিচালকদের সবচেয়ে গুরুত্বপূর্ণ পাল্টা যুক্তিগুলি হ'ল ত্রুটিযুক্ত ডেটা আরও খারাপ ডেটাতে রূপান্তরিত হতে পারে , উপাত্ত সমস্যাগুলি গ্রাহকের কিছু পরিচালককে জাগ্রত করতে পারে এবং গ্রাহকের পক্ষের কিছু প্রক্রিয়া আর কাজ করতে পারে না কারণ তাদের প্রক্রিয়াগুলি কিছুটা আমাদের সিস্টেমে খাপ খাইয়ে নিয়েছে।

ব্যক্তিগতভাবে, আমি ডেটা মাইগ্রেশনটিকে সফ্টওয়্যার বিকাশের একটি অবিচ্ছেদ্য অঙ্গ হিসাবে বিবেচনা করি এবং ডেটা মাইগ্রেশনটিকে কোডটিতে রিফ্যাক্টরিং কী তা ডেটাতে দেখা যায়। আমি মনে করি যে ডেটা মাইগ্রেশনটি বিকশিত সফ্টওয়্যার তৈরির জন্য একটি অপরিহার্য । এটি ছাড়াই আমাদের বেদনাদায়ক সফ্টওয়্যার তৈরি করতে হবে যা কিছুটা খারাপ ডেটা কাঠামোর চারপাশে কাজ করে।

আমি তোমাকে জিজ্ঞেস করছি:

  • ডেটা মাইগ্রেশনে আপনার চিন্তা কী, বিশেষত বাস্তব জীবনের ক্ষেত্রে এবং কেবল বিকাশকারীর প্যাসপেকটিভ থেকে নয়?
  • আমার পরিচালকদের মতামতের বিরুদ্ধে আপনার কি কোনও যুক্তি আছে?
  • আপনার সংস্থা কীভাবে ডেটা মাইগ্রেশন এবং তাদের দ্বারা সৃষ্ট অসুবিধাগুলি মোকাবেলা করে?
  • এই বিষয়গুলির সাথে সম্পর্কিত অন্য কোনও আকর্ষণীয় চিন্তাভাবনা?


1
এটি অগত্যা একটি "বা" প্রশ্ন নয়।
ডেভিড থর্নলি

1
আমার যুক্তিটি যুক্ত করতে হবে: এটি ভবিষ্যতে কোনও সহজতর হবে না। যদি তারা এখনই মাইগ্রেশনটি হাতে নিতে না চান, তবে তাদের বিদ্যমান সিস্টেমে সমস্যার রেকর্ড সনাক্ত করতে কিছু কোড লেখার জন্য তাদের অন্তত একটি 'ডেটা ক্লিনিং' প্রকল্প গ্রহণ করা উচিত।
মাইকেল কোহেন

উত্তর:


29

ডেটা মাইগ্রেশন হ'ল আমার রুটি এবং মাখন এবং ডেটা সাফ করা সত্যিই একটি অত্যন্ত গুরুত্বপূর্ণ বিষয়। আমরা যে কৌশলটি ব্যবহার করি তা আমাদের গ্রাহকের 100% ডেটা মাইগ্রেশন করে তা হ'ল অ্যাসিম্পটোটিক ডেটা পরিষ্কার-স্থানান্তর সরঞ্জামগুলি পরিষ্কার করা।

  1. এর অর্থ দশটি ডেটা-স্যানিটি চেক বিকাশ করা (বেশিরভাগ বর্গ কোয়েরি)।

  2. গ্রাহকের সাথে পরিষ্কারের সরঞ্জামগুলি এক্সচেঞ্জ করা (যেহেতু এটি তার ডেটা, আমরা প্যাচিং ইউটিলিটিগুলি ডিজাইন করি, তিনি সেগুলি বৈধতা দেন এবং কার্যকর করেন)।

  3. পুনরাবৃত্তির উপর দিয়ে সরঞ্জামটি পরিমার্জন করা হচ্ছে এবং কেপিআই-ব্যাকড পরিমাপযোগ্য মানের সাফল্য অর্জন করা।

  4. মাইগ্রেশন হওয়ার পরে ডেটা ধারাবাহিকতা পরীক্ষা করা হচ্ছে। এটি ডি-ডে-তে GO / NOGO সিদ্ধান্ত নিতে সহায়তা করে।

শেষ পর্যন্ত একটি ডেটা মাইগ্রেশন হ'ল একটি প্রচুর উপকারী অনুশীলন যা 3 থেকে 5 বছর পরে হতে হবে।

  1. এটি ব্যবসায়ের সমর্থনে প্ল্যাটফর্মের ক্ষমতা বাড়াতে সহায়তা করে।

  2. এটি ডাটাবেসকে প্রবাহিত করতে দেয়।

  3. এটি পরবর্তী প্রজন্মের ব্যবসায়ের সরঞ্জামগুলির জন্য আইটি প্ল্যাটফর্ম প্রস্তুত করে (ইএসবি / ইএআই, পোর্টালস, স্ব-যত্ন প্ল্যাটফর্মগুলি, রিপোর্টিং এবং ডেটা মাইনিং, আপনি নাম দিন)।

  4. এটি ডিআইওয়াই ডেটা প্রবাহকে প্ল্যাটফর্মগুলির মধ্যে পুনর্গঠন করে যা কয়েক বছর ধরে "জরুরি প্রয়োজনীয়তাগুলি" পূরণ করার জন্য দ্রুত এবং নোংরা "অস্থায়ী" উপায়ে জমে আছে।

  5. সর্বোপরি এটি আইটি প্রযোজনা দলকে শক্তিশালী করে যারা তাদের প্ল্যাটফর্মটি আরও ভালভাবে জেনে এবং 'করণীয়' মনোভাব পোষণ করে। এই ধরণের সুবিধাগুলি পরিমাপ করা কঠিন তবে আপনি যখন অনেক ক্লায়েন্টকে জানেন, এই বিবেচনাটি স্পষ্ট হয়ে ওঠে। মাইগ্রেশন থেকে দূরে সরে যাওয়া সংস্থাগুলি নিম্নলিখিত স্তরে থেকে যায়, সাহসী প্যাকগুলি নেতৃত্ব দেয়।

এটি আপনার বাড়ির বেসমেন্টটি কাঠের সাথে বিশৃঙ্খলা হয়ে যাওয়ার মতো কিছুটা। এক সকালে, আপনাকে সমস্ত কিছু বাইরে নিয়ে যেতে হবে এবং কেবল আপনার প্রয়োজনীয় জিনিসগুলি ফিরিয়ে দিতে হবে এবং বাকীটি ফেলে দিতে হবে। এর পরে, আপনি আবার আপনার বেসমেন্ট ব্যবহার করতে পারেন ;-)

আরেকটি মৌলিক বিবেচনা হ'ল আজকাল গ্রাহকের প্রত্যাশা সর্বদা সচল থাকে, যেমন "গ্রাহকরা সবসময়ই বেশি চাওয়া হয়"। যাতে সর্বদা তাদের বাজারের অংশীদারি বাড়ানোর সুস্পষ্ট অভিপ্রায় এই নতুন প্রবণতার সন্ধানে প্রদত্ত সংস্থার প্রতিযোগীদের একটি উল্লেখযোগ্য অনুপাত থাকে। তারা যেভাবে করবে তা হ'ল প্রবণতাটির সাথে লেগে থাকার জন্য এমনকি তাদের ট্রেন্ডগুলিকে চালিত করার জন্য তাদের প্রস্তাবকে মানিয়ে নেওয়া এবং এটি ধ্রুব ব্যবসায় পুনরায় ইঞ্জিনিয়ারিংয়ে জড়িত। যদি আপনার আইটি প্ল্যাটফর্মটি খুব কঠোর হয় তবে এটি আপনার নিজের পক্ষ থেকে বাজারজাতের প্রবণতা বা স্ত্রীকে আগে রেখে বা আপনার নিজের বাজারের অংশীদারিত্ব বজায় রাখার জন্য আপনার নিজস্ব প্রবণতার উপর একটি টান হবে। অন্য কথায়, চলমান বাজারে জড়তা অপ্রাসঙ্গিকতার একটি রেসিপি।

বিপরীতে, একটি নতুন সিস্টেমে ডেটা মাইগ্রেশন আরও আধুনিক এবং আরও বহুমুখী উত্পাদনশীলতার সরঞ্জামটি তৈরি করবে, যা নতুন প্রযুক্তির সর্বোত্তম, কর্মীদের কাছে আরও আকর্ষণীয় এবং ফলস্বরূপ, এটি কোম্পানির অভ্যন্তরীণ উদ্ভাবন প্রক্রিয়া সমর্থন বা এমনকি নেতৃত্ব দিতে ভূমিকা রাখবে will , যার ফলে এটির সম্পর্কিত বাজারের অংশীদারিত্ব সুরক্ষিত বা বাড়ানো।

উপরের বিবেচনাগুলি আসলে "ডেটা মাইগ্রেশন - বিপজ্জনক বা অপরিহার্য" শিরোনামে জিজ্ঞাসিত প্রশ্নের অর্ধেক উত্তর দেয়। হ্যাঁ ডেটা স্থানান্তরণ হয় অপরিহার্য, কিন্তু তারা হয় এছাড়াও বিপজ্জনক? এই অ্যাকাউন্টে, আইটি-র অনেকগুলি জিনিস তখন বিপজ্জনক। সংজ্ঞা অনুসারে, যেখানে বাজি উচ্চতর কিছু বিপজ্জনক; বিশেষত যদি আপনি বিষয়টি গুরুত্ব সহকারে না নেন। তবে এটি আসলে তথ্যপ্রযুক্তির মধ্যে সবচেয়ে সাধারণ প্যাটার্ন । ডেটা সেন্টার বা উচ্চ প্রাপ্যতা বা দুর্যোগ সহনশীলতা গুরুত্ব সহকারে গ্রহণ না করা বিপজ্জনক।
এর অর্থ কি আজকের সংস্থাগুলির আজকের তথ্য প্রযুক্তি ল্যান্ডস্কেপের এই স্তম্ভগুলি থেকে বেরিয়ে আসা উচিত? অবশ্যই না !

কৌতুকপূর্ণভাবে আপনার বক্তব্যটি তৈরি করতে, আপনি যুক্তি দিতে পারেন যে "আপনি যদি পেশাদারদের দ্বারা তৈরি বিমান ব্যবহার না করেন তবে উড়ন্ত বিপজ্জনক"। এটি ডেটা মাইগ্রেশনগুলির জন্য একই। যখন পেশাদারদের দ্বারা মৃত্যুদন্ড কার্যকর করা হয় এবং পরিচালিত হয়, এটি একটি ভাল নকশাযুক্ত এবং ভালভাবে চালিত প্লেনে উড়ে যাওয়ার চেয়ে বিপজ্জনক আর কিছু নয়। আরআরআই পার্শ্বীয় পরিবহনের মাধ্যমের তুলনায় একই অনুপাতে।
যখন পেশাদারদের উপর ন্যস্ত করা হয়, সর্বাধিক স্থানান্তরগুলি সফলভাবে নিয়ন্ত্রিত সাফল্য এবং ব্যর্থতা + ত্যাগের হার অত্যন্ত কম।

আপনার পরিচালকদের নিজেদের জিজ্ঞাসা করতে পরিচালিত করা উচিত "যখন বেশিরভাগ সংস্থাগুলি ডেটা মাইগ্রেশন প্রকল্পগুলিতে সাফল্যের সাথে যায় তবে কীভাবে আমাদের সংস্থাকে এত আলাদা করা হবে যে পরিবর্তে এটি একটি ব্যর্থতার মুখোমুখি হতে পারে? এবং এটি ছাড়া কী ভাল ভাড়া দেওয়া যায়?"


5
@ অ্যালাইনের উত্তর দ্বারা প্রতিফলিত হিসাবে, আপনার পরিচালকের কাছে যাওয়ার অন্যতম কারণ হ'ল ডেটা মাইগ্রেশন হ'ল এটি একটি বড় প্রকল্প, যার মধ্যে উপস্থিত সমস্ত ঝুঁকি রয়েছে। এছাড়াও ডেটা মাইগ্রেশনে নির্দিষ্ট ঝুঁকি রয়েছে - কেবলমাত্র ডেটা মাইগ্রেশন প্রকল্পের সাথে আমি ডেটা সাফ করার ক্ষেত্রে 98.6% সাফল্যের হার অর্জন করেছি with এটি বেশ ভাল শোনাচ্ছে, যতক্ষণ না কেউ বুঝতে পারে যে ব্যর্থতার হার 600,000 গ্রাহক রেকর্ডটি ম্যানুয়ালি সমাধান করতে চলেছে। এর মধ্যে একটি পৃথক বিভাগ স্থাপন এবং চেকিং এবং বৈধতা প্রক্রিয়া জড়িত। আবার এটি সস্তা বা ঝুঁকি মুক্ত ছিল না।

@Chris। আমাদের লক্ষ্য 100% এবং আমি এটি কমপক্ষে একবারে অর্জন করেছি। বেশিরভাগ সময় গ্রাহক একদিকে ফেলে রেখে ম্যানুয়ালি পুনঃনির্মাণ করা হয় এক ডজনেরও কম।

4
@ আলাইন - অভিনন্দন। আমি যে প্রকল্পটি উল্লেখ করছি এটির লক্ষ্য ছিল 100% তবে এটি প্রমাণযোগ্য ছিল না। ম্যানুয়াল ক্লিনজিংয়ের প্রয়োজনীয় তথ্যের বেশিরভাগ অংশটি "আমরা এই ঠিকানায় রেকর্ড করা তিন জন স্মিথের, স্বতন্ত্র ব্যক্তি কয়টি?" ফর্মটির ম্যানুয়াল চেকগুলির প্রয়োজন হয়? এই নির্দিষ্ট ডেটা মাইগ্রেশনটি কোনও আরডিএমএস-এর অ-আরডিএমএসের স্থায়ীত্ব থেকে ছিল; এবং অন্তর্নিহিত ক্লিনিজিং ডেটা যা 25 বছর পর্যন্ত সময়কালে জমে ছিল।

2
এবং পেশাদারদের একজন ডেটা মাইগ্রেশন বিশেষজ্ঞ (বা কমপক্ষে কোনও ডেটা বিশেষজ্ঞ) হওয়া উচিত অ্যাপ্লিকেশন প্রোগ্রামার নয়। সংস্থাগুলি সমস্যার মধ্যে পড়ে কারণ তারা ডেটা পেশাদারদের চেয়ে ডেটা অপেশাদারদের এই জিনিসগুলি করতে বলে। সমস্ত অনেক ডাটাবেস ডিজাইন একই জিনিস।
এইচএলজিইএম

1
একটি বিকশিত প্ল্যাটফর্ম হিসাবে, "মাইগ্রেশন" বা বাল্ক আমদানি প্রয়োজনীয়। কোনও কাউন্টার পার্টকে জোর দেওয়ার জন্য কোনও লিগ্যাসি ডেটা কাঠামো বজায় রাখা এবং এটি ইনফিনিয়াম প্রসারিত করার জন্য আরও বেশি ব্যয় করা হয়। খারাপ ডেটা যে খারাপ ডেটা হয়ে যায় সেটি হ'ল একটি প্রসঙ্গ সমস্যা যা উত্থিত হয় এবং প্রকৃতপক্ষে উল্লেখযোগ্য গ্রাহক মূল্য যুক্ত করে, কারণ এখন তারা আরও বেশি নিশ্চিততার সাথে জানে যে তারা কোন ডেটা নির্ভর করতে পারে এবং কোনটি তারা করতে পারে না (উদ্বেগের পরিস্থিতিতে - কিছু পরিস্থিতিতে এটি গুরুত্বপূর্ণ নয় এবং নিরপেক্ষ মূল্য হবে)।
জাস্টিন সি

5

সফল ডেটা মাইগ্রেশন প্রকল্পের জন্য ডেটা ক্লিনিজিংয়ের গুরুত্ব এবং ডেটা মাইগ্রেশন করার পিছনে যৌক্তিকতার দিক থেকে আলাইন দুর্দান্ত উত্তর দিয়েছেন। আপনার ম্যানেজারের কেবলমাত্র নির্দিষ্ট উদ্বেগকেই আমি লক্ষ্য করতে চাই।

আমার মতে এটি ডেটা মাইগ্রেশন করবেন কিনা তা নিয়ে প্রশ্ন আসে না, কখন এটি করা উচিত। আপনার ম্যানেজারের একেবারে বৈধ পয়েন্ট রয়েছে যা বলেছে যে আপনার ডেটা কেবল আপনার নয় এবং ইতিমধ্যে ইতিমধ্যে গ্রাহকরা তাদের পদ্ধতিগুলি তৈরি করেছেন। তবে ভবিষ্যতে এই রাষ্ট্রের পরিবর্তন হবে না । যত তাড়াতাড়ি বা পরে খারাপ ডেটা মানের আপনার ব্যবসায় হ্রাস করার একটি অনিবার্য কারণ হয়ে উঠবে এবং আপনি মাইগ্রেশন করতে বাধ্য হবেন। চাপের মধ্যে এবং কঠোর সময়সীমা সহ এটি করার ফলে সাব-থিম সিদ্ধান্ত নিতে পারে। তদুপরি, আপনার এখন থেকে যে দক্ষতা আছে এবং এখন থেকে ২-৩ বছরের মধ্যে তা নিয়ে চিন্তা করুন। যদি আপনার ডেটা বোঝে এমন লোকেরা সঙ্গ ছেড়ে চলে যায় তবে কী হবে? আপনি কি নিশ্চিত যে আপনার কাছে থাকা ডকুমেন্টেশনগুলি পর্যাপ্ত?

হতে পারে এখনই মাইগ্রেশন করা জরুরি নয় তবে ঠিক কখন স্থানান্তর হবে তার জন্য আপনার পরিচালকের কমপক্ষে একটি দৃষ্টিভঙ্গি থাকা দরকার।


5

আমি একটি বীমা সংস্থার জন্য কাজ করেছিলাম এবং কোর সিস্টেমের জন্য ডেটা মাইগ্রেশনে জড়িত। ঠিক আছে, মোট 4 বার ছিল। সুতরাং, এখানে আমার মন্তব্য:

আমার ক্ষেত্রে, ডেটা মাইগ্রেশন হওয়া আবশ্যক, যেহেতু বিধিবিধানের মাধ্যমে আমাদের ডেটা কমপক্ষে 10 বছরের জন্য রাখা উচিত এবং আমরা দীর্ঘ মেয়াদে দ্বৈত ব্যবস্থা সমর্থন করতে পারি না। অন্য কারণ হ'ল ব্যবহারকারীরা আশা করছেন যে তারা নতুন অ্যাপ্লিকেশন দিয়ে তাদের কাজ চালিয়ে যেতে পারবেন। যদি তারা কাজ করে এমন আইটেমটি তারা খুঁজে না পায় তবে আপনার অ্যাপ্লিকেশনটি খারাপ এবং ডেটা সঠিক না হলে এটি আরও খারাপ।

ঠিক আছে, ডেটা মাইগ্রেশন একটি ভয়ঙ্কর প্রাণী এবং এটি আসল, সুতরাং এটির মুখোমুখি। এটি ঝুঁকিপূর্ণ তবে এর আগে এবং সাবধানতার সাথে সম্বোধন করে এটি হ্রাস করা যেতে পারে। গাইড হিসাবে, চারটি বড় প্রক্রিয়া রয়েছে যা ডেটা মাইগ্রেশনে বিবেচনায় নেওয়া উচিত:

  1. তথ্য ম্যাপিং. নতুন সিস্টেমে মাস্টার মানচিত্র (এবং তাদের সংমিশ্রণ)
  2. তথ্য পরিষ্কার। ডেটা ব্যতিক্রমের মানচিত্র, অর্থাৎ, এমন ডেটা যার সংমিশ্রণটি নতুন সিস্টেমে অবৈধ বলে মনে করা হয়। যদি সম্ভব হয় তবে ম্যাপ করার কোনও উপায় নেই এমন ডেটা বাদ দেওয়ার এবং সম্ভাব্যভাবে নতুন সিস্টেমটি ভেঙে ফেলার ব্যবসায়ের সাথে ডিল করুন,
  3. আসল ডেটা মাইগ্রেশন। ডেটা মাইগ্রেশন সম্পাদন করার জন্য অনেক কৌশল। উদাহরণস্বরূপ: বিগ ব্যাং, ইনক্রিমেন্টাল
  4. একীকরণ রিপোর্ট। উভয় সিস্টেম সমান্তরালভাবে চালানো উচিত, কীভাবে সঠিক এবং সামঞ্জস্যপূর্ণ প্রতিবেদন তৈরি করা যায়

সতর্কতার সাথে ইভেন্ট, ছিটেফোঁটা ঘটে! মাইগ্রেশন সম্পর্কিত সমস্যাগুলি মোকাবিলার জন্য একটি বিশেষ টাস্কফোর্স প্রস্তুত থাকা উচিত।


1
আমি জ্যোতির্বিদ্যায় কাজ করেছি, আমাদের কাছে ডেটা আছে (ফটোগ্রাফিক প্লেটগুলিতে) ১৩০ বর্ষ পিছনে গিয়ে আমাদের এক সাথে Y1.9K এবং Y2K সমস্যা দেয়। লোকেরা কতগুলি বিট বাইটে ছিল তা নিয়ে রাজি হওয়ার আগে টেপগুলিতে আমাদের কাছে ডেটা রয়েছে
মার্টিন বেকেট

3

1) ডেটা মাইগ্রেশনে আপনার চিন্তা কী, বিশেষত বাস্তব জীবনের ক্ষেত্রে এবং কেবলমাত্র একজন বিকাশকারীর প্যাসেকটেকটিভ থেকে নয় ?:

মাইগ্রেশন সিস্টেম বিকাশের অপরিহার্য অঙ্গ। আপনি যদি আংশিক বা সম্পূর্ণরূপে পুরানো সিস্টেমগুলি প্রতিস্থাপন করেন তবে মাইগ্রেশন হ'ল জীবনের সত্যতা কিনা ম্যানেজমেন্ট চায় কিনা। যদি বিদ্যমান ডেটা খারাপ হয় তবে এটি আপনার নতুন সিস্টেমে খারাপভাবে প্রতিবিম্বিত হবে। সুতরাং, একটি ভাল মাইগ্রেশন কৌশল থাকা এটি বিশাল গুরুত্বের।

2) আমার পরিচালকদের মতামতের বিরুদ্ধে আপনার কি কোনও যুক্তি আছে?

হ্যাঁ, মাইগ্রেশন ঝুঁকিপূর্ণ তবে এটি জীবনের সত্য ঘটনাও তাই এটি মোকাবেলা করুন। এবং যত তাড়াতাড়ি সম্ভব এটি মোকাবেলা করুন।

3) আপনার সংস্থা ডেটা মাইগ্রেশন এবং তাদের দ্বারা সৃষ্ট সমস্যাগুলির সাথে কীভাবে ডিল করে?

আমার সংস্থাটি রয়েছে - ক্রমবর্ধমান সাফল্যের সাথে গ্রাহকগণ সক্রিয়ভাবে মাইগ্রেশন প্রক্রিয়াতে জড়িত। আমরা প্রকল্পের প্রথম শুরুর ধাপগুলিতে আমরা বিদ্যমান ডেটাটিকে সর্বোত্তম হিসাবে পর্যালোচনা করি এবং আমাদের স্থানান্তর শুরু করার আগে গ্রাহককে ডেটার গুণমান উন্নত করতে উত্সাহিত করি। কখনও কখনও আমরা আসলে এটি দাবি।

4: এই বিষয়গুলির সাথে সম্পর্কিত অন্য কোনও আকর্ষণীয় চিন্তাভাবনা

আমার পরামর্শ হ'ল মাইগ্রেশন প্রক্রিয়াটিকে দুটি ধাপে বিভক্ত করা: রূপান্তর এবং ডেটা সাফ করা। রূপান্তর মোটামুটি সোজা এগিয়ে - নতুন সিস্টেমে পুরানো সিস্টেমের অবজেক্টগুলিকে ম্যাপ করার বিষয়টি। অন্যদিকে ডেটা সাফ করা খুব জটিল জিনিস হতে পারে (উপরে বর্ণিত হিসাবে) গ্রাহককে যথাসম্ভব জড়িত রাখুন এবং যত তাড়াতাড়ি সম্ভব প্রক্রিয়া শুরু করুন। মনে রাখবেন যে খারাপ ডেটা আপনার নতুন সিস্টেমে খারাপ প্রভাব ফেলবে - কখনও কখনও সম্পূর্ণ কারণ ছাড়াই। যখন কোনও নতুন সিস্টেম কাজ করে না, গ্রাহক খুব কমই সেই ডেটাটিকে দোষ দেবেন যা পুরানো সিস্টেমে ঠিক কাজ করে বলে মনে হয়েছিল।


2

আপনার স্থানান্তরিত করার পরিকল্পনা করা ডেটা যদি খারাপ হয় তবে আপনি মাইগ্রেশন করেন কিনা তা ঠিক করা দরকার। খারাপ ডেটা = অকেজো ডেটা।

অভিবাসনগুলি ঝুঁকিপূর্ণ, এটি সত্য। তবে প্রতিটি বড় আইটি প্রকল্প। ঝুঁকি হ্রাস করার উপায় রয়েছে এবং মাইগ্রেশনে অবশ্যই তাদের সামনে পরিকল্পনা করা উচিত।

প্রথমত, সিস্টেমে এখনকার মতো ফিরে যাওয়ার আপনার সবসময় একটি উপায় থাকা উচিত। দ্বিতীয় স্থানান্তরগুলি পরীক্ষার সার্ভারগুলিতে করা উচিত যা কেবল স্থানান্তরের জন্য সেট আপ করা হয়। প্রথমে এটি পরীক্ষা করার ক্ষমতা ছাড়াই মাইগ্রেশন করা বোকামি। তৃতীয়, স্থানান্তরের জন্য সমস্ত কোড উত্স নিয়ন্ত্রণে থাকা উচিত।

চতুর্থত, মাইগ্রেশন শুরু করার আগে আপনার প্রয়োজনীয়তা এবং পরীক্ষার পরিকল্পনা দরকার। আপনার জানতে হবে যে আপনার যদি পুরানো সিস্টেমে 1,293,687 টি রেকর্ড থাকে তবে নতুনতে আপনার এটি একই ছিল বা আপনি জানেন যে তারা কোথায় গেছে (সম্ভবত একটি ব্যতিক্রম টেবিলে)। আপনি যদি কোনও অস্বীকৃত স্কিমকে সাধারন করছেন তবে আপনার শুরুর আগে আপনার কয়টি রেকর্ড শেষ হওয়া উচিত এবং তা পরীক্ষা করে দেখার দরকার। আপনার এমন একটি ডকুমেন্টেশন দরকার যা একটি সিস্টেম থেকে অন্য সিস্টেমে ম্যাপিংগুলি নির্দিষ্ট করে। এটি আপনার QA লোকদের ডেটা সঠিক জায়গায় গেছে কিনা তা পরীক্ষা করতে সহায়তা করবে।

বর্তমানের খারাপ ডেটা কীভাবে পরিচালনা করতে হবে তা আপনাকে নির্ধারণ করতে হবে। কী পরিষ্কার করা যেতে পারে, প্রয়োজনীয় ক্ষেত্রের জন্য কী কী প্রয়োজন হতে পারে যা 'অজানা' বলে, কোন ব্যতিক্রম টেবিলের বাইরে ছুঁড়ে ফেলা উচিত, ব্যবহারকারীদের একটি গ্রুপের দ্বারা ম্যানুয়াল হস্তক্ষেপের কী দরকার (এই দুই ব্যক্তি যদি সত্যই ডুপ বা সিদ্ধান্ত নিচ্ছেন) উদাহরণস্বরূপ একই নামে দুটি অনুশীলনে দু'জন ডাক্তার আছেন এবং যদি এটি ডুপ হয় যে দুটি রেকর্ডের পার্থক্য হয় তখন কোন ডেটা বেছে নিতে হয় ইত্যাদি)।

একটি সফল স্থানান্তর চাবি পরিকল্পনা হয়। আমি খুঁজে পেয়েছি যে পরিকল্পনার (যা পরীক্ষার কেসগুলি এবং ইউনিট পরীক্ষা লেখার অন্তর্ভুক্ত) সাধারণত আসল বিকাশের চেয়ে বেশি সময় নেয়।

একটি সফল ডেটা মাইগ্রেশনের পরবর্তী কীটি হল QA। লঞ্চের আগের দিন কিউএ টিমকে ফেলে দেওয়ার কোনও প্রকল্প এটি নয়। কিউএ যখন সমস্যা আছে তখন বলছে এটি লঞ্চ করার কোনও প্রকল্প নয়।

সফল মাইগ্রেশনের আরেকটি চাবিকাঠি হ'ল বেশিরভাগ ডেটা মোতায়েন করা এবং অরজিনাল সিস্টেমটি চলমান অবস্থায় এটি পরীক্ষা করা। আপনি যদি প্রচুর রেকর্ড সরিয়ে থাকেন তবে এটি সময় সাপেক্ষ হতে পারে এবং নতুন পরিবর্তন ঘটতে পারে। সুতরাং আপনার প্রক্রিয়াটি অবশ্যই মাইগ্রেশন শুরু হওয়ার পরে ডেটা পরিবর্তনগুলি টানতে সক্ষম হবে। উদাহরণস্বরূপ এসকিউএল সার্ভারের কিছু পরিবর্তন করুন ডেটা ক্যাপচার বলে যা এতে সাহায্য করতে পারে। আপনি অরগিনাল সিস্টেমের একটি ব্যাকআপ নিতে পারেন এবং একই সাথে ডেটা পরিবর্তন ক্যাপচার চালু করতে পারেন। তারপরে আপনি আপনার মাইগ্রেশন সার্ভারে ব্যাকআপটি পুনরায় তৈরি করতে পারবেন, মাইগ্রেশনটি পরীক্ষা করতে পারবেন, বেশিরভাগ ডেটা লোড হয়ে যাবে এবং তারপরে আপনাকে কেবল পরিবর্তন করা রেকর্ডগুলি লোড করতে হবে। আপনি যখন চূড়ান্ত রেকর্ডগুলি স্থানান্তরিত করবেন, স্থানান্তর না হওয়া পর্যন্ত উত্স সিস্টেমটি বন্ধ করুন turn সময়ের আগে রেকর্ডগুলির সর্বাধিক স্থানান্তরিত করার এটি একটি কারণ, সুতরাং অ্যাপ্লিকেশনটি সর্বনিম্ন সময়ের চেয়ে কম। আপনার মাইগ্রেশনের সময়টি ভালভাবে চয়ন করুন, যেদিন তারা পে-রোল প্রসেস করবেন বা ডাব্লু 2 গুলি প্রেরণ করবেন সেদিন বেতনের সিটেমটি বন্ধ করবেন না। এবং স্বল্প ব্যবহারের সময় এটি করুন। আপনার যদি একাধিক ক্লায়েন্ট থাকে তবে আপনি প্রথমে একজনকে স্থানান্তর করতে এবং অন্যকে করার আগে সব কিছু ঠিক আছে কিনা তা নিশ্চিত করে নিতে পারেন। কোনও সমস্যা থাকলে 10000 এর চেয়ে এক গ্রাহকের ডেটা রোলব্যাক করা অনেক সহজ। তবে আপনি যদি এটি করেন তবে সাবধানতার সাথে পরিকল্পনা করুন। যদি সমস্যা হয় তবে 10000 এর চেয়ে বেশি ডেটা। তবে আপনি যদি এটি করেন তবে সাবধানতার সাথে পরিকল্পনা করুন। যদি সমস্যা হয় তবে 10000 এর চেয়ে বেশি ডেটা। তবে আপনি যদি এটি করেন তবে সাবধানতার সাথে পরিকল্পনা করুন।

যদি মাইগ্রেশনটিতে একটি নতুন ব্যবহারকারী ইন্টারফেস জড়িত থাকে তবে দয়া করে প্রকৃত ব্যবহারকারীগণকে মাইগ্রেশন পরীক্ষার অংশ হিসাবে এটি ব্যবহার করুন। তারপরে আপনি লাইভ হওয়ার আগে অন্যান্য ব্যবহারকারীদের প্রশিক্ষণ দিন (তবে আপনি লাইভ হওয়ার এক সপ্তাহেরও কম সময় আগে তারা ভুলে যাবে)। ব্যবহারকারীদের প্রশিক্ষণের নকশা তৈরিতে সহায়তা করার জন্য জড়িত থাকুন, তারা জানেন যে তাদের কী প্রশ্ন রয়েছে এবং লোকেরা কোন ক্রমে কী জানতে হবে। প্রয়োজনীয় ক্ষেত্র তৈরি করে তাদের ইনপুটটি পান কারণ আপনারা মনে করেন যে ব্যবহারকারীরা রেকর্ডে প্রবেশ করার সময় সাধারণত সেই ডেটা না রাখলে এটি কোনও সাহায্য করা উচিত নয়। তারা কেবল নতুন প্রয়োজনীয় ক্ষেত্রের মধ্যে আবর্জনা ফেলে দেবে কারণ তারা অন্যথায় ডেটা পেতে পারে না।

বর্তমান ডেটাতে কী ভুল আছে তা দেখুন, ভবিষ্যতে খারাপ হওয়া থেকে বাঁচতে আপনি কি বিদেশী কী, সীমাবদ্ধতা, ট্রিগার, ব্যবসায়ের নিয়ম প্রয়োগ, ডিফল্ট মান ইত্যাদির যোগ করতে পারেন? আপনি যখন খারাপ ডেটা সাফ করেন, ভবিষ্যতে সেই একইরকম খারাপ ডেটা এড়াতে আপনার একটি উপায়ও তৈরি করতে হবে। খারাপ ডেটা কেন বরাদ্দ করা হয়েছিল তা বিশ্লেষণ করুন এবং গর্তগুলি ইন্টি নকশা ঠিক করুন।


1

ডেটা স্থানান্তর একটি প্রয়োজনীয়তা। ডেটা মাইগ্রেশন ব্যতীত আপনি প্রায়শই এগিয়ে যেতে পারবেন না। প্রয়োজনীয় ইতিহাস নিয়ে কাজ করেছি এমন অনেকগুলি সিস্টেম কেবল পূর্বের সিস্টেমগুলি থেকে পাওয়া যায়। এটি করার একমাত্র ব্যবহারিক পদ্ধতি হিজরত। ডেটা কোয়ালিটি প্রায়শই একটি সমস্যা। সাধারণত, পূর্ববর্তী পদ্ধতিতে এটি মোকাবেলা করা উচিত। গুণমান ফিরে পেতে এর জন্য ডেটাতে পরিবর্তন দরকার হতে পারে।

আমি যে সিস্টেমগুলিতে কাজ করেছি সেগুলি অন্যান্য সিস্টেমের ডেটা নির্ভর করে। এটি একটি ভিন্ন তবে উল্লেখযোগ্য বিষয় issue কিছু ক্ষেত্রে ডেটা পুরোপুরি প্রতিস্থাপন করা যেতে পারে। অন্যান্য সেটগুলি নতুন ডেটার অন্তর্ভুক্ত পরিবর্তনগুলি বিদ্যমান সেটে মার্জ করে আরও ভালভাবে পরিচালনা করা যেতে পারে। এই ধরনের স্থানান্তরগুলিতে আগত ফিডের জন্য বৈধতা পরীক্ষা করা উচিত।

বিদ্যমান ডেটা বৈধকরণ এবং পরিষ্কার করার ক্ষমতা কোনও সিস্টেমের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য হতে পারে। এটি মাইগ্রেশন থেকে স্বতন্ত্র। প্রায়শই ডেটা সংশোধন করার পদ্ধতি রয়েছে যা সিস্টেমের নিয়ন্ত্রণের বাইরে থাকে। এটি ডেটা অবৈধ হয়ে উঠতে পারে। অন্যান্য ডেটা সমস্যাগুলির ফলে অ্যাপ্লিকেশনটিতে থাকা বাগগুলি দেখা দেয়। পর্যায়ক্রমে বৈধতার রুটিনগুলি চালানো সমস্যা চিহ্নিত করতে সহায়তা করে এবং স্থানান্তর হওয়ার সময় হওয়ার আগে ডেটা পরিষ্কার করার অনুমতি দেয়। যেমনটি প্রাথমিকভাবে তথ্য পরিষ্কার করার বিষয়টি উল্লেখ করা হয়েছে যে স্থানান্তরকে আরও সহজ করে তুলতে পারে।

কিছু বৈধতা সময় সংবেদনশীল, এবং সংশোধন হয়নি এমন ডেটা প্রয়োগ করা উচিত নয়। কোডেড মানগুলির ক্ষেত্রে এটি সাধারণ, যেখানে কোডগুলি অবসরপ্রাপ্ত হয়েছে। বৈধতা ত্রুটিগুলি ট্রিগার না করে রেকর্ডে অন্যান্য ক্ষেত্রগুলি পরিবর্তন করা সম্ভব উচিত। বৈধতার আগে কোন ক্ষেত্রগুলি পরিবর্তন হয়েছে তা সনাক্ত করার জন্য এটি আপডেটের বৈধতাটিকে আরও জটিল করে তুলতে পারে। ক্রস ফিল্ডের বৈধতা আরও জটিল হতে পারে। কিছু রেকর্ডকে কেবল পঠনযোগ্য হিসাবে বিবেচনা করার ক্ষমতা এই ক্ষেত্রে সহায়তা করতে পারে কারণ বৈধতা এড়ানো যায়।

আমি প্রথম যে সিস্টেমে কাজ করেছি, তাতে নতুন সিস্টেমটি গ্রাহক আংশিকভাবে প্রত্যাখ্যান করেছিলেন। তারা নতুন ডেটা এন্ট্রি মডিউলগুলি ব্যবহার করার অনুমতি দিতে অস্বীকৃতি জানায়। তবে তারা নতুন সিস্টেম থেকে ব্যাচ প্রসেসিং চেয়েছিল। সমাধানটি ছিল ব্যাচ চালানোর আগে রাত্রে ডেটা স্থানান্তর করা।


1

এটি একটি প্রয়োজনীয় মন্দ। আমি উভয় প্রান্তে ছিলাম এবং এগুলি এমন কিছু অন্যান্য সমস্যা যা সমস্যাটিকে আরও জটিল করে তোলে।

  1. বিশেষত এন্টারপ্রাইজে, যখন কমপেনিগুলি একটি নতুন সিস্টেমে যায়, তারা পুরানো সিস্টেমের মতো সমস্ত কিছু করতে চায়। তারা তাদের পদ্ধতিগুলি পর্যালোচনা করে না। তারা এতটাই অভিভূত হয় যে তারা কেবল সবকিছু একইভাবে চালিয়ে যেতে চায়। এটি তাদের কাছে নিরাপদ।
  2. তারা নতুন সিস্টেমটি শিখতে বা দক্ষতার সাথে লোক নিয়োগের জন্য সময় নেয় না।
  3. তারা # 1 টি সংযোজন করতে বা তাদের ব্যবসায়ের কিছু নতুন দিক পরিচালনা করতে নতুন সিস্টেমটি কাস্টমাইজ করতে চান। নতুন সিস্টেম এক্স কাস্টমাইজেশন এক্স রূপান্তরিত ডেটা = যৌগিক জটিলতা
  4. পর্যাপ্ত সময় পরীক্ষার জন্য নিবেদিত হয় না।
  5. গ্রাহকরা সমান্তরালভাবে / দু'বার কাজ করে চলাকে ঘৃণা করেন। ব্যবহারকারীদের দোষ দিতে পারেন না কারণ তাদের অন্যান্য সমস্ত দায়িত্ব সম্পূর্ণ বিস্ফোরণে চালিত হওয়ায় তাদের এটি করার জন্য সময় দেওয়া হয়নি।

যদি আপনার পরিচালকরা ডেটা রূপান্তর না করে বিক্রয় ক্ষয়কে ন্যায়সঙ্গত করতে পারেন তবে তাদের কাছে আরও শক্তি। আপনার গ্রাহকদের বলা যে সমস্ত ডেটা রূপান্তর ব্যর্থ হয় তা কাজ করে না কারণ অন্য কেউ সর্বদা তাদের বলবে (সাধারণত আপনার প্রতিযোগিতা।)।


0

ডেটা মাইগ্রেশনে আপনার চিন্তা কী, বিশেষত বাস্তব জীবনের ক্ষেত্রে এবং কেবল বিকাশকারীর প্যাসপেকটিভ থেকে নয়?

সফ্টওয়্যার নিয়মিত আপগ্রেড করতে হয়। মাইগ্রেশনটি সংরক্ষণ করা হয়েছে তা নিশ্চিত করতে আপনার ব্যাকআপ এবং টেস্টিং দরকার।

আমার পরিচালকদের মতামতের বিরুদ্ধে আপনার কি কোনও যুক্তি আছে?

তিনি সত্য যে এটি ঝুঁকিপূর্ণ। তবে কৌশলগুলি এটিকে কম ঝুঁকিপূর্ণ করার জন্য আপনি অভিযোজন করতে পারেন।

আপনার সংস্থা কীভাবে ডেটা মাইগ্রেশন এবং তাদের দ্বারা সৃষ্ট অসুবিধাগুলি মোকাবেলা করে?

আমাদের প্রতিদিনের ব্যাকআপ, ইনক্রিমেন্টাল ব্যাকআপ, উত্পাদনে প্রতিটি স্থাপনার আগে ব্যাকআপ থাকে। যদি কোনও খারাপ ঘটনা ঘটে তবে কমপক্ষে আপনাকে রোলব্যাক করতে দেয়।

আমাদের পরীক্ষার পরিবেশ, স্বয়ংক্রিয় পরীক্ষা এবং প্রতিদিনের বিল্ড সার্ভার রয়েছে। বড় অপারেশন এবং ফাংশনগুলি সঠিকভাবে কাজ করছে কিনা তা নিশ্চিত করার জন্য একটি ধোঁয়া পরীক্ষার পদ্ধতিও। বিল্ডটি পরীক্ষা করার জন্য আমরা বিকাশকারী, কিউএ এবং ব্যবহারকারীদের জড়িত (যাতে ডেটা স্থানান্তরিত হয়েছে)।

আমরা রেলগুলিতে রুবি ব্যবহার করছি যা ডেটা মাইগ্রেশন, আপগ্রেড এবং রোলব্যাকের সংস্করণ সরবরাহ করে। যা আমাদের জীবনকে সহজ করে তোলে।

আমরা কোড আপডেট এবং ডেটা মাইগ্রেশন কার্যকর করতে ক্যাপিস্ট্রানো ব্যবহার করছি। মাইগ্রেশনকে স্বয়ংক্রিয় ও সহজ রাখা প্রযোজনা সিস্টেমটি কাজ করে তা নিশ্চিত করার জন্য অন্যতম মূল বিষয়।

এই বিষয়গুলির সাথে সম্পর্কিত অন্য কোনও আকর্ষণীয় চিন্তাভাবনা?

আমার কাছে ডেটা মাইগ্রেশন সম্পর্কিত আরেকটি উদ্বেগ হ'ল কোড আপগ্রেড এবং ডেটা মাইগ্রেশনের ধারাবাহিকতা। আমার ক্ষেত্রে, আবার, আমরা এটি হ্যান্ডেল করার জন্য স্বয়ংক্রিয় উপায় ব্যবহার করছি। এবং রোলব্যাক করতে সর্বদা প্রস্তুত।

ম্যানুয়ালি ডেটা মাইগ্রেশন কার্যকর করা ডাটাবেসটিকে অজানা স্থিতিতে পরিণত করতে পারে। এবং বিভিন্ন সার্ভার পরিবেশের মধ্যে ডেটা মাইগ্রেশন সংস্করণটির তুলনা করা শক্ত।

আশা করি এটা সাহায্য করবে.


-1

আমরা পুরানো উত্তরাধিকার ব্যবস্থা থেকে ডেটা মাইগ্রেশন করার চেষ্টা করে আমাদের সময় নষ্ট করি না কারণ সময় এবং বিনিয়োগ এবং ঝুঁকি সবই খুব বেশি। আমরা কেবলমাত্র নতুন সিস্টেমগুলির সাথে এগিয়ে চলেছি এবং যখন প্রয়োজন হয় তখন সংহত করি।

প্রতিটি ব্যবসায়ের কিছু প্রকারের উত্তরাধিকার ব্যবস্থা রয়েছে যা এটি সমর্থন করে এবং এটি ব্যবসা করার জন্য কেবল একটি সাধারণ ব্যয়।

আপনার পরিচালকদের যে পুরস্কারটি প্রত্যাশার আশা করা হচ্ছে তা হ'ল মাইগ্রেশনের ব্যয় অনুসারে আরও বেশি হবে।


আমি আশা করি আপনি কোনও হাসপাতাল চালাবেন না: আমরা কেবল বাচ্চাদের রোগীর নথি রাখি কেন? ভাল আমরা গত বছর একটি নতুন সিস্টেম ইনস্টল করেছি এবং পুরানো সমস্ত ডেটা মাইগ্রেট করা খুব কঠিন ছিল তাই আমরা কেবল নতুন রোগীদের এটিতে রেখেছি!
মার্টিন বেকেট 5

নাহ, আমি হাসপাতাল চালাচ্ছি না। আমি আবার কি বলেছি পড়ুন। "The reward your managers hope to realize had better be extremely high given the cost of the migration." যদি পুরষ্কার বেশি হয় - যা কিছু হতে পারে - তবে এটি মূল্যবান। অন্যথায়, এটি সবার সময় অপচয় এবং একটি অপ্রয়োজনীয় ঝুঁকি। এছাড়াও, আমি আমার উত্তরে উল্লেখ করেছি যে নতুন কিছু ক্ষেত্রে পুরানো ডেটা অ্যাক্সেসের অনুমতি দেওয়ার জন্য ইন্টিগ্রেশন করা যেতে পারে done তবে এই সিদ্ধান্ত পুরোপুরি দৃশ্যের উপর নির্ভর করে।
jmort253

আমি দুঃখিত, তবে একীকরণ কেবল দুঃখকে মিশ্রিত করে।
পল নাথান

@ পল - অবশ্যই, তবে চলন্ত ডেটাও করে। এখানে কোন রুপোর বুলেট নেই।
jmort253
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.