ব্যারাকুদা এবং সংকোচনের সুবিধা


12

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

আমার সার্ভারটি বর্তমানে অ্যান্টেলোপ ব্যবহার করছে কারণ এটি মাইএসকিউএল-এর ডিফল্ট।
আমার কাছে থাকা বড় ডেটাবেসের কারণে আমি স্মৃতিশক্তি নিয়ে বহুবার সমস্যা পেয়েছি। আমার ডাটাবেস প্রতিদিন বাড়ছে।

মনে হচ্ছে কমপ্রেশনটি কয়েকটি লোককে সুবিধা দিচ্ছে, যেমন: http://www.mysqlperformanceblog.com/2008/04/23/real- Life-use-case-for-barracuda-innodb-file-format
/

আমি বুঝতে পারি মেমরি এবং ডিস্কের স্থানটি কম হতে পারে তবে আমি এটি নিশ্চিত কিনা তা নিশ্চিত নই (নিবন্ধ থেকে উদ্ধৃত):
"শীর্ষ অনুসারে ~ 5% সিপিইউ লোড (80-100% থেকে বেশিরভাগ I / O এর জন্য অপেক্ষা করছে)
0.01 প্রাথমিক কী দ্বারা সেকেন্ড গড় অনুসন্ধানের সময় (রূপান্তরের আগে 1-20 সেকেন্ড থেকে) "

আমি ভেবেছিলাম এই দুটি জিনিস উন্নত হবে না, কারণ যদি ডেটা সংকুচিত করা হয়, আবারও মূল তথ্যটি পাওয়ার জন্য সার্ভারটি সঙ্কুচিত করতে হবে, তাহলে কি এই বোঝা যায় না যে সিপিইউ ব্যবহার বাড়বে?

নিবিড় অ্যাপ্লিকেশনগুলি পড়ার / লেখার ক্ষেত্রে এটি কী উপকৃত হয়? আপনি কি আমাকে বারাকুডা এবং সংক্ষেপণে পরিবর্তন করার জন্য সুপারিশ করবেন?

আপনি কি বারাকুডার কোনও বিষয় সম্পর্কে সচেতন?
এটি নীচের প্রশ্নের উত্তরটি কয়েকটি ইস্যুতে ইঙ্গিত করে বলে মনে হচ্ছে তবে এটি ২০১১ সাল থেকে, আমি এখনই এগুলি স্থির করে নেব: /server/258022/mysql-innodb-how-to-switch -to-Barracuda-বিন্যাসে

উত্তর:


14

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

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

আরও সাম্প্রতিক রেফারেন্স সামগ্রী হিসাবে, আমি আপনাকে সুপারিশ করব:

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

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

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

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

সংক্ষেপে: ব্যারাকুডা ব্যবহারের প্রধান কারণগুলি হ'ল বিএলওবি হ্যান্ডলিং, innodb_large_prefixসামঞ্জস্যতা (বৃহত সূচী) এবং সংক্ষেপণ। গতিশীল, মাইএসকিউএল 8.0 এ এখন ডিফল্ট ফাইল ফর্ম্যাট।


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

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

হ্যাঁ, আমি সম্ভবত প্রথমে কয়েকটি টেবিল রূপান্তর করার চেষ্টা করতে পারি (সম্ভবত যেগুলি এত বড় / ব্যবহৃত হয় না)। যাইহোক, বড়দের জন্য, কেবলমাত্র 1 টি ডাউনটাইমের পরিবর্তে কয়েকটি ডাউনটাইম প্রয়োজন হবে যেখানে আমি তাদের সকলকে একবারে রূপান্তর করব। আমি সেরা পদ্ধতির কি দেখতে হবে। আমি বুঝতে পারি না, কেন এটি ডিবাগিংকে আরও কঠিন করে তুলবে। আপনি এখানে ঠিক কি বলতে চান? আপনাকে অনেক ধন্যবাদ.
নুনো

1
অনলাইন ফ্যাশনে টেবিলগুলি পুনরায় তৈরি করতে আপনার কাছে পিটি-অনলাইন-স্কিমা-পরিবর্তন পারকোনা.com/doc/percona - toolkit/2.2/… এর মতো সরঞ্জাম রয়েছে । আমি কেবল উল্লেখ করেছি যে কেবল কয়েকটি টেবিলগুলিকে মিশ্রিত করা ইঞ্জিন পরিবর্তনের কারণে সিপিইউ / মেমরি / আইপস পরিবর্তনগুলি পরিমাপ করা এবং সাধারণ লোড পরিবর্তনগুলি থেকে বা পুনরায় পুনরুদ্ধার করার সময় ক্যাশে পরিবর্তনের কারণে পৃথক করতে পারে measure বিভিন্ন হার্ডওয়্যার সহ একটি আলাদা মেশিনে দেখাও কঠিন, তাই কেবল শুভকামনা!
জিনাস

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