Streams এর মাধ্যমে Change Data Capture (CDC)

Database Tutorials - ডাইনামোডিবি (DynamoDB) DynamoDB Streams |
208
208

DynamoDB Streams হল একটি ফিচার যা DynamoDB টেবিলের মধ্যে করা পরিবর্তনগুলি (ইনসার্ট, আপডেট, অথবা ডিলিট) রিয়েল-টাইমে ট্র্যাক এবং ক্যাপচার করতে সহায়তা করে। এই স্ট্রীমটি পরিবর্তিত ডেটার একটি ক্রমবর্ধমান রেকর্ড প্রদান করে এবং এটি বিভিন্ন ব্যবহার ক্ষেত্রে যেমন Change Data Capture (CDC) এর জন্য অত্যন্ত উপকারী।

Change Data Capture (CDC) একটি পদ্ধতি যা ডেটাবেসে করা সমস্ত পরিবর্তন (insert, update, delete) ট্র্যাক করে এবং সেই পরিবর্তনগুলিকে ব্যবহৃত অ্যাপ্লিকেশন বা সিস্টেমে পাঠায়। এটি সাধারণত ডেটা সিঙ্ক্রোনাইজেশন, অডিটিং, বা রিয়েল-টাইম ডেটা প্রসেসিংয়ের জন্য ব্যবহৃত হয়। DynamoDB Streams CDC-এর জন্য একটি শক্তিশালী সমাধান প্রদান করে, কারণ এটি অটোমেটিকভাবে ডেটা পরিবর্তনের লজ ধরে রাখে।


DynamoDB Streams কিভাবে কাজ করে?

DynamoDB Streams একটি শল্যাগ (log) তৈরি করে যা আপনার টেবিলের মধ্যে প্রতিটি পরিবর্তন (insert, update, delete) রেকর্ড করে। প্রতিটি পরিবর্তন একটি stream record হিসেবে সংরক্ষিত হয়, যা পরে প্রয়োজনে প্রসেস করা যেতে পারে।

Streams এর কাজের ধরন:

  1. Stream Record: যখন DynamoDB টেবিলের মধ্যে কোনো পরিবর্তন ঘটে, একটি নতুন স্ট্রীম রেকর্ড তৈরি হয়। এই রেকর্ডে সংশ্লিষ্ট আইটেমের পরিবর্তিত ডেটা, পূর্বের ডেটা এবং টার্গেট আইটেমের স্কিমা সহ তথ্য থাকে।
  2. Stream View Types: DynamoDB Streams-এ চারটি ধরনের স্ট্রীম ভিউ থাকে:
    • KEYS_ONLY: শুধু সেই কীগুলি অন্তর্ভুক্ত করে যা পরিবর্তিত হয়েছে।
    • NEW_IMAGE: শুধু নতুন ডেটার ইমেজ (তথ্য) প্রদান করে।
    • OLD_IMAGE: শুধুমাত্র পুরনো ডেটার ইমেজ প্রদান করে।
    • NEW_AND_OLD_IMAGES: পুরনো এবং নতুন উভয় ধরনের ইমেজ প্রদান করে।
  3. TTL (Time to Live): স্ট্রীমে থাকা ডেটা সাধারণত একটি নির্দিষ্ট সময় পর মুছে ফেলা হয়, সাধারণত ২৪ ঘণ্টা। এর মাধ্যমে আপনি কেবল প্রয়োজনীয় তথ্য ধরে রাখতে পারেন।

Change Data Capture (CDC) এর মাধ্যমে Data Processing

DynamoDB Streams-কে Change Data Capture (CDC) এর জন্য ব্যবহার করা হয় যখন আপনি ডেটাবেসের পরিবর্তনগুলি ট্র্যাক করে সেই তথ্য অন্য সিস্টেমে সিঙ্ক্রোনাইজ করতে চান। এর জন্য সাধারণত AWS Lambda ব্যবহার করা হয়, যা DynamoDB Streams-কে ট্রিগার করে এবং পরিবর্তিত ডেটার উপর নির্দিষ্ট কার্যকলাপ সম্পাদন করতে সাহায্য করে।

AWS Lambda + DynamoDB Streams for CDC:

  1. DynamoDB Streams ট্রিগার: যখন DynamoDB টেবিলের ডেটা পরিবর্তিত হয়, DynamoDB Streams সেই পরিবর্তনগুলো ট্র্যাক করতে শুরু করে। এই স্ট্রীম রেকর্ডগুলো AWS Lambda ফাংশনকে ট্রিগার করে।
  2. Lambda ফাংশন: Lambda ফাংশন স্ট্রীমে আসা পরিবর্তিত ডেটা প্রসেস করে, যেমন, নতুন ডেটা অন্য ডেটাবেসে সিঙ্ক্রোনাইজ করা বা কোনো লোগিং সিস্টেমে পাঠানো।
  3. Real-Time Data Synchronization: Lambda ফাংশন আপনাকে রিয়েল-টাইমে ডেটা সিঙ্ক্রোনাইজেশন, আর্কাইভিং, বা এলার্টিং করতে সক্ষম করে।

CDC এর ব্যবহার উদাহরণ:

  • ডেটা সিঙ্ক্রোনাইজেশন: একটি ব্যবস্থায় যেখানে ডেটাবেসটি পরিবর্তিত হলে সেই পরিবর্তন অন্য ডেটাবেসে বা সিস্টেমে সিঙ্ক্রোনাইজ করতে হবে।
  • অডিটিং: যেখানে ডেটার পরিবর্তনগুলি ট্র্যাক করা প্রয়োজন, যেমন ফাইন্যান্সিয়াল ডেটা সিস্টেমে।
  • রিয়েল-টাইম ডেটা প্রসেসিং: যখন ডেটার উপর তাত্ক্ষণিকভাবে কোনো ক্রিয়া সম্পাদন করতে হয়, যেমন রিয়েল-টাইম এনালিটিক্স বা মেশিন লার্নিং মডেল ট্রেনিং।

DynamoDB Streams এবং CDC এর বাস্তব জীবনের উদাহরণ

  1. ই-কমার্স ওয়েবসাইট: ধরুন, একটি ই-কমার্স সাইটে অর্ডার বা স্টক আপডেট করা হচ্ছে। যখন একটি অর্ডার কনফার্ম করা হয়, তখন DynamoDB Streams সেটি ট্র্যাক করবে এবং Lambda ফাংশন সেই পরিবর্তনটি ইনভেন্টরি ডাটাবেসে সিঙ্ক্রোনাইজ করবে।
  2. ফাইন্যান্সিয়াল অ্যাপ্লিকেশন: যদি কোনো লেনদেনের ডেটা পরিবর্তন হয়, তখন DynamoDB Streams সেই পরিবর্তনটি ট্র্যাক করে এবং সংশ্লিষ্ট ডেটা ফাইন্যান্সিয়াল রেকর্ডে আপডেট হয়ে যাবে।
  3. ডেটা আর্কাইভিং: সিস্টেমের পরিবর্তনগুলি মাইলস্টোন অনুযায়ী আর্কাইভ করা বা অন্যান্য স্টোরেজ সিস্টেমে সিঙ্ক্রোনাইজ করার ক্ষেত্রে DynamoDB Streams এর মাধ্যমে CDC ব্যবহার করা যেতে পারে।

DynamoDB Streams এবং CDC এর সুবিধা:

  • রিয়েল-টাইম ডেটা প্রসেসিং: DynamoDB Streams ব্যবহার করে ডেটা পরিবর্তনগুলিকে তাত্ক্ষণিকভাবে প্রসেস করা যায়, যা রিয়েল-টাইম সিস্টেমের জন্য খুবই কার্যকর।
  • স্বয়ংক্রিয় ডেটা সিঙ্ক্রোনাইজেশন: DynamoDB Streams ও Lambda ব্যবহার করে আপনি স্বয়ংক্রিয়ভাবে একাধিক ডেটাবেস বা সিস্টেমের মধ্যে ডেটা সিঙ্ক্রোনাইজ করতে পারেন।
  • এলাস্টিক স্কেলিং: DynamoDB Streams এবং Lambda ফাংশন দুটি AWS ম্যানেজড সার্ভিস, যা নিজে থেকেই স্কেল হয়, তাই যখন আপনার সিস্টেমের লোড বাড়ে, তখন পারফরম্যান্স স্বয়ংক্রিয়ভাবে বৃদ্ধি পায়।

সারাংশ: DynamoDB Streams এবং Change Data Capture (CDC) ব্যবহার করে আপনি ডেটাবেসের মধ্যে কোনো পরিবর্তন হলে সেটি রিয়েল-টাইমে ট্র্যাক এবং প্রসেস করতে পারেন। এটি ডেটা সিঙ্ক্রোনাইজেশন, অডিটিং, এবং রিয়েল-টাইম ডেটা প্রসেসিংয়ের জন্য একটি শক্তিশালী সমাধান।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion