মাইএসকিএল: 192 ট্রিলিয়ন রেকর্ডের সাথে কাজ করা ... (হ্যাঁ, 192 ট্রিলিয়ন)


39

এখানে প্রশ্ন ...

192 ট্রিলিয়ন রেকর্ড বিবেচনা করে, আমার বিবেচনাগুলি কী হওয়া উচিত?

আমার প্রধান উদ্বেগ গতি।

টেবিলটি এখানে ...

    CREATE TABLE `ref` (
  `id` INTEGER(13) AUTO_INCREMENT DEFAULT NOT NULL,
  `rel_id` INTEGER(13) NOT NULL,
  `p1` INTEGER(13) NOT NULL,
  `p2` INTEGER(13) DEFAULT NULL,
  `p3` INTEGER(13) DEFAULT NULL,
  `s` INTEGER(13) NOT NULL,
  `p4` INTEGER(13) DEFAULT NULL,
  `p5` INTEGER(13) DEFAULT NULL,
  `p6` INTEGER(13) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY (`s`),
  KEY (`rel_id`),
  KEY (`p3`),
  KEY (`p4`)
    );

প্রশ্নগুলি এখানে ...

SELECT id, s FROM ref WHERE red_id="$rel_id" AND p3="$p3" AND p4="$p4"

SELECT rel_id, p1, p2, p3, p4, p5, p6 FROM ref WHERE id="$id"

INSERT INTO rel (rel_id, p1, p2, p3, s, p4, p5, p6)
VALUES ("$rel_id", "$p1", "$p2", "$p3", "$s", "$p4", "$p5", "$p6")

কিছু নোট এখানে ...

  • নির্বাচনটি INSERT এর চেয়ে অনেক বেশি ঘন ঘন করা হবে। তবে মাঝে মাঝে আমি একসাথে কয়েকশ রেকর্ড যুক্ত করতে চাই want
  • লোড-ওয়াইজ, ঘন্টার জন্য কিছুই থাকবে না তখন একসাথে কয়েক হাজার কোয়েরি হতে পারে।
  • ভাববেন না যে আমি আর কোনও স্বাভাবিক করতে পারি (সংমিশ্রণে পি মানগুলি দরকার)
  • সামগ্রিকভাবে ডাটাবেসটি খুব আপেক্ষিক।
  • এটি এখন পর্যন্ত বৃহত্তম টেবিল হবে (পরের বৃহত্তমটি প্রায় 900 ক)

আপডেট (08/11/2010)

মজার বিষয় হল, আমাকে একটি দ্বিতীয় বিকল্প দেওয়া হয়েছে ...

192 ট্রিলিয়ন এর পরিবর্তে আমি 2.6 * 10 ^ 16 (15 জিরো, যার অর্থ 26 কোয়াড্রিলিয়ন) সঞ্চয় করতে পারি ...

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

সুতরাং এটি আমার মনে করে যে কেবলমাত্র সংখ্যা সংরক্ষণের জন্য আরও একটি ভাল সমাধান অবশ্যই মাইএসকিএল ...

এই দ্বিতীয় বিকল্পটি দেওয়া, আমি কি এটি নেওয়া বা প্রথমটির সাথে থাকা উচিত ...

[সম্পাদনা] সবেমাত্র কিছু পরীক্ষা-নিরীক্ষার সংবাদ পেয়েছে - এই সেটআপের সাথে 100 মিলিয়ন সারি 0.0004 সেকেন্ডে কোয়েরিটি ফেরত [সম্পাদনা]


7
এর জন্য আপনি কীভাবে মাইএসকিউএল ব্যবহার করছেন? কেউ যদি দৃ solid়ভাবে যুক্তি সরবরাহ করে তবে আপনি কোনও আলাদা ডিবিএম-তে স্যুইচ করতে নিশ্চিত হতে পারেন?
WheresAlice

3
ট্রিলিয়ন 10 ^ 12 হিসাবে বা 10 ^ 18 হিসাবে?
andol

15
192 ট্রিলিয়ন রেকর্ডে আপনার একটি বাজেট থাকা উচিত যা আপনাকে মাইএসকিউএল প্রতিশ্রুতিবদ্ধদের কাছে প্রশ্ন জিজ্ঞাসা করতে দেয়, কোনও আলোচনার ফোরাম নয়।
রেমাস রুসানু

5
ডাটাবেসের সাহায্যে এই বৃহত (এবং স্পষ্টতই একটি শালীন বাজেট) কেন বড় মাপের ডিবিগুলি সহজেই হ্যান্ডেল করে প্রমাণিত হয়েছে এবং ওরাকল বা এসকিএল সেরার সলিউশনটি কেন যান না?
জিম বি

5
আপনি এটি প্রয়োগ করার সময় আমাদের আপডেট রাখতে ভুলবেন না। আমি অবশ্যই আগ্রহী। আপনি এটিকে হাইস্ক্ল্যাবিলিটি ডট কমের
টম

উত্তর:


30

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

প্রকৃতপক্ষে, আমি এমন একটি দৃশ্য ধারণার জন্য সংগ্রাম করছি যেখানে আপনি এই অনুমানের একটি ডিস্ক সাবসিস্টেমের জন্য বাজেট পেতে পারেন তবে কোনও ভাল ডিবিএমএস প্ল্যাটফর্মের জন্য নয়। এমনকি GB০০ জিবি ডিস্ক (বর্তমানে বাজারে সবচেয়ে বড় 15 কে 'এন্টারপ্রাইজ' ড্রাইভ) ব্যবহার করে আপনি 7 পিবি সঞ্চয় করার জন্য 12,000 ফিজিক্যাল ডিস্ক ড্রাইভের মতো কিছু করতে প্রস্তুত। স্যাটা ডিস্কগুলি সস্তা হবে (এবং 2 টিবি ডিস্কের সাথে আপনার সংখ্যাটির প্রায় 1/3 প্রয়োজন হবে) তবে কিছুটা ধীর গতিতে।

EMC বা হিটাচির মতো একটি বড় বিক্রেতার কাছ থেকে এই অনুমানের একটি SAN বহু মিলিয়ন ডলারে চলে যেতে পারে। গতবার যখন আমি কোনও বড় বিক্রেতার কাছ থেকে এসএএন সরঞ্জাম নিয়ে কাজ করেছি, আইবিএম ডিএস 8000 এ স্থানের স্থানান্তর ব্যয় নিয়ন্ত্রণকারীদের জন্য কোনও মূলধন ভাতা সহ নয় £ 10 কে / টিবি ছাড়িয়েছে।

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

আপনার কর্মক্ষমতা প্রয়োজনীয়তাগুলি সম্পর্কেও আপনাকে ভাবতে হবে।

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

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

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

আপনার মন্তব্য থেকে যে আপনি রিপোর্টিংয়ে কিছুটা বিলম্বের সাথে বেঁচে থাকতে পারেন, আপনি আলাদা ক্যাপচার এবং রিপোর্টিং সিস্টেম বিবেচনা করতে পারেন এবং আপনার অপারেশনাল ক্যাপচার সিস্টেমে আপনার সমস্ত 7PB ডেটা রাখার দরকার নেই। একটি কর্মক্ষম তথ্য ক্যাপচার এমন ওরাকল যেমন প্ল্যাটফর্ম (মাইএসকিউএল InnoDB সঙ্গে এই কাজ করতে পারে) (আবার, ডিস্ক খরচ একা DBMS খরচ বামন হবে না যদি না আপনি একটি আছে বিবেচনা করুন অনেক ব্যবহারকারীদের) এবং মত একটি VLDB প্ল্যাটফর্ম Teradata, সাইবেস আই কিউ, RedBrick, Netezza (দ্রষ্টব্য: মালিকানা হার্ডওয়্যার) অথবা Greenplum প্রতিবেদনের জন্য


1
@ কনসার্নডঅফটিউনব্রিজডব্লু - তারা সর্বদা এই পথে যেতে পারে: ব্লগ.ব্যাকব্লেজ.com / 2009 / 09 / 01/… - সান এর চেয়ে অনেক বেশি মজাদার, কেবলমাত্র 120-130 4 ইউ বাক্সের প্রয়োজন ... তবে আমি নিশ্চিত নই যে ' ব্যবসায় 'সুখী হবে ....
pQd

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

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

@ কনসার্নডফ অফটুনব্রিজওয়েলস এবং আপনি এই সমস্ত প্রশ্ন / রক্ষণাবেক্ষণ এবং একাধিক [অন্যথায় ক্ষুধার্ত] বক্সগুলিতে সমান্তরালভাবে চালাতে পারেন।
pQd

1
@ কনসার্নডঅফটুনব্রিজ ওয়েলস - আপনার প্রশ্নের উত্তর দেওয়ার জন্য ... সম্ভব হলে আমার এক সেকেন্ডের মধ্যে ফিরে আসতে আমার প্রায় 500 টি প্রশ্নের প্রয়োজন। আমি দিনে কয়েকশ বার এটি করবো। যখন কোনও কোয়েরি চলতে থাকে তখন পুরো টেবিলটি স্ক্যান করা দরকার। এছাড়াও নির্বাচিতদের তুলনায় INSERT গুলি একটি নিম্ন অগ্রাধিকার, সুতরাং এটি তাত্ক্ষণিক কাছাকাছি কোথাও হতে হবে না। আমি "নতুন" ডেটাবেসে প্রবেশের জন্য কয়েক ঘন্টা অপেক্ষা করতে পারি।
সারা

16

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

খামের গণনার সহজ পিছনে - bit৪ বিট আইডি বাদে সমস্ত কলামের জন্য 32 বিট পূর্ণসংখ্যা ধরে; কোনও সূচক অন্তর্ভুক্ত নেই:

8 * 4B + 8B = 40B প্রতি সারিতে [এবং এটি অত্যন্ত আশাবাদী]

192 ট্রিলিয়ন সারি 40 বি প্রতিটি আমাদের প্রায় 7 পিবি দেয়

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

প্রশ্নের উত্তর:

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

এলোমেলো লিঙ্ক - প্রবেশের গতি:


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

5
@ সরাহ - আমি কেবল টেবিলগুলিতে বিভক্ত হওয়ার পরামর্শ দিই না মেশিনগুলিতেও। পারফরম্যান্স পাওয়ার জন্য আপনি আপনার প্রশ্নগুলি সমান্তরালভাবে চালাতে পারেন [আমি এটি আরও ছোট স্কেলে করি]। সার্ভার পুনরায় বুট করার পরে ফাইল সিস্টেমের দূষণ বা এমনকি রুটিন চেকআপ সম্পর্কে কী বলা যায়? আমি নিশ্চিত না যে নির্দিষ্ট সংমিশ্রণটি আবিষ্কার করে আপনি কী বোঝাতে চাইছেন ... সম্ভবত সাধারণ কী-ভ্যালু স্টোর সহায়তা করবে? টেবিলের আকার - কয়েক দশেকের বেশি জিবি নয়; একক সার্ভারে ডেটা - আরও কিছু টিবি নয়। স্ট্যাকওভারফ্লো . com/ প্রশ্নগুলি / 654594 এ দেখুন যে আরও ছোট স্কেলে কী মাথা ব্যথা আশা করবে তা জানতে; ইনোডোবি_ফাইলে_পড়তা_ টেবিল ব্যবহার করুন
পিকুড


2

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


আকর্ষণীয় মনে হচ্ছে, যদিও আমি মিথ্যা নেগেটিভ নিয়ে বেঁচে থাকতে পারি - তবে মিথ্যা ধনাত্মক নয় :)
সারা

2

সম্পাদনা করুন: বাস্তবে এটি যদি কেবলমাত্র অস্তিত্ব হয় বা এটি একটি পূর্ণসংখ্যার ব্যাপ্তিতে এক্স অবস্থানের "রেকর্ড" না হয়, আপনি ডাটাস্টোরকে সরিয়ে ফেলতে এবং বিটম্যাপটি ব্যবহার করতে পারেন ... সুতরাং, 100 টিবি ডিস্কের স্পেস সহ 10 বা মেশিনগুলি (সুতরাং আপনার কার্যকারিতা এবং ব্যাকআপের জন্য আপনার বিটম্যাপের 10 কপি রয়েছে) এবং আপনি যদি সার্ভারে 128 গিগাবাইট র‍্যাম করেন তবে আপনি 26 কোয়াড্রিলিয়নের বিট এক্সের জন্য ডিস্কটি আঘাত করার আগে প্রথম চেক করতে মেমরির একটি উচ্চ রেজোলিউশন শীর্ষ স্তরের ব্লকগ্রুপ সূচককে ফিট করতে পারেন ।

আপনি যদি বিকল্পটি গ্রহণ করেন তবে আমি বিকল্প 2 # তে যাব:

প্রতিটি 64৪ টিবি (৩২ 2 টিবি ড্রাইভ) সহ ৩5৫ টি মেশিন (ব্যর্থতার জন্য বাস্তবিকভাবে 400 মেশিন) তারপরে কেবল জেডভিএলগুলিতে রেকর্ডগুলি ম্যাপ করুন যা প্রতিটি 2 টিবি। তারপরে এক বা একাধিক সূচক সার্ভারে জুডির অ্যারে বা ক্রিবিট অ্যারে বা কেবল প্লেইন বিটম্যাপে সঞ্চয় করুন, যদি আপনি 26 কোয়াড্রিলিয়ন লোকেশনগুলির মধ্যে 1 এর সাথে একটি রেকর্ড যুক্ত করেছেন তবে একটি ম্যাপিং। সূচকটি 50 এবং 100TB এর মধ্যে হবে এবং আপনি যদি একটি নির্দিষ্ট স্তরের 64k ব্লকের কোনও রেকর্ড লিখেছিলেন যা র্যামের 64 গিগাবাইটেরও কম ফিট করে এবং প্রাথমিক স্তরের প্রাথমিক চেক সরবরাহ করে তবে আপনার কাছে দ্বিতীয় স্তরের সূচকও থাকতে পারে যদি একটি নির্দিষ্ট "পাড়া" খালি ছিল বা না ছিল।

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

একটি জেডএল হ'ল একটি জেডএফএস জিনিস যা অন্যান্য ফাইল সিস্টেমে একটি স্পার ফাইলের কথা ভাবা যেতে পারে, সুতরাং অনুরূপ জিনিস প্রয়োগ করা হবে। অথবা আপনি কেবলমাত্র একটি ডিস্কের নির্দিষ্ট বাইট সংখ্যায় সূচক করতে পারেন তবে যদি আপনি সমস্ত ডিস্কের জন্য কাজ করে এমন এক স্তরে ডিস্ক প্রতি ব্যবহৃত বাইটের সংখ্যা ক্যাপ না করেন তবে ডিস্কগুলি বিভিন্ন আকারের হয় তবে এটি জটিল হয়ে ওঠে - যেমন 2 টিবি ডিস্কে প্রতি 1.75TB । অথবা একটি নির্দিষ্ট আকার ইত্যাদি রূপকগুলি তৈরি করুন etc.


হাই সারাহ - আপনি এখনও এটি নিয়ে কাজ করছেন কিনা তা নিশ্চিত নন, তবে আপনার যদি সাহায্যের প্রয়োজন হয় তবে আমি আপনার জন্য 100 টিবি মেশিনে আমার ধারণাটি প্রোটোটাইপ করতে পারতাম এবং সম্পূর্ণ প্রযোজনা ক্লাস্টারটি হোস্ট করতেও প্রস্তুত হতে পারি (একটি বড় মার্কিন ডেটাসেন্টারে) and প্রয়োজন হিসাবে 400-500 মেশিন। বিটিডাব্লু, আপনি কি কখনও এসএফ-এ সিএনইটি-তে কাজ করেছেন?

1

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

http://www.mysqlperformanceblog.com/2007/01/08/innodb-vs-myisam-vs-falcon-benchmarks-part-1/

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

এছাড়াও, আপনি যদি মাইআইএসএএম এবং / অথবা ইনোডিবি ফাইল-প্রতি-সারণি ব্যবহার করেন তবে আপনি / var / lib / mysql এর জন্য একটি পৃথক ফাইল-সিস্টেম মাউন্ট পয়েন্ট তৈরি করতে তদন্ত করতে পারেন যা একটি ছোট ব্লকের আকারের সাথে সুরযুক্ত এবং fs-টাইপ প্যারামগুলি সুর করেছেন - যেমন ext3 / ext4 / resiserfs আপনি জার্নালের জন্য ডেটা = লিটারব্যাক ব্যবহার করতে পারেন এবং I / O গতির জন্য ফাইল সিস্টেমে অ্যাক্সেসের সময় আপডেট করতে অক্ষম করতে পারেন।


1
মাইসাম লেনদেনের প্রয়োজনীয়তার কারণে প্রশ্নের বাইরে রয়েছে বলে মনে হচ্ছে।
pQd

0

দ্বিতীয় বিকল্পের জন্য, প্রকৃতপক্ষে কতগুলি সংখ্যা স্থাপন করা সম্ভব?

যদি হাজারে মাত্র একটি, বা 10 কে, 100 কে, ইত্যাদি থাকে তবে ব্যবহৃত (বা অব্যবহৃত) সংখ্যার ব্যাপ্তি সংরক্ষণ করা ট্রিলিয়ন-এন্ট্রি সংরক্ষণ করতে পারে। উদাহরণস্বরূপ: সংরক্ষণ করা ('ফ্রি', 0,100000), ('নেওয়া', 100000,100003), ('ফ্রি', 100004,584234) - সারিগুলি প্রয়োজন অনুসারে দুই বা তিনটি সারিতে বিভক্ত করা এবং প্রথম সংখ্যাটিতে সূচি, এক্স <= {সুই} অনুসন্ধান করে অনুসন্ধান করা নম্বরযুক্ত রেঞ্জটি নেওয়া হয়েছে কিনা, বা বিনামূল্যে।

আপনার এমনকি উভয় স্ট্যাটাসের প্রয়োজন নেই। যেকোন স্ট্যাটাসের সম্ভাবনা কম মাত্র সংরক্ষণ করুন।

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