মাইএসকিউএল শার্পিং পদ্ধতির?


89

মাইএসকিউএল টেবিলগুলি ভাগ করে নেওয়ার জন্য সেরা পন্থাটি কী। আমি যে পদ্ধতিগুলি ভাবতে পারি সেগুলি হ'ল:

  1. অ্যাপ্লিকেশন স্তরের শারডিং?
  2. মাইএসকিউএল প্রক্সি স্তরে ভাগ করে নিচ্ছেন?
  3. শারডিংয়ের জন্য কেন্দ্রীয় লুকিং সার্ভার?

আপনি কি এই অঞ্চলে কোন আকর্ষণীয় প্রকল্প বা সরঞ্জাম জানেন?

উত্তর:


116

মাইএসকিউএল টেবিলগুলি শাড়িংয়ের জন্য সর্বোত্তম পদ্ধতির এটি না করা যদি না এটি সম্পূর্ণরূপে অনিবার্য না হয়।

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

আপনি পার্টিশন করেন এবং তারপরে বিভিন্ন হোস্টগুলিতে পার্টিশনগুলি নির্ধারণ করে (= শারড) কেবল তখনই যখন এই সমস্ত পার্টিশনের যোগফল আর একক ডাটাবেস সার্ভারের ক্ষেত্রে ফিট করে না - কারণ এটি হয় লেখেন বা পড়েছেন।

রাইটিং কেসটি হ'ল ক) লেখার ফ্রিকোয়েন্সি এই সার্ভারগুলিকে স্থায়ীভাবে ডিস্কগুলি ওভারলোড করে দিচ্ছে বা খ) অনেকগুলি রাইটিং চলছে যাতে এই প্রতিলিপিটি স্থায়ীভাবে স্থায়ীভাবে চলে যায়।

শারডিংয়ের জন্য পঠনের ক্ষেত্রে ডেটের আকারটি এত বড় হয় যে এর কার্যকরী সেটটি আর মেমরির সাথে খাপ খায় না এবং বেশিরভাগ সময় স্মৃতি থেকে পরিবেশন করার পরিবর্তে ডেটা ডিস্কে আঘাত শুরু করে।

আপনি শুধুমাত্র যখন আছে ঠিকরা আপনার এটা করতে।


আপনি যে মুহুর্তটি তীক্ষ্ণভাবে দেখবেন, আপনি তার জন্য একাধিক উপায়ে অর্থ প্রদান করছেন:

আপনার এসকিউএল এর বেশিরভাগটি আর ঘোষণামূলক নয়।

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

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

আপনি প্রচুর নেটওয়ার্কে বিলম্ব করছেন।

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

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

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

আপনি এসকিউএল এর প্রচুর অভিব্যক্তি শক্তি হারাচ্ছেন।

ঠিক আছে, এটি সম্ভবত কম গুরুত্বপূর্ণ, তবে বিদেশী কী সীমাবদ্ধতা এবং ডেটা অখণ্ডতার জন্য অন্যান্য এসকিউএল প্রক্রিয়াগুলি একাধিক শারড প্রসারিত করতে অক্ষম।

মাইএসকিউএলের এমন কোনও এপিআই নেই যা কার্যক্রমে থাকা অ্যাসিনক্রোনাস অনুসন্ধানগুলিকে অনুমতি দেয়।

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

এর পূর্বশর্ত হ'ল একটি অ্যাসিনক্রোনাস যোগাযোগ API, যা মাইএসকিউএলের জন্য ভাল কার্যকারী আকারে বিদ্যমান নয়। বিকল্পটি শিশু প্রসেসগুলিতে প্রচুর কাঁটাচামচ এবং সংযোগ, যা একটি seasonতু পাসে স্তন্যপান বিশ্বের ভিজিট করে।


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

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

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

ফাংশনাল শর্ডিংয়ের অসুবিধা রয়েছে যে এটি কোনও একক টেবিলকে এক উদাহরণের চেয়ে বড় হতে দেয় না এবং এর জন্য ডিজাইনারের ম্যানুয়াল মনোযোগ প্রয়োজন।

ফাংশনাল শর্ডিংয়ের সুবিধা রয়েছে যে এটি প্রচলিত কোডবেজে তুলনামূলকভাবে খুব সহজেই সম্পন্ন হয় যা অনেকগুলি পরিবর্তন যে খুব বেশি বড় নয় large http://Booking.com বিগত বছরগুলিতে এটি একাধিকবার করেছে এবং এটি তাদের পক্ষে ভাল কাজ করেছে।


আপনার প্রশ্নটির দিকে তাকিয়ে সমস্ত কিছু বলার পরেও আমি বিশ্বাস করি যে আপনি ভুল প্রশ্ন জিজ্ঞাসা করছেন, বা আমি আপনার সমস্যার বিবৃতিটিকে পুরোপুরি ভুল বুঝছি।


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

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

4
আপনার dbShards পরীক্ষা করা উচিত। এটি আপনার যুক্ত হওয়া "শার্ডস" এর প্রতি # রৈখিক চেয়ে ভাল স্কেল। আপনার খুব সামান্য প্রয়োজন হবে, যদি থাকে তবে অ্যাপ্লিকেশনটির দিক পরিবর্তন করতে হবে, এবং হ্যাঁ আপনি আবেদনের পার্থক্য জানেন না। এটি কেবল ওডিবিসি বা জেডিবিসির সাথে আপনার যেমন হয় তেমন লেনদেনগুলি প্রেরণ করে এবং তা পাবে। আপনি যদি কোনও লেনদেনের উপর আরও নিয়ন্ত্রণ চান তবে ডিবিশার্ডস শারড-ইঙ্গিতগুলিও অনুমতি দেয়। আপনি dbShards বলতে পারেন যে আপনি কী থেকে পড়া বা লিখতে চান তা ঠিক।
মুর্তিমান

4
@ জিগালা ভাল, প্রশস্ততা নির্বিশেষে এর মতো একটি সুসংজ্ঞাত উত্তর রচনা করার জন্য সময় ব্যয় করা হয় না, তবে আমি আনন্দিত যে এটি করা হয়েছিল, কারণ এই উত্তরটি আমার পক্ষে সহায়ক হিসাবে প্রমাণিত হয়েছে। উত্তর দেওয়ার সময় দয়া করে ব্যবহারকারীদের "বাক্সের বাইরে ভাবেন" নিরুৎসাহিত করবেন না।
mewm

12
  1. অ্যাপ্লিকেশন স্তরের শার্পিং: ডিবিশার্ডস হ'ল একমাত্র পণ্য যা আমি "অ্যাপ্লিকেশন সচেতন শারডিং" এর বিষয়ে জানি। ওয়েবসাইটে কয়েকটি ভাল নিবন্ধ আছে। কেবল সংজ্ঞা অনুসারে, অ্যাপ্লিকেশন সচেতন শার্পিং আরও কার্যকর হতে চলেছে। কোনও অ্যাপ্লিকেশন যদি ঠিকভাবে জেনে থাকে যে কোনও লেনদেন না করেই কোনও খোঁজখবর না নিয়েই বা কোনও প্রক্সি দ্বারা পুনঃনির্দেশিত করা যায়, তবে এটি নিজের মধ্যে দ্রুততর হবে। এবং গতি প্রায়শই প্রাথমিক উদ্বেগগুলির মধ্যে একটি, যদি একমাত্র উদ্বেগ না হয়, যখন কেউ শ্যাডিংয়ের দিকে তাকিয়ে থাকে।

  2. কিছু লোক একটি প্রক্সি দিয়ে "শারদ" করে তবে আমার দৃষ্টিতে যা শারডিংয়ের উদ্দেশ্যকে পরাস্ত করে। ডেটা কোথায় পাওয়া যাবে বা কোথায় সঞ্চয় করতে হবে তা আপনার লেনদেনের জন্য আপনি কেবল অন্য সার্ভার ব্যবহার করছেন। অ্যাপ্লিকেশন সচেতন শাড়িংয়ের সাথে, আপনার অ্যাপ্লিকেশনটি নিজেই কোথায় যেতে পারে তা জানে। আরও অনেক দক্ষ।

  3. এটি আসলে # 2 এর মতোই।


ডিবিশার্ডস কোথায় ব্যবহার হয়? এছাড়াও এটি ওপেন সোর্স নয়।
শেকি

এছাড়াও ডিবি বা স্টোরের পরিবর্তে কোনও হ্যাশের উপর ভিত্তি করে প্রক্সিটি দেখলে 2 এবং 3 এপ্রোচ ভিন্ন হতে পারে।
শেকি

4
dbShards বিভিন্ন ক্লায়েন্টের সাথে উত্পাদন করা হয়, কিন্তু না, এটি ওপেন সোর্স নয়। আমি মনে করি না আপনি একটি ভাল ওপেন সোর্স শারডিং পণ্য পাবেন। এবং হ্যাঁ আপনি ঠিক বলেছেন যে হ্যাশটিকে লুক হিসাবে ব্যবহার করা যেতে পারে, তবে সেই ক্ষেত্রে আপনার লেনদেনের ডাটাবেসে পৌঁছানোর জন্য আপনাকে আরও একটি "স্টপ" নিতে হবে। যে কারণে "অ্যাপ্লিকেশন সচেতন" শারডিং প্রায় সবসময়ই দ্রুততর হয়।
মন্থন

তবে আমি যেমন বলেছি, আপনি যদি সম্পর্কের অখণ্ডতা বজায় রাখে এমন একটি শার্টিং অ্যাপ্লিকেশন পেতে পারেন তবে আপনি ভাল অবস্থানে থাকবেন। আমি dbShards উল্লেখ করি কারণ এটি কেবলমাত্র আমিই জানি that এবং যেহেতু এটি হয় তাই এটি আপনার লেখার স্কেল করে এবং রৈখিক গতি পড়বে। আপনি 4 টি "শার্ড" যুক্ত করেন বা আপনি আপনার একটি মাইএসকিউএল সার্ভারকে 4 এ বিভক্ত করেন এবং এটি 4 গুণ দ্রুত গতিতে চলবে।
মন্ত্রীরমান

7

আপনি কি এই অঞ্চলে কোন আকর্ষণীয় প্রকল্প বা সরঞ্জাম জানেন?

এই স্থানটিতে বেশ কয়েকটি নতুন প্রকল্প:

  • citusdata.com
  • spockproxy.sourceforge.net
  • github.com/twitter/gizzard/

5

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

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


3

অবশ্যই আবেদন স্তর।

আমি এই বইটিতে খুঁজে পেয়েছি এমন সেরা পন্থা

হাই পারফরম্যান্স মাইএসকিউএল http://www.amazon.com / উচ্চ- পারফরম্যান্স- আমার এসকিউএল- জেরেমি- জাওডনি / ডিপি / 0596003064

সংক্ষিপ্ত বিবরণ: আপনি অনেক অংশে আপনার ডেটা বিভক্ত করতে এবং প্রতিটি সার্ভারে ~ 50 অংশ সঞ্চয় করতে পারেন। এটি আপনাকে শারডিংয়ের দ্বিতীয় বৃহত্তম সমস্যা - পুনরায় ভারসাম্য রক্ষা করতে সহায়তা করবে। তাদের মধ্যে কয়েকটিকে নতুন সার্ভারে সরিয়ে দিন এবং সবকিছু ঠিক হয়ে যাবে :)

আমি আপনাকে দৃ buy়ভাবে এটি কিনতে এবং "মাইএসকিএল স্কেলিং" অংশটি পড়ার পরামর্শ দিচ্ছি।


আপনার প্রস্তাবিত বইটি 8 বছরের পুরনো ... এটি কি আজকের প্রযুক্তির সাথে প্রাসঙ্গিকভাবে প্রচ্ছন্ন হয়?
রাফিয়ান

4
এটি স্কেল মাইএসকিএল করার জন্য কয়েকটি প্রাথমিক পদ্ধতির অন্তর্ভুক্ত। এএফআইএকি স্কেলিং মাইএসকিএলে কিছুই পরিবর্তন হয়নি। একই অ্যাপ্লিকেশন-স্তরের শার্পিং এবং প্রতিরূপ কৌশল আজকাল ব্যাপকভাবে ব্যবহৃত হয়।
আন্দ্রে ফ্রোলভ

আমি ভুল হতে পারি, তবে আমি গত এক সপ্তাহ ধরে এটি নিয়ে এক টন গবেষণা করে চলেছি এবং দেখে মনে হচ্ছে মাইএসকিউএল নিজেই গত 8 বছরে অনেক পরিবর্তন করেছে, বিশেষত বিভাজন এবং ক্যাশে সম্পর্কিত। এই বছর একটি নতুন সংস্করণ প্রকাশিত হয়েছে: amazon.com/High-Performance- MySQL- Opticalization-Replication / dp/… আমি এটি পড়িনি তবে আমি মনে করি এটি উপলব্ধ নতুন প্রতিরূপ মডেলগুলি কভার করে।
NateDainant

4
বই .. কেন শুধু এখানে এটি ব্যাখ্যা না।
DDD

2

2018 হিসাবে, এটির জন্য একটি MySQL- স্থানীয় সমাধান বলে মনে হচ্ছে। কমপক্ষে 2 টি রয়েছে - ইনোডিবি ক্লাস্টার এবং এনডিবি ক্লাস্টার (এটির একটি বাণিজ্যিক এবং একটি সম্প্রদায়ের সংস্করণ রয়েছে)।

যেহেতু বেশিরভাগ লোকেরা মাইএসকিএল সম্প্রদায়ের সংস্করণ ব্যবহার করে তারা ইনোডিবি ইঞ্জিনের সাথে বেশি পরিচিত, তাই এটিই প্রথম অগ্রাধিকার হিসাবে অন্বেষণ করা উচিত। এটি বক্সের বাইরে প্রতিলিপি এবং বিভাজন / শারডিং সমর্থন করে এবং বিভিন্ন রাউটিং / লোড-ব্যালেন্সিং বিকল্পগুলির জন্য মাইএসকিএল রাউটারের উপর ভিত্তি করে।

আপনার টেবিল তৈরির বাক্য গঠনটি পরিবর্তন করা দরকার, উদাহরণস্বরূপ:

    CREATE TABLE t1 (col1 INT, col2 CHAR(5), col3 DATETIME) PARTITION BY HASH ( YEAR(col3) );

(এটি চারটি বিভাজনমূলক প্রকারের মধ্যে একটি মাত্র )

একটি খুব গুরুত্বপূর্ণ সীমাবদ্ধতা:

InnoDB বিদেশী কী এবং মাইএসকিউএল বিভাজন সামঞ্জস্যপূর্ণ নয়। পার্টিশনযুক্ত InnoDB টেবিলগুলিতে বিদেশী কী রেফারেন্স থাকতে পারে না বা তাদের কাছে কলামগুলি বিদেশী কী দ্বারা উল্লেখ করা যেতে পারে। বিদেশী কী দ্বারা রেফারেন্সযুক্ত আইএনএনডিবি সারণিগুলি ভাগ করা যায় না।


আপনার যদি কোনও তারিখের সীমা থাকে তবে সমস্ত পার্টিশন PARTITION BY HASH(YEAR...)স্ক্যান করবে তা সচেতন হন । ইয়াক
রিক জেমস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.