ডাটাবেসগুলির জন্য অনুভূমিকভাবে এবং উল্লম্বভাবে স্কেলিংয়ের মধ্যে পার্থক্য [বন্ধ]


696

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


2
en.wikedia.org/wiki/Scalability - শব্দটি সমস্ত সফ্টওয়্যার / সিস্টেমে প্রযোজ্য
টমাসজ নুরকিউইচজ

5
থেকে spaecial অবধান ডাটাবেস অধ্যায় en.wikipedia.org/wiki/Scalability#Database_scalability
user454322

উত্তর:


1255

অনুভূমিক স্কেলিংয়ের অর্থ হ'ল আপনি আপনার সংস্থানসমূহে আরও বেশি মেশিন যুক্ত করে স্কেল করেছেন যেখানে উল্লম্ব স্কেলিংয়ের অর্থ আপনি একটি বিদ্যমান মেশিনে আরও পাওয়ার (সিপিইউ, র‌্যাম) যুক্ত করে স্কেল করেছেন

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

                  অনুভূমিক স্কেলিং / উল্লম্ব স্কেলিং ভিজ্যুয়ালাইজেশন

একটি ডেটাবেস ওয়ার্ল্ডে অনুভূমিক-স্কেলিং প্রায়শই ডেটা বিভাজনের উপর ভিত্তি করে হয় প্রতিটি নোডে কেবলমাত্র ডেটার অংশ থাকে, উল্লম্ব-স্কেলিংয়ে ডেটা একক নোডে থাকে এবং স্কেলিংটি মাল্টি-কোরের মাধ্যমে সম্পন্ন হয় যার মধ্যে বোঝা ছড়িয়ে দেয় ie সেই মেশিনের সিপিইউ এবং র‌্যামের সংস্থানগুলি।

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

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

ইন-মেমোরি যেমন ডেটা গ্রিডের GigaSpaces XAP , সঙ্গতি ইত্যাদি .. প্রায়ই উভয় অনুভূমিক এবং উল্লম্ব স্কেলিং কেবল কারণ তারা ডিস্কে আবদ্ধ থাকবেন না অপ্টিমাইজ করা হয়। পার্টিশনের মাধ্যমে অনুভূমিক-স্কেলিং এবং মাল্টি-কোর সমর্থনের মাধ্যমে উল্লম্ব-স্কেলিং।

আপনি আমার আগের পোস্টগুলিতে এই বিষয়ে আরও পড়তে পারেন: স্কেল-আউট বনাম স্কেল-আপ এবং এনওএসকিউএল বিকল্পের পিছনে সাধারণ নীতিগুলি


1
আরও কিছুটা আগে তালিকাটি শেষ করার জন্য কাউচবেস, রিয়াক, এইচবেস, সিট্রাসলাইফ এবং ইনফিনিস্প্যানও রয়েছে (আরও রয়েছে)।
scalabl3

3
@ নাতি শালম এটি কি এনওএসকিউএল ডাটাবেসগুলি অনুভূমিকভাবে স্কেল করবে?
ভূষণ ফিরাকে

2
@ বিলিমন আমি শুনেছি এটি
মাইএসকিএল

9
আমি এখানে বিভ্রান্ত হয়ে পড়েছি ... আরও সিপিইউ / র‌্যাম যুক্ত করার সাথে আরও মেশিন যুক্ত করা কার্যকরভাবে একই রকম .. তবে এগুলির দুটি কীভাবে আলাদা হয় কারণ যখন আমরা একটি নতুন মেশিন যুক্ত করি তখন এটি সিপিইউ এবং র‌্যামের সাথে আসে, দয়া করে আমাকে সংশোধন করুন যদি আমি আমি ভুল
সুবহাম ত্রিপাঠি

8
@ সুবহামত্রিপাঠি যেমন এখানে ব্যাখ্যা করা হয়েছে, উল্লম্ব স্কেলিং কেবল একটি সার্ভারের মধ্যে সীমাবদ্ধ (বা সার্ভারের একটি ছোট গ্রুপ) এবং এটির একটি ব্যবহারিক উপরের সীমা রয়েছে (যার অর্থ আপনি 512 গিগাবাইট র‌্যামের বাইরে যেতে পারবেন না)। অন্যদিকে অনুভূমিক স্কেলিং কার্যত অনির্দিষ্টকালের জন্য ঘটতে পারে।
জিজ্ঞাসা করুন

197

অনুভূমিকভাবে স্কেলিং ===> হাজার হাজার মিনিট আপনার জন্য একসাথে কাজ করবে।

উল্লম্বভাবে স্কেলিং ===> একটি বড় হাল্ক আপনার জন্য সমস্ত কাজ করবে।


20

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

যখন আপনি বুঝতে পারেন যে আপনার সিস্টেমটি ধীর হয়ে যাচ্ছে এবং বর্তমানের সংখ্যার অনুরোধগুলি পরিচালনা করতে অক্ষম হবে তখন আপনাকে সিস্টেমটি স্কেল করা দরকার।

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

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

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

আশা করি আপনি সিস্টেমে স্কেলিং প্রবর্তনের পুরো ধারণাটি পেয়ে যাবেন।


9

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


অন্য ডেটা পয়েন্ট হিসাবে, আমি ক্লাস্ট্রিক্স থেকে আরেকটি বিক্রেতার পোস্ট জমা দিচ্ছি: clustrix.com/blog/bid/259950/scale-up-vs-scale-out
clieu

আমাজন আরডিএস সম্পর্কে কীভাবে?
রাজা নগেন্দ্র কুমার

1
আমি জানি এটি একটি পুরানো পোস্ট ... মাত্র কিছু আপডেট .. জেরাউন্ড শপ বন্ধ করে দিয়েছে। পোস্ট্রেএসকিউএল এর অনুভূমিক স্কেলিং বিকল্পগুলি আসলে অনুভূমিক স্কেলিং বিকল্পগুলি নয় - এগুলি কেবলমাত্র ডিবি প্রতিরূপ বিকল্প যেখানে আপনি অনুলিপি করা ডিবিতে কিছু অপারেশন চালিয়ে যেতে পারেন।
ধর্মেন্দ্র কুমার 'ডেকে'

8

হ্যাঁ স্কেলিং অনুভূমিকভাবে আরও বেশি মেশিন যুক্ত করা, তবে এটি আরও বোঝায় যে মেশিনগুলি ক্লাস্টারে সমান। মাইএসকিউএল প্রতিলিপি ব্যবহারের মাধ্যমে ডেটা রিডিংয়ের ক্ষেত্রে অনুভূমিকভাবে স্কেল করতে পারে, তবে এটি সার্ভার মেম / ডিস্কের সক্ষমতাটি পৌঁছে গেলে আপনাকে সার্ভারগুলিতে ডেটা শ্যাਾਰিং শুরু করতে হবে। এটি ক্রমশ আরও জটিল হয়ে ওঠে। প্রায়শই প্রতিরূপ জুড়ে ডেটা ধারাবাহিক রাখা একটি সমস্যা কারণ প্রতিলিপি হারগুলি প্রায়শই ডেটা পরিবর্তন হারগুলি বজায় রাখতে খুব ধীর হয়।

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

পারফরম্যান্স-ভিত্তিতে, আপনি একটি দুর্দান্ত সিসকো বেঞ্চমার্ক দেখতে পাবেন: http://blog.couchbase.com / বোঝার- দক্ষতা- beenmarkmark-pub ਪ੍ਰਕਾਸ਼-cisco-and-solarflare- using-couchbase- server

এখানে কাউচবেস আর্কিটেকচার সম্পর্কে একটি দুর্দান্ত ব্লগ পোস্ট: http://horicky.blogspot.com/2012/07/couchbase-architecture.html


6

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

নুওডিবি সম্পর্কিত আরও তথ্যের জন্য তাদের প্রযুক্তিগত সাদা কাগজ পড়ুন


5

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

তবে পদ্ধতির নোএসকিউএল ডাটাবেসগুলি (যেমন মোংডব, কাউচডিবি বা আইবিএম ক্লাউড্যান্ট) থেকে পৃথক পৃথক তথ্য হ'ল ডেটা শেয়ারিং অনুভূমিক স্কেলিংয়ের অংশ নয়। NoSQL ডাটাবেসে ডেটা অনুভূমিক স্কেলিংয়ের সময় বিস্তৃত হয় rad


1

আপনার একটি সংস্থা আছে এবং সেখানে কেবলমাত্র 1 জন কর্মী তবে আপনি 1 টি নতুন প্রকল্প পেয়েছিলেন যখন আপনি নতুন প্রার্থী নিয়োগ করেন - এটি অনুভূমিক স্কেলিং। যেখানে নতুন প্রার্থী হ'ল নতুন মেশিন এবং প্রকল্পটি হ'ল নতুন ট্র্যাফিক / আপনার এপি-তে কল।

যেখানে আইআইটি / এনআইটি লোকের সাথে 1 টি প্রকল্প আপনার এপিআই / ট্র্যাফিকের সমস্ত অনুরোধ পরিচালনা করছে। যদি আপনার অপির কাছে আর কোনও অনুরোধ থাকে তবে তাকে বরখাস্ত করুন এবং তাকে প্রতিস্থাপন করুন একটি উচ্চ আইকিউ এনআইটি / আইআইটি লোক - এটি উল্লম্ব স্কেলিং।


0

প্রচুর লোড ব্যালান্সার যুক্ত করা অতিরিক্ত ওভারহেড এবং ল্যাটেন্সি তৈরি করে এবং এটি এনএসকিএল ডেটাবেজে অনুভূমিকভাবে স্কেলিংয়ের জন্য একটি অপূর্ণতা। এটি এমন প্রশ্নের মতো যা লোকেরা কেন বলে আরপিসি এটি শক্তিশালী না হওয়ার কারণে প্রস্তাবিত নয়।

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

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


0

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

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

তারপরে প্রতিটি ক্লায়েন্টের ডিবি সার্ভারে কেবল ম্যাপ করা হয় তার জন্য সরাসরি অনুরোধ করুন।

এখন কেউ কেউ বলতে পারে এটি অনুভূমিক বিভাজনের অনুরূপ এবং "সত্য" অনুভূমিক স্কেলিংয়ের মতো নয় এবং তারা কিছু উপায়ে সঠিক হবে। তবে শেষ ফলাফলটি হ'ল আপনি একাধিক ডিবি সার্ভারের মাধ্যমে আপনার ডিবিকে মাপিয়েছেন।

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

বনাম বিল্ড কিনুন

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