হাইলি কনক্র্যান্ট, হাই রাইট ডিবি এর জন্য অবকাঠামো


17

আমার প্রয়োজনীয়তাগুলি হ'ল:

  • 3000 সংযোগ
  • 70-85% বনাম পড়ুন লিখুন

বর্তমানে, আমরা 700 সংযোগে একটি হাই-সিপিইউ, এক্সট্রা লার্জ ইনস্ট্যান্স বের করছি। সমস্ত 8 টি কোর সর্বাধিক। আমরা মনে করি স্মৃতি ঠিক আছে বলে এটি সমবর্তী সংযোগগুলির সংখ্যা। লেখাগুলি নিজেই খুব সহজ (বৈধতা ধীর জিনিস)। 3000 স্কেল করতে, আমাদের একাধিক সার্ভারে যেতে হবে, বর্তমান বিকল্পসমূহ:

  • মাইএসকিউএল শেয়ারিং
  • মঙ্গোডিবি ক্লাস্টার
  • ক্যাসান্ড্রা
  • হ্যাডোপ এবং মাইএসকিউএল (হ্যাডোপ ক্যাশে, মাইএসকিউএলে একক ডাম্প)
  • মঙ্গোডিবি এবং মাইএসকিউএল (হ্যাডোপের পরিবর্তে, আমরা ক্যাশের জন্য মঙ্গো ব্যবহার করি)

এই সংযোগের সংখ্যা পরিচালনা করতে, বেশ কয়েকটি প্রশ্ন:

  1. মাইএসকিউএল ভাগাভাগি কি সমবর্তী সংযোগগুলি পরিচালনা করতে পারে?
  2. কোনও একক মাস্টার কি এই সহবর্তী সংযোগগুলি পরিচালনা করতে পারেন, বা মঙ্গোর মতো বহু-মাথা আরও ভাল বিকল্প হতে পারে?

আমি যদি আমার সমস্যাটি ভালোভাবে বর্ণনা না করি তবে আমি ক্ষমা চাই। প্রশ্ন জিজ্ঞাসা করুন।


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

জবাবের জন্য ধন্যবাদ. mysqlslap পরীক্ষা দুঃখের বিষয়, আপনি যত বেশি সংযোগের ওপরের দিকে যাবেন , ততই সমস্ত কিছু ট্যাক্স হয়ে যায়। 1 -> 100 -> 500 -> 1000. 3000 একযোগে সংযোগে মাইএসকিএসএল্যাপ কেবল নিজেকে হত্যা করে। সিপিইউ এবং আই / ও এই সাধারণ পরীক্ষার মাধ্যমে 700 সংযোগে মুছে ফেলা শুরু করে। আমরা যা দেখছি তা আরও খারাপ তবে আমরা আরও ডেটা করছি।
জাস্টিন

উত্তর:


5

আপনি যদি মাইএসকিউএলকে প্রধান ডাটাবেস হিসাবে ব্যবহার করছেন তবে আপনি মাইএসকিউএল প্রতিলিপিটির মাধ্যমে একটি স্টার টপোলজি ব্যবহার করার বিষয়টি বিবেচনা করতে পারেন।

এখন, আপনি মাইএসকিউএল প্রতিলিপিটিতে ইউজিএইচএইচএইচ, আরএফএল এবং ওএমজি বলার আগে আমাকে শুনুন।

একটি তারকা টপোলজি আপনাকে একটি ডিবি সার্ভারে (একটি ডিস্ট্রিবিউশন মাস্টার [ডিএম] বলা হয়) লিখে এবং বেশ কয়েকটি ডিবি সার্ভারগুলিতে এসকিউএল কমান্ড প্রেরণ করতে দেয়। আপনি কীভাবে এমন একটি ডিবি অবকাঠামো সেটআপ করবেন?

বর্ণনা এখানে

আপনার কাছে 5 ডিবি সার্ভার রয়েছে (সার্ভার এ, বি, সি, ডি, ই)

সার্ভার এ

  • মাইএসকিউএল প্রতিলিপি সেটআপে, এটি মাস্টার হবে
  • ডিএম হিসাবে বিশেষ ভূমিকা পালন করে
  • সার্ভারের মাস্টার বি, সি, ডি, ই
  • সমস্ত টেবিল স্টোরেজ ইঞ্জিন BLACKHOLE (/ dev / নাল) ব্যবহার করে
  • কেবল বাইনারি লগ সঞ্চয় করে
  • বিয়ার ধাতু মেশিন
  • উপকারিতা
    • খুব দ্রুত লিখেছেন যেহেতু ডিএম এর সমস্ত টেবিল ব্ল্যাকহোল ব্যবহার করে
    • ডিবি ক্রিয়াকলাপের 15-30% পড়ার কারণে নেটওয়ার্ক লেটেন্সি কোনও ইস্যুতে কম নয়
    • সমস্ত দাস ডিএম থেকে কঠোরভাবে আপডেট করা হয়

সার্ভার বি, সি, ডি, ই

  • এ এর গোলাম
  • ভারী SELECTs জন্য একটি বেস সার্ভার
  • সার্ভার ভার্চুয়াল বা বেয়ার মেটাল হতে পারে
  • সমস্ত সার্ভারের জন্য যাদের ব্যবহারকারীর টেবিলগুলি স্টোরেজ ইঞ্জিন InnoDB ব্যবহার করে
    • এটি একটি উষ্ণ স্ট্যান্ডবাই ডিবি সার্ভার হিসাবে সার্ভার করতে পারে
    • এর বিপরীতে চালিত ননসিন্ট্রাইভ ব্যাকআপগুলি
  • সমস্ত সার্ভারের জন্য যাদের ব্যবহারকারীর টেবিলগুলি স্টোরেজ ইঞ্জিন মাইআইএসএএম ব্যবহার করে
    • কেবল পঠনযোগ্য ওপরিয়ন দিয়ে সেট আপ করুন
    • সারণিতে তাদের সারি বিন্যাসগুলি অ্যাক্সিলারেট রিডে পুনরায় করা হতে পারে

আমি এর আগে পোস্ট লিখেছি

টিপ শীর্ষ আকারে মাইএসকিউএল প্রতিলিপি রাখতে


2

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

আমি ক্যাসান্দ্রারও দুর্দান্ত ভক্ত, তবে এটি আপনার ডেটা মডেল এবং আপনি যে সম্পাদনা করতে চান তার উপর অনেক কিছু নির্ভর করে। লেখার জন্য দ্রুত জ্বলন্ত ক্যাসান্দ্রা, কারণ তারা সবসময় ডিস্কে ক্রমযুক্ত।


2

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

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

ওহ, এবং আমি যখন মনে করি আপনি উল্লম্বভাবে এমন কিছু স্কেল করার চেষ্টা করতে পারেন (একক নোড সমস্ত 3 কে সংযোগগুলি পরিচালনা করছেন), আপনি ক্লাউডে এটি করতে পারবেন বলে আমি মনে করি না।


1

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

শারডিংয়ের সাহায্যে আপনি সাধারণত সূক্ষ্ম স্কেল করতে পারেন (2x ডিবি-সার্ভার == 2 এক্স সংযোগ) তবে এটি আপনার ডেটাসেটের প্রকৃতি এবং কীভাবে আপনি এটি শার্ডগুলিতে বিভক্ত করতে পারেন তার উপর নির্ভর করে।


1

আমি প্রশাসনের স্বাচ্ছন্দ্যতা, স্কেলিবিলিটি, সাধারণভাবে সহজেই ব্যবহারের জন্য মঙ্গোডিবি পছন্দ করি। এছাড়াও, যদি না আসলে আমার আরডিবিএমএস প্রয়োজন, আমি একটি নন-এসকিউএল ব্যবহার করব।

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

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

অবশেষে, আমি মাইএসকিউএল ক্যাশে মোঙ্গোডিবি ব্যবহার করব না; এর জন্য মেমক্যাচ ব্যবহার করুন।

রেডিস একটি ইন-র‍্যাম কী-ভ্যালু স্টোর যা নির্দিষ্ট ব্যবহারের ক্ষেত্রে পরিচালনা করার জন্য ভাল। Blog.agoragames.com এ কিছু ব্লগ এন্ট্রি রয়েছে যা কিছু ব্যবহারের ক্ষেত্রে বর্ণনা করে।

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

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

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