মাইএসকিউএল প্রতিলিপি কত দ্রুত?


19

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

ডিবি নিজেই এত বড় নয় (<1gb) তবে আমি ভাবছি; 200-300 রেকর্ড আপডেট / মিনিট শীর্ষগুলি বিবেচনা করে: প্রতিলিপিটি কত দ্রুত? (ধরে নিই, প্রথমে, একটি 5 মেগা জেনেরিক ডিএসএল সংযোগ, দ্রুত প্রয়োজনে - ব্যয়কে যতটা সম্ভব কম রাখার চেষ্টা করা হচ্ছে তবে অর্থের জন্য আরও অর্থ আছে)

পুরো টেবিলগুলি ব্যাচগুলিতে প্রতিলিপি করা আছে? কোনও টেবিলের প্রতিটি রেকর্ড আপডেট হওয়ার সাথে সাথে চাহিদা অনুসারে প্রতিলিপিটি কি সম্পন্ন হয়েছে (ডক্স থেকে, আমি মনে করি যে এটি কনফিগারযোগ্য দেখছি)?

মন্তব্য:

  • আমি ডক্সে 1 মাস্টার, 2 ক্রীতদাসদের (বর্তমানে 2 শাখা কার্যালয়) সেটআপ চিন্তা করছি এখানে ব্যতীত এটি একটি অ্যাপ্লিকেশন, না একটি ওয়েব ক্লায়েন্ট যে
  • মাস্টারে করা কোনও আপডেটের জন্য <10 মিনিটের মধ্যে অন্যান্য দাসদের প্রতিলিপি তৈরি করা দরকার।
  • এই সমস্ত অনুমান করে যে আমি দাসের কাছ থেকে পড়া এবং মাস্টারের কাছে লেখার ধারণার সাথে আমাদের ওআরএম (ডেভ এক্সপ্রেস এক্সপিও) খুশি পেতে পারি।

উত্তর:


21

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

মাল্টি-মাস্টার প্রতিলিপি একই কাজ করে তবে উভয় দিকেই।

কিছু বেসিক গণনা আপনাকে আপনার ব্যান্ডউইথের প্রয়োজনের আরও ভাল সিদ্ধান্ত নিতে সহায়তা করবে।

Average transaction size * number of slaves * updates/minute = bandwidth needed

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


4

দাস পক্ষের প্রতিলিপি দুটি স্বতন্ত্র থ্রেড দ্বারা পরিচালিত হয়।

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

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

মাইএসকিউএল প্রতিলিপি পড়ার ক্যোয়ারী ক্ষমতা বাড়ায় কিন্তু কোয়েরি রাইটিং পারফরম্যান্স বৃদ্ধি করে না , যা গতিবেগিত আইওর মাস্টার এবং ব্লেভ উভয়ের বাইনোগলিতে ফেলা যায়


3

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

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