আমি কি আমার ডেটাবেসটি একটি RAID 5 কনফিগারেশনের বাইরে চালিত করব?


13

আমি শুনেছি RAID 5 র রচনামূলক পারফরম্যান্স মাঝে মাঝে চমকপ্রদ হতে পারে। যদিও আমি যে অতিরিক্ত কাজটি এটির সরবরাহ করে তা চাই আমার ডেটাবেস সন্নিবেশ / আপডেটের সময়গুলি উত্সর্গ করতে চাই না।

এটি কি আমার সম্পর্কে উদ্বিগ্ন হওয়া উচিত এবং যদি তাই হয় তবে ভাল লেখার পারফরম্যান্সের সাথে অতিরিক্ত কাজ করার সুপারিশ কী হবে ?


1
কোন ডিবি? ওরাকল + রেড 5 একটি নং ছিল। এখনও এই ঘটনাটি নিশ্চিত কিনা তা নিশ্চিত।
ক্যাগকোবয় 14

এই নির্দিষ্ট উদাহরণে ডেটাবেস মাইএসকিউএল এবং এমএসএসকিউএল-এ চলে।
স্কট সাদ

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

উত্তর:


23

I / O এতটা এলোমেলো হওয়ায় RAID 10 সাধারণত সুপারিশ করা হয়। এখানে একটি উদাহরণ। গণনাগুলি কিছুটা সরল, তবে বেশ প্রতিনিধি।

ধরা যাক আপনার একটি 6 ড্রাইভ অ্যারে রয়েছে এবং আপনার ড্রাইভগুলি প্রতি সেকেন্ডে 100 আই / ওএস করতে পারে (আইওপিএস)। আপনার যদি 100% পঠিত থাকে তবে সমস্ত ছয়টি ড্রাইভ ব্যবহার করা হবে এবং আপনার RAID 10 এবং RAID 5 উভয়ের জন্য প্রায় 600 আইওপিএস থাকবে।

সবচেয়ে খারাপ পরিস্থিতি 100% লিখেছেন। সেই দৃশ্যে, RAID 10 এর পারফরম্যান্স অর্ধেক কেটে যাবে (যেহেতু প্রতিটি লেখা দুটি ড্রাইভে যায়), সুতরাং এটি 300 আইওপিএস পাবে। RAID-5 প্রতিটি লেখাকে দুটি রিডের পরে দুটি লেখায় রূপান্তর করবে, সুতরাং এটি 1/4 পারফরম্যান্স বা প্রায় 150 আইওপিএস পাবে। এটি একটি দুর্দান্ত হিট।

আপনার আসল পাঠ / লেখার প্যাটার্নটি এই দুটি চরমের মধ্যে কোথাও থাকবে তবে এই কারণেই সাধারণত RAID 10 ডাটাবেসগুলির জন্য প্রস্তাবিত হয়।

তবে, আপনার যদি ব্যস্ত ডাটাবেস সার্ভার না থাকে তবে আপনি এমনকি RAID-6ও করতে পারেন। আমি প্রায়শই এটি করি যদি আমি জানি যে ডাটাবেসটি অকারণে আসবে না কারণ এটি আপনাকে RAID 10 বা RAID 5 এর চেয়ে অনেক বেশি সুরক্ষা দেয়।


22

লেনদেনের ডাটাবেস

RAID-5 লিখতে তুলনামূলকভাবে ধীর কারণ কন্ট্রোলারের একটি লেখার মধ্যে সমতা পুনঃসংযোগ করতে পর্যাপ্ত ডেটা লোড করা প্রয়োজন। লেখার ক্রিয়াকলাপে কমপক্ষে চারটি ডিস্ক ক্রিয়াকলাপ হবে:

  • সমতা ব্লক পড়া

  • প্যারিটি ব্লকের সাথে মানটি XOR করতে পুরানো ব্লক (ধরে নেওয়া এটি ইতিমধ্যে ক্যাশে নেই বলে ধরে নেওয়া) ing

  • নতুন প্যারিটি ব্লকটি রচনা করা হচ্ছে (পুরাতন সমতা ব্লক এক্সওআর পুরাতন ডেটা ব্লক এক্সওআর নতুন ডেটা ব্লক)

  • নতুন তথ্য ব্লক রচনা।

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

RAID-10 এর প্রতিটি একক ড্রাইভের জন্য একটি আয়না থাকে এবং সমতা গণনা করতে অতিরিক্ত ডেটা পড়ার প্রয়োজন হয় না। এর অর্থ এই যে লেখকদের জন্য অনেক কম শারীরিক আই / ও দরকার হয়।

RAID-50 মাঝখানে কোথাও বসে, ভলিউমটিকে একাধিক RAID-5 খণ্ডে বিভক্ত করা হয়, যা ঘুরিয়ে ফেলা হয়। একটি রেড -50 এ 3 + 1 স্কিমযুক্ত গোষ্ঠী থেকে তৈরি একটি লিখন সর্বাধিক তিনটি অতিরিক্ত ডিস্ক আই / ও অনুরোধের মাধ্যমে উত্পন্ন করে। যদি আপনি এতটা প্রবণতা বোধ করেন তবে আপনি RAID-5 এবং RAID-10 কে RAID-50 এর বিশেষ ক্ষেত্রে হিসাবে দেখতে পারেন। RAID-50 মূলত অনেকগুলি দৈহিক ডিস্ক জুড়ে বড় পরিমাণে সরবরাহ করতে ব্যবহৃত হয়

অন্যান্য প্যারিটি স্কিম যেমন RAID-6 (দুটি সেট রিডানডেন্ট ডিস্ক সহ একটি প্যারিটি স্কিম) এছাড়াও বিদ্যমান, আধুনিক ডিস্কগুলি যথেষ্ট বড় যে অ্যারেটিকে প্রত্যাখ্যান করতে বেশ দীর্ঘ সময় নিতে পারে - এটি যথেষ্ট দীর্ঘ যে দ্বিতীয় ডিস্ক ব্যর্থ হওয়ার ঝুঁকিটি পুনর্নির্মাণ বেশ তাৎপর্যপূর্ণ। RAID-6 একটি দ্বিতীয় প্যারিটি ডিস্ক থাকার মাধ্যমে এই ঝুঁকি হ্রাস করে, এতে ডেটা ক্ষতিগ্রস্থ হওয়ার জন্য তিনটি ডিস্ক ব্যর্থতা প্রয়োজন। RAID-50 স্কিমগুলির অনুরূপ কৌশল RAID-60 অ্যারে তৈরি করতে ব্যবহৃত হতে পারে।

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

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

লগ

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

পঠন-ভারী সিস্টেম এবং ফাইল সার্ভার

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

অতীতে ডিস্কে ব্যয় সাশ্রয় তাত্পর্যপূর্ণ হতে পারে তবে এটি এখন ইস্যু হওয়ার সম্ভাবনা কম।

লিখন-ব্যাক ক্যাচিং এবং RAID-5

কোনও SAN বা ব্যাটারি-ব্যাকযুক্ত ক্যাশের অভ্যন্তরীণ RAID নিয়ামকটিতে আপনি 'রাইট-ব্যাক' ক্যাচিং সক্ষম করতে সক্ষম হতে পারেন। এই ক্যাশে অ্যাপ্লিকেশনটিতে নিয়ন্ত্রণ লিখে দেয় এবং ফেরত দেয়। আই / ও সম্পূর্ণরূপে নিয়ামক দ্বারা প্রতিবেদন করা হয়। তবে এটি তাত্ক্ষণিকভাবে ডিস্কে ডেটা লিখতে হবে না। এই সুবিধাটি RAID-5 প্যারিটি পঠন / লেখার ক্রিয়াকলাপগুলিকে যথেষ্ট অনুকূলিতকরণ করতে দেয় এবং RAID-5x ভলিউমের রাইটিং পারফরম্যান্স পেনাল্টিকে নরম করতে পারে।

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

সারসংক্ষেপ

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

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


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

কিছু করেন, কেউ করেন না। আমি বেশ কয়েকটি অ্যাডাপটেক 2200 এর মধ্যে পেয়েছি যা ব্যাটারি সহ আসে নি। কিছু স্ট্যান্ডার্ড হিসাবে তাদের সাথে আসে।
কনসার্নড

1
আপনার প্রতিক্রিয়াতে আপনার একটি ত্রুটি রয়েছে। আপনাকে যা না পুনঃগণনা সমতা প্রতি ড্রাইভ পড়া প্রয়োজন। একটি লেখা 2 টি পঠিত হয় এবং 2 লেখায়। আপনার উদাহরণের অন্যান্য 12 ড্রাইভ 14 ড্রাইভ অ্যারে RAID5 দ্বারা স্পর্শ করা যাবে না।
টোরগোগুই

আসলে, আমি বিশ্বাস করি লোকটি ঠিক বলেছেন। আপনি ব্লকটির পুরানো মান এবং আবার ব্লকের নতুন মান সহ সমতাটি পড়তে এবং এক্সওআর করতে পারতেন। আগে বর্ণিত কখনও দেখেনি তবে এটি কার্যকর হবে।
কনসার্নড

3

ঠিক আছে, এটি আপনার দোষ / ঝুঁকি সহনশীলতার উপর নির্ভর করে। RAID5 এর অনেকগুলি সমস্যা রয়েছে । আমার ডিবি সার্ভারে বর্তমানে দুটি মিররযুক্ত ড্রাইভ রয়েছে এবং আমি যদি এটির পরিমাণ বাড়িয়ে তুলি তবে আমি আরও সমতা নিয়ে কিছু করতে পারতাম, সম্ভবত RAID6 বা RAID10।

এছাড়াও, যদি আপনার অ্যাপ্লিকেশনটি আপটাইম-সমালোচনাযোগ্য হয় তবে আমি সম্ভবত এর পরিবর্তে প্রতিলিপি, মাস্টার-মাস্টার বা হট স্পয়ার বা অন্য যে কোনও কিছু সহ দুটি ডাটাবেস সার্ভার রাখার পরামর্শ দেব। RAID কেবলমাত্র ডিস্ক ব্যর্থতার বিরুদ্ধে সহায়তা করে, তবে সার্ভারে আরও অনেক কিছু ভুল হতে পারে :)


3

আপনি কতটা লেখালেখি করছেন তার উপর নির্ভর করে।

যদি এটি মোটামুটি লাইটওয়েট "ওয়েব অ্যাপ" হয় তবে আপনি RAID5 তে কোনও পারফরম্যান্স হিট হওয়ার সম্ভাবনা কম।

যদি আপনি বড় ETL এর সাথে একটি মাল্টি-জিবি ডেটা গুদাম তৈরি করে থাকেন, তবে RAID 5 এ রাইফ বাফারটি দ্রুত উপচে পড়বে এবং আপনার সরাসরি RAID 5 এর "দুর্বল লেখার পারফরম্যান্স" এ চলে যাবে।

প্রতিটি RAID5 রাইনের ফলে কমপক্ষে 3 টি রাইট (প্লাস একটি সিআরসি গণনা) ঘটায়। যখন বাফার করা হয়, এটি দুর্দান্ত এবং দ্রুত (ক্রিয়াকলাপের ছোট ছোট বার্স্ট - একক রেকর্ড আপডেট এবং সন্নিবেশ)। এটি যদি টিকিয়ে রাখে তবে (বৃহত বাল্ক সন্নিবেশ / আপডেট) তবে তা লক্ষ করা যাবে।

এটি কার্য সম্পাদন এবং স্থানের মধ্যে ভারসাম্য। RAID 10 (স্ট্রাইপযুক্ত ড্রাইভগুলির আয়না) উভয়ই পারফরম্যান্স এবং স্থিতিস্থাপকতা দেয় তবে ক্ষমতা 50% হ্রাস পায়।

RAID5 উচ্চতর ক্ষমতা দেয়, ভাল পড়ার পারফরম্যান্স দেয় তবে দুর্বল (বড়) লেখার কর্মক্ষমতা দেয়।


2

RAID 1, এটি আমার চূড়ান্ত উত্তর

কারণ:

মিররড জুটি ব্যর্থ ডিস্কগুলির জন্য পর্যাপ্ত পরিমাণে রিডানডেন্সি দেয় এবং RAID শেষ ডিস্কে চালিয়ে যেতে থাকে।

আপনি যদি আপনার ডেটা এবং সূচকে সাবধানে রাখেন তবে মিররড জুটি পড়ার জন্য বৃহত্তর I / O পারফরম্যান্সের ফলন দেয় ... [ইঙ্গিত: ডেটা এবং এর সূচক (গুলি) এর জন্য পৃথক খণ্ড ব্যবহার করুন] আপনি আপনার নিয়ন্ত্রকদের দ্বৈত করে আরও বেশি কর্মক্ষমতা অর্জন করতে পারেন।


কেন রেড 1 + 0 হয় না?
ব্রায়ান নোব্লাচ


2

সংক্ষিপ্ত উত্তর: না।

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


1

ভাল লেখার পারফরম্যান্সের সাথে রিডানডেন্সি পাওয়ার সুপারিশ কী হবে?

একটি বড় লেখার পিছনে ক্যাশে। আপনার হার্ডওয়্যার RAID কন্ট্রোলারে র‌্যাম বা আপনার সফ্টওয়্যার RAID সমাধানের জন্য উপলব্ধ র‌্যাম বৃদ্ধি করুন (যেমন লিনাক্সের MDADM সিস্টেম র‌্যাম, MDADM বেলুনগুলি অন্যথায় অব্যবহৃত সিস্টেম র‌্যামকে লেখার ক্যাশে হিসাবে ব্যবহার করার জন্য বাড়ায়)। এই পরামর্শটি "বৃহত্তর" এর প্রদত্ত মানগুলির জন্য রয়েছে - যদি আপনি প্রায়শই (সময়ের 5%?) হয়ে থাকেন এবং হারে ডেটা লেখার জন্য তাড়াতাড়ি লেখার ক্যাশে যত বড় হয় তা পূরণ করার পক্ষে তা তাত্পর্যপূর্ণ হবে।


1

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

RAID কনফিগারেশনগুলি তৈরি করে যা এই বৈশিষ্ট্যগুলিকে সমর্থন করে আপনি কার্য সম্পাদনকে ব্যাপকভাবে বাড়ান

রেড 1 - লগ ফাইলগুলির জন্য মিররিং দুর্দান্ত R রাইড 10 আপনার ডেটা ফাইলগুলির জন্য ভাল। এটি টেম্পবিডিবি এবং ব্যাকআপগুলি পৃথক ড্রাইভে পৃথক করে দেখার পক্ষেও উপযুক্ত। ফাইলগ্রুপগুলি যুক্ত করা কর্মক্ষমতা বাড়ানোর আরেকটি উপায়। এটি সানদের ক্ষেত্রে কখন আসে তা পরিষ্কার নয়। আপনি প্রতিটি LUN- র জন্য নির্দিষ্ট রাইড কনফিগারেশন তৈরি করছেন বা স্পিন্ডেলের সংখ্যার উপর নির্ভর করছেন কিনা তা নির্ভর করে।


0

আত্মা সাম্প্রতিক Stackoverflow ব্লগ নিবন্ধ বলছে আমরা পুনরায় উপস্থিত করা উচিত নয় ইন্টারনেটে ইতিমধ্যে উপলব্ধ উত্তর, আমি তোমাদের এ নির্দেশ এই

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


0

RAID5 এর বাইরে একটি ডাটাবেস চালানো সাধারণত একটি ভুল is আমি এটি দুটি ক্ষেত্রেই সম্পন্ন করে দেখেছি - ভাল ইঞ্জিনিয়ারড ডাটাবেস যা কয়েকটি লেখকের সাথে পাঠযোগ্য ছিল, এবং ডাটাবেস যেখানে RAID5 এর কারণে "স্থান নষ্ট" রাজনৈতিকভাবে কার্যকর ছিল না।

RAID5 লেনদেনমূলক কর্মক্ষমতা নষ্ট করবে।

এছাড়াও, আপনি যদি RAID5 বিবেচনা করছেন তবে দেখুন যে আপনি RAID6 কাজ করতে পারবেন কিনা। তাত্ত্বিক নির্ভরযোগ্যতা এত বেশি উন্নত, যদিও অপরিপক্ক বাস্তবায়নের কারণে বাস্তব-বিশ্বের নির্ভরযোগ্যতা প্রায়শই খারাপ হয়।

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