মারজান ভেনিমার উত্তরটি প্রযুক্তিগতভাবে বৈধ এবং যখন সম্ভব হবে তখন তা অনুসরণ করা উচিত। হায়, মারজান একজন তাত্ত্বিক , বা কোনও বিশুদ্ধবাদী ডেটাবেস প্রশাসকের দৃষ্টিকোণ থেকে উত্তর দেয় যিনি জিনিসগুলি পরিষ্কারভাবে তৈরি করতে পছন্দ করেন। অনুশীলনে, কখনও কখনও ব্যবসায়ের সীমাবদ্ধতাগুলি পরিষ্কার উপায়ে জিনিসগুলি করা অসম্ভব করে তোলে।
নিম্নলিখিত ক্ষেত্রেটি কল্পনা করুন:
সফ্টওয়্যার প্রোডাক্টটিতে একটি ত্রুটি রয়েছে যার ফলে এটি কাজ করা বন্ধ করে দেয় যখন এটি ডেটাবেসে কিছু ডেটা অসঙ্গতি বলে মনে করে তা আবিষ্কার করে,
সমস্ত বিকাশকারী যারা আবেদনের মধ্যে বাগটি সংশোধন করতে পারে তারা অ্যাক্সেসযোগ্য নয়,
সংস্থাটি বর্তমানে প্রতি ঘন্টা কয়েক হাজার ডলার হারাচ্ছে (ধরা যাক minute 6 000 ডলার, যার অর্থ প্রতি মিনিটে 100 ডলার),
বাগটি বেশ কয়েকটি টেবিলকে প্রভাবিত করছে, এর মধ্যে একটি বিশাল এবং এটি শুধুমাত্র ডেটা নিয়ে উদ্বেগ প্রকাশ করে, স্কিমা নয়,
বাগটি প্রতিরোধ করার জন্য আপনাকে ডেটা নিয়ে কিছুটা পরীক্ষা করা উচিত, যার মধ্যে এটি মুছে ফেলা এবং পরিবর্তন করা উভয়ই জড়িত,
ডাটাবেসটি বড় এবং ব্যাকআপটি নিতে বা পুনরুদ্ধার করতে তিন ঘন্টা সময় লাগে,
শেষ পুরো ব্যাকআপটি তিন সপ্তাহ আগে নেওয়া হয়েছিল; এছাড়াও দৈনিক ইনক্রিমেন্টাল ব্যাকআপ রয়েছে এবং সর্বশেষ দৈনিক ইনক্রিমেন্টাল ব্যাকআপ 14 ঘন্টা আগে হয়েছিল,
ডাটাবেস ব্যাকআপগুলি নির্ভরযোগ্য বলে ধরে নেওয়া হয়; তাদের কঠোরভাবে পরীক্ষা করা হয়েছিল, সম্প্রতি সহ,
14 ঘন্টা ডেটা হারানো গ্রহণযোগ্য নয়, তবে এক থেকে দুই ঘন্টা ডেটার ক্ষতি হ'ল,
মঞ্চ পরিবেশটি সর্বশেষে ছয় মাস আগে ব্যবহৃত হয়েছিল; দেখে মনে হচ্ছে এটি আপ টু ডেট নয় এবং এটি সেট আপ হতে কয়েক ঘন্টা সময় নিতে পারে,
ডাটাবেসটি মাইক্রোসফ্ট এসকিউএল সার্ভার ২০০৮ এন্টারপ্রাইজ।
জিনিসগুলি করার পরিষ্কার উপায় হ'ল:
মঞ্চ পরিবেশে ব্যাকআপ পুনরুদ্ধার করুন,
সেখানে পরীক্ষা,
চূড়ান্ত স্ক্রিপ্ট দুবার পরীক্ষা করুন,
প্রোডাকশন সার্ভারে স্ক্রিপ্টটি চালান।
আপনার প্রথম সংস্থার জন্য প্রথম পদক্ষেপের জন্য 18,000 ডলার খরচ হবে। যদি আপনি ত্রুটিহীনভাবে তৃতীয় পদক্ষেপটি করেন তবে ঝুঁকিটি খুব কম, তবে যেহেতু আপনি চরম চাপের মধ্যে কাজ করছেন, ঝুঁকিটি আরও বেশি হবে। আপনি কোনও স্ক্রিপ্ট দিয়ে শেষ করতে পারেন যা মঞ্চে পুরোপুরি ভাল কাজ করেছিল, তারপরে প্রোডাকশন ডাটাবেসটিকে স্ক্রু করবে।
পরিবর্তে, আপনি এটি করতে পারে:
একটি স্ন্যাপশট তৈরি করুন (মাইক্রোসফ্ট এসকিউএল সার্ভার এটি সমর্থন করে এবং এটি ডাটাবেসের স্ন্যাপশটকে ফিরিয়ে আনতে কয়েক সেকেন্ড সময় নেয়) যা ব্যাকআপ নিতে এক ঘন্টা সময় নেয়; আমি ধারণা করি যে অন্যান্য ডাটাবেস পণ্যগুলিও স্ন্যাপশটগুলিকে সমর্থন করে),
সরাসরি উত্পাদন ডাটাবেসে পরীক্ষা করুন, কিছু ভুল হয়ে গেলে স্ন্যাপশটে ফিরে যাওয়া।
যদিও একজন পিউরিস্ট তার ডাটাবেসটিকে একটি পরিষ্কার উপায়ে স্থির করে ফেলবেন এবং তার সংস্থার 20,000 ডলারের বেশি সময় নষ্ট করার সময় সময় চাপের সাথে জিনিসগুলি স্ক্রু করার ঝুঁকি রয়েছে, এমন এক ডাটাবেস অ্যাডমিনিস্ট্রেটর যিনি অ্যাকাউন্টে ব্যবসায়ের সীমাবদ্ধতাগুলি গ্রহণ করেন এটি একটি উপায়ে ডাটাবেস ঠিক করে দেবে যা দ্রুত এটি করার সময় ঝুঁকিগুলি হ্রাস করবে (স্ন্যাপশটগুলির জন্য ধন্যবাদ)।
উপসংহার
আমি নিজেই একজন পিউরিস্ট, এবং পরিষ্কার-পরিচ্ছন্ন উপায়ে জিনিসগুলি করা থেকে আমি ঘৃণা করি। একজন বিকাশকারী হিসাবে, আমি কোডটি সংশোধন করেছিলাম তার রিফ্যাক্টর করি, আমি সেই কঠিন অংশগুলিকে মন্তব্য করি যা পুনরুদ্ধার করা যায় না, আমি কোডবেসকে ইউনিট-টেস্ট করি এবং আমি কোড রিভিউ করি। তবে আমি পরিস্থিতিগুলিও বিবেচনায় রেখেছি যেখানে হয় আপনি পরিষ্কারভাবে কাজগুলি করেন এবং পরের দিন আপনি বরখাস্ত হন, বা আপনি যে ঝুঁকি এবং আর্থিক প্রভাব উভয় হ্রাস করেন তা দ্রুত হ্যাক করে যা কাজ করে।
যদি কোনও আইটি লোক যদি কেবল পরিচ্ছন্নতার জন্য কাজগুলি পরিষ্কার করতে চায় তবে এটি সংস্থার জন্য কয়েক হাজার ডলার ক্ষতি করে, এই আইটি লোকটির তার কাজের একটি গভীর ভুল বোঝাবুঝি রয়েছে।