দুর্ভাগ্যক্রমে এমনকি 100 টি সারির ছোট ছোট ব্যাচে অনুলিপি করা কিছু সময়ের পরে উল্লেখযোগ্য পিছনে উত্পন্ন করে।
আপনি কি প্রতিটি ব্যাচের মধ্যে কোনও বিলম্ব যোগ করছেন, বা কেবল আপডেটগুলি বেকিং করছেন এবং প্রতিটি ব্যাচ সরাসরি আগেরটির পরে চালাচ্ছেন?
যদি তা হয় তবে এমন কিছু দিয়ে আপনার পছন্দসই ভাষায় রূপান্তরটি স্ক্রিপ্ট করার চেষ্টা করুন:
repeat
copy oldest 100 rows that haven't been copied yet to new table
sleep for as long as that update took
until there are <100 rows unprocessed
stop logging service
move the last few rows
rename tables
restart logging
delete the old table when you are sure the conversion has worked
এটি নিশ্চিত করা উচিত যে রূপান্তরটি আপনার সার্ভারের ক্ষমতা অর্ধেকের বেশি বা কম-বেশি গ্রহণ না করে এমনকি সিস্টেমের ব্যবহার সময়ের সাথে পরিবর্তিত হওয়ায় চাপানো বোঝার পার্থক্যের জন্যও অনুমতি দেয়।
অথবা আপনি যখন সেবা তুলনামূলকভাবে নিষ্ক্রিয় যতটা সম্ভব সময় হিসাবে ব্যবহার করতে পারে তবে পিছন (সম্ভাব্য বেশ সময় একটি দৈর্ঘ্যের জন্য pausing) যখন ডাটাবেসের চাহিদা এর ব্যবহারকারীদের জন্য কিছু কাজ করতে চান, প্রতিস্থাপন sleep for as long as the update took
সঙ্গে if the server's load is above <upper measure>, sleep for some seconds then check again, loop around the sleep/check until the load drops below <lower measure>
। এর অর্থ হ'ল এটি শান্ত সময়ে এগিয়ে বাষ্প করতে পারে তবে সার্ভার যখন স্বাভাবিক ওয়ার্কলোডের ব্যস্ততায় ব্যস্ত থাকে তখন পুরোপুরি বিরতি দেয়। লোড নির্ধারণ করা আপনার ওএসের উপর নির্ভর করে - লিনাক্সের অধীনে এবং একই রকম 1 মিনিটের লোড গড় মূল্য /proc/loadavg
বা এর আউটপুটটি করা uptime
উচিত। <lower measure>
এবং <upper measure>
একই মান হতে পারে, যদিও এটি নিয়ন্ত্রণের ক্ষেত্রে এটির মত পার্থক্য থাকার মতো স্বাভাবিক কারণ আপনার প্রক্রিয়াটি আরম্ভ না করে তাৎক্ষণিকভাবে বিরতি দেয় কারণ লোডের পরিমাপের উপর তার প্রভাব পুনরায় আরম্ভ করার কারণে এটির নিজস্ব পুনঃসূচনা হয়।
অবশ্যই এটি সেই টেবিলগুলির জন্য কাজ করবে না যেখানে পুরানো সারিগুলি সংশোধন করতে পারে তবে লগ টেবিলের জন্য আপনার বর্ণনা মতো এটি কাজ করবে।
এক্ষেত্রে নতুন টেবিলটি বসানোর পরে আপনি সূচী তৈরির সাধারণ জ্ঞানটিকে উপেক্ষা করতে চাইবেন । যখন আপনি জিনিসগুলি যত দ্রুত সম্ভব (সিস্টেমের বাকী অংশের উপর প্রভাব ফেলতে চান) প্রকৃতপক্ষে এটি আরও কার্যকর, এই ক্ষেত্রে আপনি প্রক্রিয়া শেষে লোডের বড় বিরাটতা চান না সূচিগুলি সম্পূর্ণরূপে একসাথে তৈরি হয় কারণ এটি এমন একটি প্রক্রিয়া যা যখন জিনিসগুলিতে ব্যস্ত হয় তখন আপনি থামতে পারবেন না।