ইবদাটা ফাইলের জন্য কত বড়?


9

আমার ইবদাটা ফাইলটি খুব বড়, কমপক্ষে এটি আমার কাছে খুব বড় বলে মনে হচ্ছে। এটি কি অত্যধিক বা খারাপ না?

-rw-rw---- 1 mysql mysql  15G Apr 18 10:11 ibdata1

4
আপনার ইবদাটা ফাইল খুব ছোট।
জেফ ফেরল্যান্ড 15

সেই ফাইলটিকে ছোট অংশগুলিতে ভাগ করে (4 জি বলুন) পারফরম্যান্সের জন্য আরও ভাল বা খারাপ হতে পারে?
নাছিতো

উত্তর:


13

এটি যখন সমস্যা হতে পারে

যদি আপনি show table statusকোনও টেবিলের উপর দৌড়েন এবং Data_freeফিল্ডটি আপনার ibdata1ফাইলের আকারের সিংহভাগ সজ্জিত করে, তবে আপনার কাছে প্রচুর অপচয় নষ্ট হতে পারে। সন্নিবেশ / মোছার একটি দুর্দান্ত বিষয় এটিকে একটি সমস্যা তৈরি করবে। যদি এটির ক্ষেত্রে এবং ক্ষণস্থায়ী সন্নিবেশ এবং মুছে ফেলাগুলি আপনার ডেটার বেশিরভাগ অংশ তৈরি করে, তবে আপনার প্রতি টেবিলের জন্য ফাইলের জন্য ভাল মামলা রয়েছে।

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

কেন এটি সাধারণত কোনও সমস্যা হয় না

আপনার InnoDB ফাইলটিকে ফাইলের চেয়ে ফাইল সিস্টেম হিসাবে ভাবেন। আপনার যদি অনেকগুলি ফাইল থাকে তবে আপনার একটি বড় ফাইল সিস্টেম দরকার।

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

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

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

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

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

একটি 15 জিবি ডাটাবেস ঘামবেন না।


দেখে মনে হচ্ছে যে আমি কেবল 50% এর নিচে ব্যবহার করেছি। InnoDB free: 7364608 kB
নাচিটো

@nachito মনে হচ্ছে এটি ঠিকঠাক হওয়া উচিত। আপনি যদি মনে করেন যে ফাইল সিস্টেমের জন্য আপনার আবার জায়গা প্রয়োজন, তবে এটি পুনরায় দাবি করুন। আপনি যদি কেবল পারফরম্যান্স নিয়ে চিন্তিত হন তবে তা করবেন না। এছাড়াও, পারফরম্যান্সের জন্য, আপনার নিজের ডাটাবেস ফাইলগুলি তাদের নিজস্ব পার্টিশনে রাখা ভাল, তাই আপনি যদি পারফরম্যান্সের দিকে মনোনিবেশ করেন তবে আপনি আর ব্যবহারযোগ্য পুনরায় দাবি দেখতে পাবেন না।
জেফ ফেরল্যান্ড 16

6

আইবডাটা ফাইলগুলি সঙ্কুচিত হয় না - আপনি যদি সম্প্রতি কিছু টেবিলগুলি বাদ দেন বা প্রচুর সারি সরিয়ে ফেলে থাকেন - আপনার কনফিগারেশনে ইনডোডব খালি জায়গাটি ফাইল সিস্টেমে ছেড়ে দেবে না। আমি আপনাকে পরামর্শ দেব:

  • আপনার সমস্ত ডেটা ব্যাকআপ করুন যেমন মাইএসকিলডাম্প সহ
  • my.cnf ইনেডোব_ফায়াল_পার_সেবদ্ধ নির্দেশিকাতে যুক্ত করুন
  • মাইএসকিএল পুনরায় আরম্ভ করুন
  • ইনোডাব ইঞ্জিন ব্যবহার করে সমস্ত ডাটাবেস ফেলে দিন
  • বন্ধ করুন mysql
  • ইবদাটা ফাইল সরান
  • আরএম ইব_লগফাইল [01]
  • মাইএসকিএল শুরু করুন, সব ঠিক আছে কিনা সিসলগ চেক করুন
  • আপনার ডাম্প পুনরায় লোড করুন

এই ভাবে আপনি স্থানটি পুনরায় দাবি করতে সক্ষম হবেন যখনই আপনি ইনডোডব টেবিল / ডাটাবেস ড্রপ করবেন - সম্পর্কিত আইডিবি ফাইলগুলি তত্ক্ষণাত অপসারণ করা হবে।


আমি বুঝতে পারি যে এটি কখনই ডাব্লু / ও ডাম্পিং এবং টেবিলগুলি পুনরায় লোড করবে না। যাইহোক, আমি যদি InnoDB ডাটাবেসগুলি ফেলে রেখেছি তবে এটি "ফ্রি" স্পেসটি আবার বাড়তে শুরু করার আগে ব্যবহার করবে?
নাচিটো

1
@ নাচিটো হ্যাঁ, এটি হবে।
জেফ ফেরল্যান্ড


আপনার উত্তরটি ইস্যুটিকে ক্লাউড না করে কেবল একটি সরল পরামর্শ হিসাবে আমার উত্তরটি দেখে মনে হয়েছে। +1 !!!
RolandoMySQLDBA

1
ওয়েল, উত্তরটি হ'ল ডেটা ফাইলগুলির দ্বারা ব্যবহৃত স্থান হ্রাস করার একটি সমাধান, তবে এটি এর সাথে মেধা সম্পর্কিত কোনও আলোচনা নয় এবং আমি এটি পড়ার সাথেই প্রশ্ন question একটি 15 গিগাবাইট ইবদাতা ফাইল একটি বড় চুক্তি?
জেফ ফেরল্যান্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.