ডেটা রেপ্লিকেশন কী?
ডেটা রেপ্লিকেশন হলো ডেটা কপি করার একটি মেথড যাতে সকল ইনফরমেশন রিয়েল-টাইমে সব ডেটা রিসোর্সের মধ্যে অভিন্ন থাকে। ডাটাবেস রেপ্লিকেশন কে সে নেট বলে ভাবুন যা আপনার ইনফরমেশন ক্যাচ করে এবং এটাকে দরारों দিয়ে পড়ে যাওয়া থেকে এবং হারিয়ে যাওয়া থেকে বাঁচায়। ডেটা কদাচিৎ স্ট্যাগনেন্ট থাকে না। এটা চিরকাল পরিবর্তনশীল। এটা একটি চলমান প্রসেস যা নিশ্চিত করে প্রাইমারি ডাটাবেস থেকে ডেটা একটি রেপ্লিকাতে মিরর হয়, এমনকি সেটা গ্রহের অন্য প্রান্তে অবস্থিত হোক।
এই দিনগুলো, "ইনস্ট্যান্ট্যানিয়াস" যথেষ্ট দ্রুত নয়। লেটেন্সি সাব-মিলিসেকেন্ড ইন্টারভালে কমানো যেভাবে সার্বজনীন লক্ষ্য। আমরা সবাই এই সিচুয়েশন দেখেছি - একটি ওয়েবসাইটে রিফ্রেশ বাটন চাপা, সেকেন্ডগুলোর জন্য অপেক্ষা করা যেন যুগ যুগান্তর, আপনার ইনফরমেশন আপডেট হওয়া দেখতে। লেটেন্সি ইউজারের প্রোডাক্টিভিটি কমায়। নียার-রিয়েল-টাইম অর্জন লক্ষ্য। শূন্য টাইম ল্যাগ নये আদর্শ, যেকোনো ইউজ কেসের জন্য।
ডেটা রেপ্লিকেশন কীভাবে কাজ করে?
ডেটা রেপ্লিকেশন হলো একটি হোস্ট থেকে অন্য হোস্টে ডেটা কপি করা, যেমন, দুটি অন-প্রেমের মাঝপথে, বা একটি অন-প্রেম থেকে একটি ক্লাউডে, এবং তদنুরূপ। পয়েন্ট হচ্ছে রিয়েল-টাইম কনসিস্টেন্সি অর্জন করা ডেটার সাথে সকল ইউজারের জন্য, যেকোনো জায়গা থেকে তারা ডেটা অ্যাক্সেস করুক না কেন। ডেটা-ড্রিভেন বিজনেস মডেল (DDBMs), যেমন গেমিং ইন্ডাস্ট্রি, রিয়েল-টাইম ডেটা দিয়ে অর্জিত অ্যানালিটিক্সের ওপর ভারি নির্ভরশীল। রিয়েল-টাইম অ্যাক্সেসিবিলিটি DDBM-এর জন্য কত ضرুরী সেটা বুঝতে নিচের ভিডিওটি দেখুন:
ডেটা রেপ্লিকেশনের সুবিধা কী কী?
উন্নত নির্ভরযোগ্যতা / দুর্যোগ পুনরুদ্ধার
একটি ইমার্জেন্সির ক্ষেত্রে, আপনার প্রাইমারি ইনস্ট্যান্স যদি কমপ্রোমাইজড হয়, জীবন-মরণের অ্যাপ্লিকেশনগুলো একটি রেপ্লিকাসহ সফeguarded থাকা জীবনতান্ত্রিক যা তার জায়গায় সোয়াপ করা যায়। দুর্যোগ পুনরুদ্ধার রেপ্লিকেশন মেথড একদম ব্যাকআপ জেনারেটরের মত কাজ করে; কল্পনা করুন একটি ক্রিটিক্যাল ফিউজ উড়ে গেল, বা আপনার পাওয়ার গ্রিড অন্ধকারে গেল - আপনাকে চিন্তা করতে হবে না কারণ আপনার একটি ব্যাকআপ জেনারেটর আছে সাবস্টিটিউট হিসেবে ধাক্কা দিয়ে আপনার লাইট চালু রাখতে।
কারণ রেপ্লিকা ইনস্ট্যান্সগুলো প্রাইমারি ইনস্ট্যান্সের একজাক্ট কপি, আপনি গ্যারান্টি দিতে পারেন পারফরম্যান্স ফাল্টার করবে না, চায়ে আপনার প্রাইমারির সাথে যা কিছুই হোক। এমনকি যদি একটি প্রাইমারি এবং একটি রেপ্লিকার মধ্যে লিংক টুটে যায়, পারফরম্যান্স এখনও অ্যাসুরড কারণ প্রাইমারি একটি পারশিয়াল রি-সিঙ্ক্রোনাইজেশন এক্টিভেট করবে, সেই কমান্ডগুলো সংগ্রহ করে যা ডিসকানেকশন время রেপ্লিকাতে ডেলিভার করা হয়নি। যদি সম্ভব না হয়, একটি ফুল রি-সিঙ্ক্রোনাইজেশন শুরু হবে, একটি স্ন্যাপশট ব্যবহার করে।
বৃদ্ধি অ্যাপ পারফরম্যান্স
ডেটা একাধিক ইনস্ট্যান্সে ছড়িয়ে দিয়ে, আপনি রিড পারফরম্যান্স অপ্টিমাইজ করতে সাহায্য করছেন। পারফরম্যান্সও অপ্টিমাইজ হয় আপনার ডেটা একাধিক লোকেশন থেকে অ্যাক্সেসযোগ্য থাকতে, যাতে যেকোনো লেটেন্সি ইস্যু মিনিমাইজ হয়। همچنین, যখন রেপ্লিকাগুলো অধিকাংশ রিড প্রসেস করার নির্দেশ দেওয়া হয়, তখন আপনার প্রাইমারির জন্য স্পেস খুলে যায় অধিকাংশ রাইটের ভারী কাজ ট্যাকল করতে।
অधিক দক্ষ IT টিম
ম্যানুয়ালি ডেটা রেপ্লিকেট করার জন্য IT লেবার রিডাকশন।
ফুল ডেটা রেপ্লিকেশন বনাম পার্শিয়াল রেপ্লিকেশন বোঝা
ফুল ডাটাবেস রেপ্লিকেশন ঘটে যখন একটি সম্পূর্ণ প্রাইমারি ডাটাবেস প্রতিটি উপলব্ধ রেপ্লিকা ইনস্ট্যান্সে রেপ্লিকেট হয়। এটি একটি হোলিস্টিক অ্যাপ্রোচ যা প্রি-এক্সিস্টিং, নিউ, এবং আপডেটেড ডেটা সকল ডেস্টিনেশনে মিরর করে। যদিও এই অ্যাপ্রোচ খুব কাম্প্রিহেনসিভ, এটাও অনেক প্রসেসিং পাওয়ার ডিমান্ড করে এবং নেটওয়ার্ক লোড এনকাম্বার করে কপি করা ডেটার বড় সাইজের কারণে।
ফুল রেপ্লিকেশনের বিপরীতে, পার্শিয়াল রেপ্লিকেশন শুধু ডেটার কিছু অংশ মিরর করে, সাধারণত সম্প্রতি আপডেট করা ডেটা। পার্শিয়াল রেপ্লিকেশন নির্দিষ্ট ডেটা বিটস আলাদা করে একটি নির্দিষ্ট লোকেশনে ডেটার গুরুত্ব অনুযায়ী। উদাহরণস্বরূপ, একটি বড় ফাইনেনশিয়াল ফার্ম যার হেডকোয়ার্টার লন্ডনে, তার বিশ্বব্যাপী অনেক স্যাটেলাইট অফিস থাকতে পারে, একটি বোস্টনে, অন্যটি কুয়ালা লামপুরে, এবং এভাবে।
পার্শিয়াল রেপ্লিকেশন লন্ডনের অ্যানালিস্টদের শুধু UK-পার্টিনেন্ট ডেটা তাদের সাইটে থাকতে দেয় এবং শুধু সেই ডেটা তাদের প্রয়োজনের জন্য কনসিস্টেন্টলি রেপ্লিকেট হয়। যুক্তরাষ্ট্র এবং মালেশিয়া-এ অবস্থিত অন্যান্য স্যাটেলাইট অফিসগুলো একই করতে পারে এবং কোথাও একটি সিস্টেম বগ ডাউন করে না, যা পারফরম্যান্স উন্নত করে এবং নেটওয়ার্ক ট্রাফিক মিনিমাইজ করে।
ডেটা রেপ্লিকেশনের উদাহরণ
ট্রানজেকশনাল রেপ্লিকেশন
ডাটাবেস রেপ্লিকেশনের এই ফর্মে, প্রাইমারি ডাটাবেস থেকে ডেটা রিয়েল-টাইমে একটি রেপ্লিকা ইনস্ট্যান্সে রেপ্লিকেট হয় সে পরিবর্তনগুলো মিরর করে সেই অর্ডারে যেগুলো প্রাইমারি ডাটাবেসে করা হয়েছিল। এটি কনসিস্টেন্সি অপ্টিমাইজ করে। রেপ্লিকেশন একটি "স্ন্যাপশট" নেয় প্রাইমারিতে ডেটার এবং সেই স্ন্যাপশটকে ব্লুপ্রিন্ট হিসেবে ব্যবহার করে কী কী অন্যথায় রেপ্লিকেট করতে হবে। ট্রানজেকশনাল রেপ্লিকেশনের সাথে, আপনি পরিবর্তনগুলো ট্র্যাক এবং ডিস্ট্রিবিউট করতে পারেন প্রয়োজন মতো। ট্রানজেকশনাল রেপ্লিকেশনের সাথে, আপনি পরিবর্তনগুলো ট্র্যাক এবং ডিস্ট্রিবিউট করতে পারেন প্রয়োজন মতো।
এই প্রসেসের ইনক্রিমেন্টাল প্রকৃতির দিয়ে, ট্রানজেকশনাল রেপ্লিকেশন ব্যাকআপ ডাটাবেস অপশন খুঁজার সময় অপ্টিমাল চয়েস নয়। ট্রানজেকশনাল রেপ্লিকেশন একটি উপযোগী চয়েস সিচুয়েশনগুলোর জন্য যেখানে আপনার রিয়েল-টাইম কনসিস্টেন্সি দরকার সব ডেটা লোকেশনে, যেখানে প্রতিটি মাইনুট পরিবর্তন একাউন্ট করতে হবে, শুধু পরিবর্তনগুলোর সামগ্রিক ইমপ্যাক্ট নয়, এবং যদি ডেটা রেগুলারলি একটি নির্দিষ্ট লোকেশন থেকে পরিবর্তিত হয়।
স্ন্যাপশট রেপ্লিকেশন
যে নামটার সুচনা, স্ন্যাপশট রেপ্লিকেশন একটি "স্ন্যাপশট" নেয় প্রাইমারি থেকে ডেটার সেটা যেভাবে দেখায় একটি নির্দিষ্ট মুহূর্তে এবং সেটাকে রেপ্লিকাতে সরিয়ে দেয়। একটি ছবির মতো, স্ন্যাপশট রেপ্লিকেশন ক্যাপচার করে ডেটা কীভাবে দেখায় একটি পয়েন্ট ইন টাইমে, সেটা যেভাবে দেখায় যখন প্রাইমারি থেকে রেপ্লিকাতে মুভ করে, কিন্তু পরে সেটা কীভাবে আপডেট হয় সেটা একাউন্ট করে না। তাই, স্ন্যাপশট রেপ্লিকেশন ব্যাকআপ बनाने জন্য ব্যবহার করবেন না।
একটি স্টোরেজ ফেইলার এর ইভেন্টে, স্ন্যাপশট রেপ্লিকেশনের আপডেটেড ইনফরমেশনের কোনো পাথ নেই। আপনার ইনফরমেশন কনসিস্টেন্ট রাখতে, আপনি একটি স্ন্যাপশট দিয়ে শুরু করতে পারেন, কিন্তু তারপর নিশ্চিত করুন প্রাইমারিতে করা সকল পরিবর্তন পাস করা হয়েছে প্রতিটি রেপ্লিকাতে।
অন্যদিকে, এই মেথড বস্তুতঃ রিকভারিতে সহায়ক অ্যাকসিডেন্টাল ডিলিশনের ক্ষেত্রে। এটা গুগল ডক্স-র ভার্সন হিস্টরির মত ভাবুন। কাঙ্ক্ষা করলেন আপনার প্রেজেন্টেশন যেভাবে চার ঘণ্টা আগে দেখত, সেটা করতে পারতেন? যদি গুগল ডক্স আপনার কাজের একটি স্ন্যাপশট নেয় ঘণ্টা ইন্টারভালে, আপনি চার ঘণ্টা আগের সেই ভার্সন, বা "স্ন্যাপশট,"-এ ক্লিক করে ব্যাক যেতে পারতেন এবং দেখতে পারতেন আপনার ইনফরমেশন কীভাবে তখন দেখত।
মার্জ রেপ্লিকেশন
এই মেথড সাধারণত ডেটার একটি স্ন্যাপশট দিয়ে শুরু হয় এবং সেটাকে তার রেপ্লিকাগুলোতে বিতরণ করে এবং পুরো সিস্টেমের মাঝপথে ডেটা সিঙ্ক্রোনাইজেশন মেইনটেইন করে। যেটা মার্জ রেপ্লিকেশনকে আলাদা করে সেটা হচ্ছে এটা প্রতিটি নোডকে ডেটাতে পরিবর্তন করার অনুমতি দেয় স্বাধীনভাবে, কিন্তু সকল আপডেটকে একটি ইউনিফাইড হোলে মার্জ করে।
মার্জ রেপ্লিকেশন প্রতিটি নোডে করা প্রতিটি পরিবর্তন একাউন্ট করে। আমাদের আগের গুগল ডক্স উদাহরণে ফিরে যাই, আপনি যদি কখনো একটি ডকুমেন্ট শেয়ার করেছেন সহকর্মীদের সাথে যারা তারপর আপনার ডকুমেন্টে কমেন্ট এবং এডিট ছেড়ে দিয়েছে, আপনি দেখবেন কে কী পরিবর্তন করেছে এবং কখন। মার্জ রেপ্লিকেশন খুব একইভাবে ফাংশন করে।
কী-ভিত্তিক রেপ্লিকেশন
কী-ভিত্তিক ইনক্রিমেন্টাল ডেটা রেপ্লিকেশন নামেও পরিচিত, এই মেথড একটি রেপ্লিকেশন কী লিভারেজ করে সনাক্ত, লোকেট, এবং পরিবর্তন করতে শুধু সেই স্পেসিফিক ডেটা যা গত আপডেটের পর থেকে পরিবর্তিত হয়েছে। সেই ইনফরমেশন আইসোলেট করলে, এটা ব্যাকআপ প্রসেস সাবলিমেন্ট করে, শুধু ততটুকু লোডের সাথে কাজ করে যা এটার আছে। যদিও কী-ভিত্তিক রেপ্লিকেশন নতুন ডেটা রিফ্রেশ করার একটি স্পিডি মেথড বানায়, এটা ডিলিটেড ডেটা রেপ্লিকেট করতে ব্যর্থ হয়ে ডিসঅ্যাডভান্টেজ দিয়ে আসে।
এক্টিভ-এক্টিভ জিও-ডিস্ট্রিবিউশন
এক্টিভ-এক্টিভ জিও-ডিস্ট্রিবিউশন, যাকেও পিয়ার-টু-পিয়ার রেপ্লিকেশন বলা হয়, কিছুটা ট্রানজেকশনাল রেপ্লিকেশনের মত কাজ করে, কারণ এটা নোডস দিয়ে কনস্ট্যান্ট ট্রানজেকশনাল ডেটার ওপর নির্ভর করে। এক্টিভ-এক্টিভ-এ, একই নেটওয়ার্কের সকল নোডস একে অপরকে কনস্ট্যান্টলি ডেটা পাঠায় ডাটাবেস সকল সংশ্লিষ্ট নোডসের সাথে সিঙ্ক করে। সকল নোড লিখযোগ্য (writable), মানে কেউ কোথাও থেকে ডেটা পরিবর্তন করতে পারে, বিশ্বের যেকোনো কোণ থেকে, এবং সেটা সকল অন্যান্য নোডে প্রতিফলিত হবে। এটা রিয়েল-টাইম কনসিস্টেন্সি গ্যারান্টি করে, কোনো জায়গা থেকে পরিবর্তন হোক না কেন।
কনফ্লিক্ট-ফ্রি রেপ্লিকেটেড ডেটা টাইপস (CRDTs) ডিফাইন করে এই ডেটা কীভাবে রেপ্লিকেট হয়। একটি নেটওয়ার্ক ফেইলারের ইভেন্টে যেকোনো রেপ্লিকাসহ, বা নোডসহ, অন্যান্য রেপ্লিকাগুলো সকল প্রয়োজনীয় ডেটা রেডি থাকবে রেপ্লিকেট করার জন্য একবার সেই নোড অনলাইন ফিরে আসলে। এটা এন্টারপ্রাইজের জন্য একটি স olid সমাধান যাদের গ্লোবালি একাধিক ডেটা সেন্টার দরকার। নিচের ভিডিওটি দেখুন এক্টিভ-এক্টিভ জিও-ডিস্ট্রিবিউশন ইউজ কেসের উদাহরণের জন্য।
সিনক্রোনাস / অ্যাসিনক্রোনাস রেপ্লিকেশন
সিনক্রোনাস রেপ্লিকেশনের সাথে, ডেটা একই সাথে প্রাইমারি এবং রেপ্লিকাতে লেখা হয়, নামের মতে। অ্যাসিনক্রোনাস রেপ্লিকেশন, অন্যদিকে, শুধু ডেটা রেপ্লিকাতে কপি করে একবার লিখাগুলো প্রাইমারিতে হয়ে যাওয়ার পর। অ্যাসিনক্রোনাস রেপ্লিকেশন রিয়েল-টাইমে হয় না টেন্ড করে, যদিও এটা সম্ভব। ব্যাচে শিডিউলড লিখা অপারেশন হওয়ার কারণে অ্যাসিনক্রোনাস-এ, কখনো কখনো ডেটা হারায় যায়, অধিকাংশ কেসে যখন একটি ফেইল-ওভার ইভেন্ট ট্রানসপায়ার করে। তবুও, অ্যাসিনক্রোনাস একটি উপযুক্ত সমাধান যখন লং ডিস্ট্যান্সে ডেটা রেপ্লিকেট করতে হয়, কারণ রিয়েল-টাইম কম্পোনেন্ট মিশন-ক্রিটিক্যাল ফ্যাক্টর নয়।
ডেটা রেপ্লিকেশন বাস্তবায়নের সাধারণ চ্যালেঞ্জ কী কী?
একাধিক ইনস্ট্যান্স জুড়ে ডেটা মেইনটেইন করা দরকার একটি কনসিস্টেন্ট সেট অফ রিসোর্স। একটি প্রাইমারি একাধিক রেপ্লিকা ইনস্ট্যান্সের সাথে থাকার খরচ অনেক কেসে অনেক বেশি হতে পারে। এই অপারেশন মেইনটেইন করতে এবং নিশ্চিত করতে কোনো সিস্টেম ফেইলার নেই দরকার একটি ডেডিকেটেড টিম এক্সপার্টদের। এবং আর্কিটেকচারের ওপর নির্ভর করে, নেটওয়ার্ক ব্যান্ডউইডথ ওভারলোডেড হতে পারে যখন নতুন প্রসেসগুলো স্থাপন করা হয়, যা লেটেন্সি, রিড, এবং রাইটকে প্রভাবিত করতে পারে।
রেডিস ডেটা রেপ্লিকেশন এক্সপিডিয়েন্ট, কস্ট-ইফেক্টিভ, এবং সিম্পল টু ইমপ্লিমেন্ট করে। আপনি কি রেডিস এন্টারপ্রাইজ ট্রিটমেন্টের জন্য প্রস্তুত?