"डायनेमिक" के बारे में , गैर-संकुचित बाराकुडा-केवल प्रारूप, बहुत कम कॉम्पैक्ट से बदल गया है, मुख्य रूप से कैसे बूँदें (और किसी भी बहुत गतिशील क्षेत्र) संग्रहीत हैं । मेरे पास कॉम्पैक्ट बनाम डायनेमिक के साथ कभी कोई समस्या नहीं थी, इसलिए मैं बारकुडा के डायनामिक की सुरक्षित रूप से सिफारिश कर सकता हूं। याद रखें कि बाराकुडा पुराने बेमानी और कॉम्पैक्ट पंक्ति स्वरूपों का भी समर्थन करता है ।
जिस लेख का आप उल्लेख कर रहे हैं, वह शायद बहुत पुराना है (५.१) और, पीटर जेड के रूप में, पेरकोना के सीईओ, टिप्पणियों पर उल्लेख करते हैं कि यह थोड़ा भ्रामक हो सकता है। इसका मतलब यह नहीं है कि काम के बोझ के आधार पर संपीड़न एक बहुत बड़ा लाभ नहीं हो सकता है। हालाँकि, मैं आपको इसे संस्करणों> = 5.6 पर आज़माने की सलाह दूंगा, क्योंकि फेसबुक और ओरेकल दोनों ने इसके बारे में बहुत सुधार किया है।
हाल की संदर्भ सामग्री के रूप में, मैं आपको सलाह दूंगा:
विशेष रूप से, मुझे फेसबुक सामग्री पसंद है क्योंकि वे तीसरे पक्ष हैं (एजेंडा की कोई आवश्यकता नहीं है) और उनके पास दुनिया में सबसे बड़े MySQL तैनाती में से एक है। जैसा कि आप देख सकते हैं कि उनके पास संपीड़न के साथ एसएसडी तकनीक के संयोजन के बहुत सफल सेटअप हैं।
क्या इससे आपको फायदा होगा? जो आपके कार्यभार, कार्य सेट और सेटअप (IOPS, मेमोरी) पर निर्भर करेगा । निर्भर करता है कि आप IO बाउंड हैं, CPU बाउंड या मेमोरी बाउंड, कंप्रेशन कुछ मामलों में नकारात्मक रूप से प्रभावित हो सकता है, अतिरिक्त CPU जोड़कर, मेमोरी आवश्यकताएं (संकुचित और असम्पीडित दोनों पेज इनोबीडी बफर पूल पर संग्रहीत हैं) या बहुत अधिक कम्प्रेशन फेलियर उत्पन्न करके, संवर्धित कर रहे हैं , विलंबता। यह डेटा के प्रकार पर भी निर्भर करता है: कम्प्रेशन बड़े टेक्स्ट ब्लॉब्स के साथ बहुत मदद कर सकता है, लेकिन यह पहले से कंप्रेस्ड डेटा के साथ बेकार हो सकता है।
मेरे अनुभव में, व्यवहार में, ऐसे लोग हैं जिनके लिए संपीड़न प्रदर्शन की एक पवित्र कब्र था और इसके साथ बहुत खुश हैं, लेकिन अन्य मामलों में, हमें डेटा को असम्पीडित करना पड़ा क्योंकि कोई लाभ प्राप्त नहीं हुआ था। हालांकि एक बहुत भारी लेखन कार्यभार संपीड़न के लिए एक खराब वातावरण की तरह लग सकता है, अगर आपके विशेष मामले में आप सीपीयू-बाउंड और मेमोरी-बाउंड नहीं हैं, लेकिन आईओपीएस-बाउंड कोई भी कम सहायक नहीं हो सकता है।
सामान्य तौर पर, परिणामों की भविष्यवाणी करना बहुत मुश्किल है, आमतौर पर आपको बेंचमार्किंग के लिए एक परीक्षण वातावरण सेट करना चाहिए और फिर पता चलता है कि आपको बेहतर या बदतर परिणाम क्यों मिलते हैं (और इस तरह आप विभिन्न ब्लॉक आकारों, आदि के साथ खेल सकते हैं)। बाराकुडा पूरी तरह से सुरक्षित है। संपीड़न आपके लिए हो सकता है या नहीं। और आप हमेशा अन्य संपीड़न विधियों जैसे कि ब्लॉब्स के क्लाइंट-साइड संपीड़न के साथ प्रयोग कर सकते हैं (उदाहरण के लिए, यदि आप CPU-बाउंड को समाप्त करते हैं) या अन्य 3 पार्टी इंजन जैसे RocksDB और TokuDB , जिसमें संपीड़न एक बड़ी प्राथमिकता है, क्योंकि यह केंद्रित है InnoDB से बड़े डेटासेट के लिए प्रदर्शन संभाल सकते हैं।
संक्षेप में: बाराकुडा का उपयोग करने के मुख्य कारण BLOB हैंडलिंग, innodb_large_prefix
संगतता (बड़े सूचकांक) और संपीड़न हैं। MySQL 8.0 पर डायनामिक, अब डिफ़ॉल्ट फ़ाइल स्वरूप है।