প্রকল্প সম্পর্কে
siddhi-io-cdc এক্সটেনশনটি Siddhi-র একটি এক্সটেনশন, যা MySQL, MS SQL, PostgreSQL, H2 এবং Oracle-এর মতো ডেটাবেস থেকে পরিবর্তনের ডেটা ক্যাপচার করে। এটি একটি cdc সোর্স প্রদান করে, যা কোনো ডেটাবেস টেবিলে পরিবর্তন ইভেন্ট (INSERT, UPDATE, DELETE) ট্রিগার হলে কী-ভ্যালু ফরম্যাটে ইভেন্ট গ্রহণ করে।
মোড:
- লিসেনিং মোড: সোর্স ডেটাবেসের পরিবর্তন লগে শোনে এবং পরিবর্তন হলে সঙ্গে সঙ্গে জানায়। এটি MySQL, PostgreSQL এবং SQL Server-এর জন্য সমর্থিত। Oracle-এর ক্ষেত্রে Oracle Instant Client দিয়ে অতিরিক্ত সেটআপ প্রয়োজন।
- পোলিং মোড: ডেটাসোর্স থেকে নির্দিষ্ট সময় অন্তর পরিবর্তন পোল করা হয়; শুধুমাত্র INSERT ও UPDATE পরিবর্তন ক্যাপচার করা যায়। একটি পোলিং কলাম, অটো-ইনক্রিমেন্ট বা টাইমস্ট্যাম্প, প্রয়োজন।
কনফিগারেশন:
- Siddhi নেমস্পেসের অধীনে deployment.yaml-এ কানেকশনের বিবরণ (url, username, password, driverClassName) দেওয়া যায়।
- PostgreSQL লিসেনিং মোডের জন্য slot.name (ডিফল্ট: debezium), plugin.name (যেমন decoderbufs, pgoutput, wal2json) এবং table.name schema.table আকারে কনফিগার করুন।
ডিপেন্ডেন্সি:
- ডেটাবেসের ধরন অনুযায়ী রানটাইমে JDBC কানেক্টর jar যোগ করতে হবে (Debezium ডকুমেন্টেশন দেখুন)।
- লিসেনিং মোডের জন্য ডেটাবেস-নির্দিষ্ট সেটআপ প্রয়োজন, যেমন MySQL, PostgreSQL, SQL Server।
ইনস্টলেশন:
- বিভিন্ন এক্সিকিউশন এনভায়রনমেন্টে এক্সটেনশন যোগ করার জন্য Siddhi ডকুমেন্টেশন অনুসরণ করুন।
টেস্টিং:
- Maven প্রোফাইল ব্যবহার করে H2, MySQL 5.7, PostgreSQL 9.6, MSSQL এবং Oracle 11.2.0.2-xe-র জন্য Docker কনটেইনারে ইন্টিগ্রেশন টেস্ট চালানো যায়।
সাপোর্ট:
- siddhi ট্যাগ দিয়ে StackOverflow-এ প্রশ্ন করুন; GitHub-এ সমস্যা জানান; Siddhi ওয়েবসাইটে কমিউনিটির তথ্য পান।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.