মূলত আগস্ট ২০১৯-এ ObjectRocket.com/blog-এ প্রকাশিত
CockroachDB® Rackspace ObjectRocket ডেটাবেস প্রযুক্তি পরিবারের অংশ। CockroachDB-এর স্কেলিং ক্ষমতাগুলো চমৎকার, ডেটা রেপ্লিকেশন এবং ডিস্ট্রিবিউশন (হাই অভেইলেবিলিটি maksimize করে), স্বয়ংক্রিয় ডেটাবেস রিব্যালেন্সিং, এবং মাল্টি-জিও ডেটা সেন্টার ডেটা-ডোমিসাইলিং কমপ্লায়েন্স সাপোর্ট করে, নাম মাত্র কিছু। এবং সব কিছু হাই ডেটা ইন্টিগ্রিটি এবং ডিস্ট্রিবিউটেড ACID ট্রানজ্যাকশনের সাথে কারণ CockroachDB ডেটা রেজিলিয়েন্সি একটি মাস্ট-হ্যাভ।
আমরা CockroachDB-র সাথে স্কেলিংয়ের কিছু হাইলাইট শেয়ার করতে চাই এবং Rackspace ObjectRocket-এর DBaaS কী অফার করে তা গভীরে যাব। একজন ডেভেলপার হিসেবে, আপনি যখন আমাদের ম্যানেজড সার্ভিস প্ল্যাটফর্মে CockroachDB ব্যবহার করেন, আপনি আপনার অ্যাপ্লিকেশন বিল্ড করার ওপর ফোকাস করতে পারেন, ডেটাবেস চালানোর জটিলতাগুলোর ওপর নয়।
এই দিনে স্কেলিং চরম গুরুত্বপূর্ণ
বিশ বছর আগে, স্টোরেজ একটি খরচবহুল চিন্তা ছিল, এবং Big Data টার্মটি স্পষ্ট করলো যে আমরা বড় চ্যালেঞ্জের সম্মুখীন আছি। আমাদের কাছে বড় পরিমাণ ডেটা ছিল এবং সেই ডেটা অ্যানালাইজ বা ব্যবহার করার কোন ভালো উপায় নেই। কিন্তু এখন, প্রযুক্তি Big Data এবং আমাদের আধুনিক ই-কমার্স, ফিনান্সিয়াল সফ্টওয়্যার, রিসার্চ, বিজনেস অ্যাডমিনিস্ট্রেশন, এবং ডেটা মাইনিং-এর বিশ্বে নির্দει কোয়েরি এবং ট্রানজ্যাকশনের ধারাবাহিক বমবারি হ্যান্ডেল করতে পারে। অন্য একটি প্রযুক্তি সীমানা, Internet of Things, ডেটা জেনারেট করার ডিভাইস এবং অনলাইন ট্রানজ্যাকশন চালানোর সংখ্যা বাড়িয়েছে। আপনি এখন ক্যামেরা, লাইট সুইচ, এবং রেফ্রিজারেটর যোগ করতে পারেন ডেটা অনলাইনে তৈরি করে এমন ডিভাইসের দীর্ঘ তালিকায়।
এই ল্যান্ডস্কেপে, একটি স্কেলিং কৌশল বাস্তবায়ন করা জরুরি যা আপনার ডেটা স্টোরের বর্তমান ডিমান্ড মেট করে এবং ডেটা এবং নতুন, এখনও কল্পনা করা যাবে না এমন, আরও বেশি ডেটা এবং ট্রানজ্যাকশনের সোর্সের অবিচল বৃদ্ধির জন্যও অনুমতি দেয়।
স্কেলিং সহজ কথায় মানে ডেটাবেস রিসোর্স র্যাম্প আপ (অথবা ডাউন) করা বর্তমান ওয়ার্কলোড উপযুক্তভাবে হ্যান্ডেল করার জন্য। নিচের উপায়ে স্কেল করুন:
- ভার্টিক্যাল স্কেলিং: একটি ক্লাস্টারের মধ্যে আন্ডারলাইং নোডগুলোর র্যাম, স্টোরেজ স্পেস, এবং CPU যোগ (অথবা রিমুভ) করুন।
- হরিজন্টাল স্কেলিং: ওয়ার্কলোড হ্যান্ডেল করার জন্য আরও নোড যোগ করুন (একক নোডে আরও রিসোর্স যোগ করার বদলে)।
অधিকাংশ রিলেশনাল ডেটাবেস ভার্টিক্যাল স্কেলিং ব্যবহার করে। যাঁব, অধিকাংশ ডিস্ট্রিবিউটেড ডেটাবেস (প্রায়শই নন-রিলেশনাল) হরিজন্টাল স্কেলিং ব্যবহার করে—যা ভারী ট্রানজ্যাকশনাল লোড, ঘন ঘন কোয়েরি, রিড/রাইট, এবং রেজিলিয়েন্সি রিকোয়ারমেন্টের জন্য ভালো। আপনি শুধু একটি নির্দিষ্ট পয়েন্ট পর্যন্ত ভার্টিক্যালি স্কেল করতে পারেন, কারণ একটি একক হার্ডওয়্যার টুকরোর টেকনিক্যাল (কম্পিউটেশনাল) লিমিট।
যাঁব, হরিজন্টালি স্কেলিং কম্পিউটেশনালি বাধাবদ্ধ নয় এবং শুধু উপলব্ধ হার্ডওয়ারের পরিমাণ এবং সফ্টওয়্যার কী সাপোর্ট করে সেটি দ্বারা সীমাবদ্ধ। CockroachDB কীভাবে ইউনিক করে তোলে সেটি হলো এটি হরিজন্টালি স্কেলিং রিলেশনাল ডেটাবেসের (ঐতিহ্যবাহ্যভাবে সম্ভব নয়) একটি গরেট সমাধান প্রদান করে দ্রুত, রিয়েল-টাইম রিড এবং রাইটের প্রতিক্রিয়া হিসেবে যা ডিস্ট্রিবিউটেড অনলাইন ট্রানজ্যাকশন প্রসেসিং (OLTP) সিস্টেমে अन्तর্নিহিত। আপনি CockroachDB ভার্টিক্যালি ও স্কেল করতে পারেন, কিন্তু আরও নোড যোগ করে স্কেলিং পছন্দের পদ্ধতি।
CockroachDB স্কেলিং কীভাবে স্পেশাল করে তোলে?
Rackspace ObjectRocket-এ প্রোডাক্ট ম্যানেজার Derek Johnson-এর মতে, CockroachDB-এর স্কেলিং-এর সবচেয়ে চমৎকার দিক হলো এটি কতটুকু স্মার্ট। প্রথম নোড তৈরি ও কনফিগার করার পর, পরবর্তী নোডগুলো যোগ করা সিম্প্লিফাই হয়েছে। মাল্টি-নোড এনভায়রনমেন্টে, আপনি CockroachDB-এর শক্তিশালী ফিচারগুলোর লিভারেজ নিতে পারেন যেমন অটো-স্কেল, ব্যালেন্স ডেটা, এবং সেলফ-ম্যানেজড জিও-স্পেসিফিক কমপ্লায়েন্স রিকোয়ারমেন্ট আপনার ডেটা স্টোর নিরাপদ, কমপ্লায়েন্ট, এবং পারফরম্যান্ট রাখতে। অপ্টিমাইজড কনফিগারেশন দিয়ে, আপনি CockroachDB-এর আসল শক্তি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, নোডের রিজন এবং অভেইলেবিলিটি জোন বর্ণনা করার জন্য —locality ফ্ল্যাগ ব্যবহার করে, CockroachDB জিও-পার্টিশনিং ইমপ্লিমেন্ট করে এবং স্বয়ংক্রিয়ভাবে ডেটা নির্দিষ্ট রিজনের মধ্যে রাখে।
নিচে কিছু স্কেলিং হাইলাইটের ব্রেকডাউন দেওয়া হলো:
ডেটা ইন্টিগ্রিটি যতটুকু আপনার ডেটা স্টোর স্কেল হয়
- ট্রানজ্যাকশন ACID-কমপ্লায়েন্ট, এবং আপনি সেগুলো সাধারণ উপায়ে ব্যবহার করতে পারেন, SQL কমান্ড যেমন
BEGINবাCOMMITব্যবহার করে। - CockroachDB রিলেশনাল ডেটাবেস থেকে ভিন্ন। স্কেলিং এর সময়, এটি রিড এবং রাইট দুটোই সকল সংশ্লিষ্ট নোড জুড়ে ডিস্ট্রিবিউট করে বদলে সব রাইট একটি একক নোডে যাওয়ার। এই মাল্টি-অ্যাক্টিভ অভেইলেবিলিটি CockroachDB-এর হাই অভেইলেবিলিটি সংস্করণ এবং জিও-স্প্যানিং অনুমতি দেয়।
- CockroachDB কনসেনসাস রেপ্লিকেশন ব্যবহার করে রেপ্লিকেশন রিকোয়েস্ট কমপক্ষে তিনটি ভিন্ন নোডে পাঠিয়ে এবং তারপর কমিট করার জন্য অপেক্ষা করে যতক্ষণ না অধিকাংশ নোড রিপোর্ট করে যে সেগুলো সফলভাবে ডেটা রেপ্লিকেট করেছে।
- মিডিয়েটেড ট্রানজ্যাকশন, প্রতিটি রাইটের জন্য ইন্টেন্ট এবং রেকর্ডসহ, ট্রানজ্যাকশন কনফ্লিক্ট রোধ করে।
- CockroachDB দুটি অবজেক্ট ব্যবহার করে সকল ট্রানজ্যাকশন মিডিয়েট করতে: একটি ট্রানজ্যাকশন রেকর্ড এবং একটি রাইট ইন্টেন্ট, যা একে অপরের সাথে চেক-ইন করে এবং, প্রয়োজনে, ট্রানজ্যাকশন রিস্টার্ট করে নিশ্চিত করতে যে এটি লেটেস্ট ভ্যালু কমিট করে।
- CockroachDB তার ডেটা ব্যালেন্স এবং রেপ্লিকেশনের কারণে পারফরম্যান্স এবং ডেটা ইন্টিগ্রিটির একটি ভাল ব্যালেন্স প্রদান করে।
জিও-পার্টিশনিং উদ্ধারে!
শার্ড তৈরি করে সেগুলো জিওগ্রাফিক্যালি সিলো করে বদলে, যা লেটেন্সি উন্নত করে কিন্তু ক্রস-জিও কোয়েরি বাধা দেয়, CockroachDB রেঞ্জ লেভেলে কনফিগারেশন সেটিংস ব্যবহার করে ডেটা সংজ্ঞায়িত রিজনে রেপ্লিকেট করে। CockroachDB তার ইউনিক জিও-পার্টিশনিং ক্ষমতার মাধ্যমে ডাবল-পারপাস ভ্যালু ডেলিভার করে। ডেটা সংরক্ষণের জন্য নির্দিষ্ট রিজন কনফিগার করে, আপনি অ্যাপ্লিকেশন পারফরম্যান্স (ডেটা ব্যবহারকারীদের অ্যাপ্লিকেশনের কাছাকাছি) এবং GDPR ডেটা ডোমিসাইলিং কমপ্লায়েন্স দুটোই অর্জন করেন।
CockroachDB Admin UI-র একটি চমৎকার জিওগ্রাফিক্যাল ডিসপ্লে রয়েছে যাকে Node Map বলা হয়, যা বিশ্বের একটি ম্যাপ দেখায় সকল নোডের আইকন এবং প্রতিটি নোডের ডিটেইলসহ। এই গ্রাফিক্যাল ডিসপ্লে প্ল্যানিং এবং লেটেন্সি সমস্যা ট্রাবলশুটিং-এ সাহায্য করে ডেটা স্টোরের মাঝপথে। আপনার CockroachDB ObjectRocket Mission Control UI-র মাধ্যমে অ্যাক্সেস করার সময়, আপনি সহজে CockroachDB Admin UI-র লিংক করতে পারেন Node Map দেখতে।
উপযুক্ত কনফিগারেশনসহ ম্যানুয়ালি নতুন নোড যোগ করা স্মার্ট এবং দ্রুত স্কেল-আউট অনুমতি দেয়
- আপনি যদি প্রোएक্টিভলি নতুন নোড স্পিন আপ করতে চান, তবে আপনি CLI বা Admin UI-এর মাধ্যমে একটি কমান্ড ব্যবহার করতে পারেন নোড তৈরি করতে এবং প্রয়োজনীয় ফ্ল্যাগ এবং অন্যান্য কনফিগারেশন সেট করতে।
- বहু ডেটাবেস স্কেল করতে স্টপ এবং স্টার্ট করতে হয়, কিন্তু CockroachDB-এ, আপনি সহজে আরও নোড যোগ করতে পারেন সিস্টেম লোড আন্ডারে থাকাকালীন।
অর্কেস্ট্রেশন ব্যবহার করে, স্কেলিং স্বয়ংক্রিয়ভাবে হ্যান্ডেল হয় কোনো ডাউনটাইম ছাড়া
CockroachDB নিচের স্কেলিং সুবিধাগুলো অফার করে:
- একটি অর্কেস্ট্রেশন প্ল্যাটফর্মের মাধ্যমে CockroachDB স্কেলিং করা সহজ করে তোলে এবং পাওয়ারফুল অটোমেশন অনুমতি দেয়। উদাহরণস্বরূপ, যখন আপনি Kubernetes ব্যবহার করেন (যেমন ObjectRocket করে), একটি একক কমান্ড CockroachDB স্কেল-আউট করতে পারে, প্রয়োজনীয় রিসোর্স প্রোভিশন করে এবং প্রয়োজন অনুযায়ী অতিরিক্ত পড স্পিন আপ করে।
- নোড জুড়ে ডেটা রিব্যালেন্সিং স্বয়ংক্রিয়ভাবে হয়, এমনকি ডেটা সেন্টার এবং ভিন্ন ক্লাউড প্রোভাইডারের মাঝপথেও।
- ডিস্ট্রিবিউটেড ট্রানজ্যাকশন মানে ওয়ার্কলোডের ওপর কোন প্রভাব নেই, কোনো ডাউনটাইম নেই, এবং লেটেন্সিতে কোনো বৃদ্ধি নেই।
- সকল নোড জুড়ে সার্ভার ইউটিলাইজেশন সমানভাবে অপ্টিমাইজ করা CockroachDB-এর অটো-স্কেলিং-এর একটি স্বাভাবিক ফলাফল।
একটি ম্যানেজড সার্ভিসে সবকিছু একসাথে আনা
ObjectRocket আপনার CockroachDB ডেটা স্টোরের জন্য সম্পূর্ণ ম্যানেজড সার্ভিস অফার করে Kubernetes কন্টেইনার-ভিত্তিক আর্কিটেকচার ব্যবহার করে। সার্ভিসটি ডিজাইন এবং ডিপ্লয়মেন্ট কনসাল্টিং, পূর্ণ টেকনিক্যাল সাপোর্ট, এবং CockroachDB-এর এন্টারপ্রাইজ-লাইসেন্সড ভার্সনের সকল সুবিধা অন্তর্ভুক্ত করে।
ম্যানেজড CockroachDB সমাধানের কী ফিচারগুলো হলো:
- তিন-নোড হাই অভেইলেবিলিটি (HA) ক্লাস্টার
- ObjectRocket UI-এর মাধ্যমে CockroachDB Admin UI-এ অ্যাক্সেস
- IP অ্যাড্রেস হোয়াইটলিস্টিং
- ইউজার অথেনটিকেশন
- Transport Layer Security (TLS)
এটি আপনার জন্য মানে আপনি একটি রিলেশনাল, ACID-কমপ্লায়েন্ট ডেটা স্টোর পাচ্ছেন একটি কমফরটেবল SQL ইন্টারফেস এবং PostgreSQL ওয়ার কম্প্যাটিবিলিটির সাথে, কিন্তু অটোমেটিক HA, সহজ স্কেলেবিলিটি, এবং জিওগ্রাফিক্যাল স্কেলিং-র সাথে।
ObjectRocket-এর ম্যানেজড CockroachDB অফারিং আপনাকে আপনার ডেটা প্রয়োজনের জন্য সেরা অপশন সিলেক্ট করতে দেয় প্রি-ডিফাইনড নোড টাইপ থেকে এবং তারপর হরিজন্টালি স্কেল করতে দেয় সেই নোড টাইপের যতই বেশি যোগ করতে চান। আমাদের Kubernetes-ভিত্তিক প্ল্যাটফর্ম স্বয়ংক্রিয়ভাবে ফেইলড বা সমস্যাাপন্ন নোড রিপ্লেস করে যাতে আমরা নিশ্চিত করতে পারি যে আপনার ক্লাস্টার সবসময় আপ এবং উপলব্ধ।
এটি CockroachDB চেক আউট করার এবং Rackspace ObjectRocket আমাদের ম্যানেজড সার্ভিসের সাথে কী প্রদান করে তা জানার একটি গরেট সময়। কিছু ইনসাইটের জন্য কীভাবে একটি ম্যানেজড অফারিং CockroachDB আপনার ডেটা স্টোর রিকোয়ারমেন্ট সমাধান করতে পারে, আমাদের Top 5 Use Cases ব্লগ পড়ুন। Cockroach®-র এক্সিলেন্ট ডকুমেন্টেশন রয়েছে, এবং আপনি যদি CockroachDB-র সম্পর্কে কথা বলতে চান বা আরও জানতে চান, তাহলে এখানে Rackspace-এ যোগাযোগ করুন।
The Rackspace Cloud Terms of Service দেখতে এখানে ক্লিক করুন।
ফিডব্যাক ট্যাব ব্যবহার করে মন্তব্য করুন বা প্রশ্ন করুন। আপনি Sales Chat-এ ক্লিক করুন এখন চ্যাট শুরু করতে এবং কথা বলতে শুরু করতে।