ETL বলতে Extract, Transform, and Load বোঝায়। এটি ডেটা-চালিত সংগঠনগুলো যে প্রসেস ব্যবহার করে একাধিক সোর্স থেকে ডেটা সংগ্রহ করে এবং সেগুলো একসাথে আনে ডিসকভারি, রিপোর্টিং, অ্যানালাইসিস, এবং সিদ্ধান্ত গ্রহণে সহায়তা করতে।
ডেটা সোর্সগুলো টাইপ, ফরম্যাট, ভলিউম, এবং রিলায়েবিলিটিতে দিগেরেন্ট হতে পারে, তাই ডেটাকে প্রসেস করতে হয় একসাথে ডেলিভার করার জন্য উপকারী হওয়ার জন্য। টার্গেট ডেটা স্টোর হতে পারে ডাটাবেস, ডেটা ওয়ারহাউস, বা ডেটা লেক, উদ্দেশ্য এবং টেকনিক্যাল ইমপ্লিমেন্টেশনের ওপর ভিত্তি করে। ETL-এর নিচের ধাপগুলো আছে:
এক্সট্রাক্ট (Extract)
এক্সট্রাকশনের সময়, ETL ডেটা চিহ্নিত করে এবং সেটি তার সোর্স থেকে কপি করে, তাই এটিকে টার্গেট ডেটাস্টোরে ট্রান্সপোর্ট করতে পারে। ডেটা স্ট্রাকচার্ড এবং আনস্ট্রাকচার্ড উভয় সোর্স থেকে আসতে পারে, যেন ফাইল, ইমেইল, বিজনেস সফটওয়্যার, ডাটাবেস, একুইপমেন্ট, সেন্সর, থার্ড পার্টি, ইত্যাদি।
এক্সট্রাকশন করার বিভিন্ন উপায় আছে যেন:
পারশিয়াল এক্সট্রাকশন (Partial Extraction)
তথ্য অ্যাক্সেস করার সবচেয়ে সহজ উপায় হলো যদি সোর্স সিস্টেম আমাদের নোটিফাই করে যখন একটি রেকর্ড মডিফাইড হয়েছে।
পারশিয়াল এক্সট্রাকশন (আপডেট নোটিফিকেশনসহ) (Partial Extraction with update notification)
সব সিস্টেম আপডেট হলে ঘোষণা দিতে পারে না; তবে, সেগুলো সেই রেকর্ডগুলোকে চিহ্নিত করতে পারে যেগুলো ট্রান্সফর্মড হয়েছে এবং সেসব রেকর্ডের এক্সট্রাক্ট প্রদান করতে পারে।
ফুল এক্সট্রাক্ট (Full extract)
কিছু সিস্টেম কোনো ডেটা পরিবর্তন হয়েছে কিনা চিহ্নিত করতে পারে না। এই কেসে, ফুল এক্সট্রাক্ট একমাত্র ফিজিবিলিটি সিস্টেম থেকে রেকর্ড এক্সট্রাক্ট করার। এই পদ্ধতিতে শেষ এক্সট্রাক্টের একটি কপি একই ফরম্যাটে থাকতে হয় যাতে পরিবর্তনগুলো চিহ্নিত করা যায়।
ট্রান্সফরম (Transform)
দ্বিতীয় ধাপে সোর্স থেকে এক্সট্রাক্ট করা র ডেটাকে এমন একটি ফরম্যাটে ট্রান্সফর্ম করা যায় যেটি একাধিক অ্যাপ্লিকেশন দ্বারা ব্যবহার করা যায়। এই ফেজে, ডেটা ক্লিনসড, ম্যাপড, এবং ট্রান্সফর্মড হয়, একটি নির্দিষ্ট স্কিমা অনুযায়ী, যাতে অপারেশনাল 니ডস পূরণ হয়।
এই প্রসেসে ডেটার গুণগত মান এবং ইন্টিগ্রিটি নিশ্চিত করার জন্য বিভিন্ন টাইপের ট্রান্সফরমেশন প্রয়োজন। ডেটা সাধারণত সরাসরি টার্গেট ডেটা সোর্সে লোড করা হয় না, বরং এটি সাধারণত একটি স্টেজিং ডাটাবেসে আপলোড করা হয়।
এই ধাপ একটি দ্রুত রোলব্যাক নিশ্চিত করে যদি কিছু প্ল্যান অনুযায়ী না হয়। এই ফেজে, রেগুলেটরি কম্প্লায়েন্সের জন্য অডিট ডকুমেন্ট তৈরি করা যায়, বা কিছু ডেটা সমস্যা ডায়াগনোজ ও রিপেয়ার করা যায়।
লোড (Load)
ETL ট্রান্সফর্মড ইনফরমেশনকে টার্গেট ডেটাস্টোরে মুভ করে। এই ধাপে সকল সোর্স ইনফরমেশনের আসল লোডিং প্রয়োজন হতে পারে, অথবা সোর্স ইনফরমেশনে ইনক্রিমেন্টাল চেঞ্জের লোডিং। এটি রিয়েল-টাইমে বা শিডিউলড ব্যাচে ডেটা লোড করতে পারে।