এই ব্লগ পোস্টটি Oracle® GoldenGate®-র বেসিক্স এবং এর ফাংশনগুলো এক্সপ্লোর করে। কারণ এটি ডাটাবেস আর্কিটেকচার থেকে ডিকাপল্ড, GoldenGate হেটেরোজিনাস এবং হোমোজিনাস রিয়েল-টাইম ক্যাপচার অফ ট্রানজেকশনাল চেঞ্জ ডেটা ক্যাপচার এবং ইন্টিগ্রেশন সুবিধা দেয়।
Oracle GoldenGate পরিচিতি
Oracle GoldenGate হলো একটি সফটওয়্যার প্রোডাক্ট যা আপনাকে একটি ডাটাবেস থেকে অন্য ডাটাবেসে ডেটা রেপ্লিকেট, ফিল্টার, এবং ট্রান্সফর্ম করতে দেয়।
এটি Oracle ডাটাবেস এবং অন্যান্য সাপোর্টেড হেটেরোজিনাস ডাটাবেসের মধ্যে ডেটা রেপ্লিকেশন সক্ষম করে।
কেন GoldenGate ব্যবহার করবেন?
GoldenGate ব্যবহার করার কিছু কারণ নিচে দেওয়া হলো:
- ডেটা মুভমেন্ট রিয়েল-টাইমে হয় এবং লেটেন্সি কমায়।
- শুধু কমিটেড ট্রানজেকশন মুভ করে, কনসিস্টেন্সি সক্ষম করে এবং পারফরম্যান্স উন্নত করে।
- Oracle ডাটাবেসের বিভিন্ন ভার্সন এবং রিলিজ সাপোর্ট করা হয়, পাশাপাশি বিভিন্ন অপারেটিং সিস্টেমে চলমান çeşitli হেটেরোজিনাস ডাটাবেস।
- এটি সিম্পল আর্কিটেকচার ব্যবহার করে এবং ইজি কনফিগারেশন আছে।
- অন্ডারলাইং ডাটাবেস এবং ইনফ্রাস্ট্রাকচারের জন্য মিনিমাল ওভারহেডের সাথে হাই পারফরম্যান্স।
GoldenGate যেসব ব্যবসায়িক রিকোয়ারমেন্ট সাপোর্ট করে
নিচের ব্যবসায়িক রিকোয়ারমেন্ট মিট করতে GoldenGate ব্যবহার করুন:
- বিজনেস কন্টিনিউইটি এবং হাই অ্যালেটিবিটি
- জিরো ডাউনটাইমে ইনিশিয়াল লোড এবং ডাটাবেস মাইগ্রেশন ও আপগ্রেড
- ডেটা ইন্টিগ্রেশন
- লাইভ রিপোর্টিং
GoldenGate কীভাবে ব্যবহার করবেন
বেশ সারি ভিন্ন আর্কিটেকচার কনফিগার করা যায়, একটি সিম্পল ইউনিডাইরেকশনাল আর্কিটেকচার থেকে একটি আরও কমপ্লেক্স পিয়ার-টু-পিয়ার পর্যন্ত। GoldenGate সাপোর্ট করা ভিন্ন টপোলজি দেখতে নিচের ছবিটি রেফার করুন।
Image Source: https://www.vitalsofttech.com/goldengate-replication-topologies/
GoldenGate লজিক্যাল আর্কিটেকচার
নিচের ছবিটি GoldenGate আর্কিটেকচারের কম্পোনেন্ট বা প্রসেসগুলো দেখায়, যেগুলো এই সেকশনে বর্ণনা করা হয়েছে:
Image source: https://www.vitalsofttech.com/wp-content/uploads/2013/06/GoldenGate-Replication.jpg
Manager
Manager হলো वो প্রসেস যা অন্যান্য GoldenGate প্রসেসগুলো শুরু করে। এই প্রসেস কনফিগারেশনের জন্য উভয় সোর্স এবং টার্গেট সিস্টেমে চলতে হবে এবং অন্যান্য সব GoldenGate প্রসেস শুরু করতে হবে। Manager প্রসেস পুরনো ট্রেইল বা এক্সট্রাক্ট ফাইল পার্জ করে ডিস্ক স্পেস অ্যালোকেট করে। প্রতিটি GoldenGate ইনস্টলেশনের জন্য একটি ম্যানেজার প্রসেস প্রয়োজন।
Extract
Extract প্রসেস ডেটা এক্সট্রাকশন ইনভলভ করে, যাকে GoldenGate-এ data capture বলা হয়। Extract হলো वो প্রসেস যা সোর্স মাইনিং ডাটাবেসের বিপরীতে রান করার জন্য কনফিগার করা হয়।
Extract কমিটেড ডেটা মডেলিং ল্যাঙ্গুয়েজ (DML) ট্রানজেকশন এবং ডেটা ডেফিনিশন ল্যাঙ্গুয়েজ (DDL) Oracle redo লগ থেকে ক্যাপচার করার জন্য দায়বদ্ধ। Extract এই ডেটা পরিবর্তনগুলো ট্রেইল বা এক্সট্রাক্ট ফাইলে লিখে।
Trail
একটি ট্রেইল হলো ডিস্ক上的 ফাইল সিরিজ যেখানে GoldenGate ক্যাপচারড চেঞ্জ স্টোর করে, যা ডাটাবেস চেঞ্জের কনটিনিউয়াস এক্সট্রাকশন এবং রেপ্লিকেশন সাপোর্ট করে। ये OS লেভেলে প্ল্যাটফর্ম-ইন্ডিপেনডেন্ট বাইনারি ফাইল।
Replicat
Replicat হলো वो প্রসেস যা ডেটা টার্গেট ডাটাবেসে ডেলিভার করে। এটি টার্গেট ডাটাবেসে ট্রেইল পড়ে, DML বা DDL অপারেশন রিকনস্ট্রাক্ট করে, এবং সেগুলো টার্গেট ডাটাবেসে প্রয়োগ করে।
Pump
Pump প্রসেস, যা একটি এক্সট্রাক্ট প্রসেসও, GoldenGate সেটআপে অপশনাল। এই প্রসেস ডেটা ধারণকারী ট্রেইল ফাইলগুলো টার্গেট সিস্টেমে কপি করে।
Checkpoint
Extract pump এবং Replicat প্রসেস চেকপয়েন্ট ব্যবহার করে তাদের প্রগ্রেস ট্র্যাক করতে। এই মেকানিজম ডেটা চেঞ্জের লোকেশন মার্ক করে যেগুলো ট্রেইল ফাইল থেকে রিট্রিভ বা প্রয়োগ করা হয়েছে। এটি তখন উপযোগী হয় যখন প্রসেসগুলো কোনো ডেটা লস ছাড়া রিকভার করতে চায় বা ফেইলারের পর স্টার্টিং পয়েন্ট জানতে চায়।
Collector
Collector প্রসেস টার্গেট সিস্টেমে চলে এবং সোর্স ডাটাবেস থেকে ডেটা চেঞ্জ টার্গেট ট্রেইল ফাইলে লিখে, যেগুলো RMTTRAIL হিসেবে জানা হয়। RMTTRAIL-এ কপি করার আগে, collector ফাইলগুলো রিঅ্যাসেম্বল করে।
GoldenGate ক্যাপচার মোড
Oracle GoldenGate নিচের টাইপের ক্যাপচার সাপোর্ট করে, যেগুলো এই সেকশনে বর্ণনা করা হয়েছে:
- Classic capture
- Integrated capture
Classic capture mode
Classic capture হলো আসল GoldenGate ক্যাপচার মেকানিজম, যা ডেটা সরাসরি অনলাইন রিডো লগ এবং আর্কাইভড রিডো লগ থেকে পড়ে যেখানে সম্ভব। প্রয়োজনে ডাটাবেস ফাইল থেকে অতিরিক্ত ডেটা ফেচ করা হতে পারে।
Integrated capture mode
Integrated capture (IC), Oracle GoldenGate ভার্সন 11.2.1-এ চালু করা হয়েছিল, প্রাথমিকভাবে Oracle 11.2.0.3-এ 11.2.0.3 ডাটাবেস-স্পেসিফিক বান্ডল প্যাচ ফর Integrated Extract 11.2.x (MOS Note 1411356.1) সহ উপলব্ধ ছিল। IC সোর্স সিস্টেমে বা একটি ডাউনস্ট্রিম Oracle ডাটাবেসে একটি লগ-মাইনিং সার্ভার ব্যবহার করে, DataGuard লজিক্যাল স্ট্যান্ডবাই বা Oracle Streams-এর অনুরূপ।
IC এক্সট্রাক্ট প্রসেসের একটি নতুন ফর্ম, যা সোর্স ডাটাবেসের ভিতরে সরিয়ে এসেছে। ট্র্যাডিশনাল ক্লাসিক এক্সট্রাক্ট প্রসেসে, এক্সট্রাক্ট ডাটাবেসের আসল ডোমেনের বাইরে রিডো লগসে কাজ করে। IC-এ, একটি সার্ভার লগ মাইনার প্রসেস শুরু হয়, যা সব DML ডেটা এবং DDL স্টেটমেন্ট (create, alter, drop, ইত্যাদি) এক্সট্রাক্ট করে এবং লজিক্যাল চেঞ্জ রেকর্ড (LCR) তৈরি করে। এই রেকর্ডগুলো তারপর GoldenGate মেমরি প্রসেসগুলোর হवाले করা হয়, যা LCR-গুলো লোকাল ট্রেইল ফাইলে লিখে।
GoldenGate Replicat মোড
ভার্সন 12.1 রিলিজের আগে, Replicat ট্রানজেকশন টার্গেট ডাটাবেসে সিরিয়ালি প্রয়োগ করত। প্যারালেলিজম অর্জন করতে, টেবিলগুলো একাধিক রেপ্লিকেটে স্প্লিট করতে হতো দ্রুত ডেটা অ্যাপ্লিকেশন এবং ল্যাগ কমাতে। এই পদ্ধতির ড্রব্যাক شامل ছিল একাধিক রেপ্লিকেট এবং ট্রেইল ফাইল ম্যানুয়ালি কনফিগার করা এবং ফরেন কী রিলেশনশিপ থাকা টেবিলগুলো রেপ্লিকেট জুড়ে স্প্লিট করা যেত না।
নতুন কোঅর্ডিনেটেড এবং ইন্টিগ্রেটেড Replicat মোড আপনাকে টার্গেট ডাটাবেসে ট্রানজেকশন প্যারালেলি প্রয়োগ করতে সাহায্য করে একাধিক রেপ্লিকেটে টেবিল ম্যানুয়ালি স্প্লিট ছাড়া।
নিচের সেকশনগুলো ভিন্ন Replicat মোড বর্ণনা করে।
Classic Replicat
Classic Replicat-এ, একটি টার্গেট ডাটাবেস চেকপয়েন্ট সিস্টেমকে বলে কোন ট্রানজেকশন কমিট হয়েছে এবং কোনটি নয়। এটি ট্রানজেকশনাল রেপ্লিকেশনের একটি কী আспект।
Classic Replicat-এর বৈশিষ্ট্য:
- SQL সিরিয়ালি প্রয়োগ করে।
- অবশ্যই ব্যবহার করতে হবে যদি ডাটাবেস ভার্সন 11.2.0.4-র চেয়ে কম হয়।
নিচের ছবিটি ক্লাসিক Replicat ইলাস্ট্রেট করে:
Image source: https://docs.oracle.com/GoldenGate/1212/gg-winux/GIORA/img/integratedapply.jpg
Coordinated Replicat
একটি কনফিগারড Replicatকে কোঅর্ডিনেটর বলা হয়। এই প্রসেস স্পেসিফাইড নম্বর অফ থ্রেডের উপর ভিত্তি করে অতিরিক্ত রেপ্লিকেট শুরু করে। Replicat নাম পাঁচ ক্যারেক্টারে সীমাবদ্ধ, এবং থ্রেডেড রেপ্লিকেটগুলো এই নামের সাথে থ্রি-ডিজিট নম্বর অ্যাপেন্ড করা থাকে (উদাহরণস্বরূপ, RGGMA, RGGMA001, RGGMA002, ইত্যাদি)। কোঅর্ডিনেটর SQL থ্রেডগুলোর পাঠায়, যেগুলো প্যারালেলি এবং কমিটেড অর্ডারে প্রয়োগ করা যায়।
নিচের ছবিটি কোঅর্ডিনেটেড Replicat ইলাস্ট্রেট করে:
Image source: https://www.red-gate.com/simple-talk/sql/oracle/oracle-GoldenGate-12c-new-features-part-2/
Integrated Replicat
Integrated Replicat-এর বৈশিষ্ট্য:
- সোর্স ডাটাবেস DML ট্রানজেকশন রিপ্রেজেন্ট করে LCR কনস্ট্রাক্ট করে (কমিটেড অর্ডারে)। DDL সরাসরি Replicat দ্বারা প্রয়োগ করা হয়। এই ট্রানজেকশনগুলো প্যারালেলি প্রয়োগ করা যায়।
- টার্গেট ডাটাবেসে একটি ব্যাকগ্রাউন্ড প্রসেসের সাথে আট্যাচ হয়, যাকে ডাটাবেস ইনবাউন্ড সার্ভার বলা হয়, একটি লাইটওয়েট স্ট্রিমিং ইন্টারফেসের মাধ্যমে।
- LCR-গুলো ইনবাউন্ড সার্ভারকে ট্রান্সমিট করে, যা ডেটা টার্গেট ডাটাবেসে প্রয়োগ করে।
নিচের ছবিটি ইন্টিগ্রেটেড Replicat ইলাস্ট্রেট করে:
Image source: https://docs.oracle.com/GoldenGate/1212/gg-winux/GIORA/process_mode.htm#GIORA212
উপসংহার
এই ব্লগে বর্ণনা করা হয়েছে কীভাবে এবং কেন GoldenGate ব্যবহার করতে হয় এবং এর আর্কিটেকচার এবং কম্পোনেন্ট আলোচনা করা হয়েছে। এছাড়া টুলে অন্তর্ভুক্ত ক্যাপচার মোড এবং Replicat মোডের বিস্তারিত দেওয়া হয়েছে।
Feedback ট্যাব ব্যবহার করে যেকোনো মন্তব্য বা প্রশ্ন করুন।