আমি বর্তমানে আমাদের ডেটা গুদামের জন্য ইটিএল তৈরির প্রক্রিয়াধীন। আমরা এসএসআইএস ২০০৮ ব্যবহার করছি তবে আমরা সমস্যাগুলির মধ্যে চলে আসছি যার মধ্যে সবচেয়ে বড়টি হচ্ছে উপাদানগুলি পুনরায় ব্যবহার করতে অসুবিধা। আমাদের প্রতিটি টেবিলের জন্য পৃথক প্যাকেজ রয়েছে এবং প্রতিটি প্যাকেজ প্যারেন্ট প্যাকেজ থেকে বেশ কয়েকটি ভেরিয়েবল ইনপুট হিসাবে গ্রহণ করে। আমরা এই ইনপুট ভেরিয়েবলগুলিতে পরিবর্তন করার সাথে সাথে আমাদের প্রতিটি প্যাকেজে প্রবেশ করতে হবে (আমাদের এখন 15 বা তত বেশি রয়েছে, তবে এই সংখ্যাটি উল্লেখযোগ্যভাবে বাড়তে চলেছে) এবং এই পরিবর্তনগুলি মোকাবেলায় প্যাকেজটি সংশোধন করতে হবে। আমাদের নিষ্কাশন জন্য স্বেচ্ছাসেবী এসকিউএল চালাতে অক্ষমতা, লগ ইন করার ক্ষমতাহীনতা সহ আরও অন্যান্য সমস্যা রয়েছে including
এই কোডটি যদি আমাদের ETL গুলি কোড, পুনরায় ব্যবহার, সাধারণ গ্রন্থাগার, আরও ভাল ইউনিট পরীক্ষাগুলি ইত্যাদি বিকাশ করার উপায় থাকে তবে এসকিউএল সার্ভারের জন্য কি কোনও ফ্যাক্টো স্ট্যান্ডার্ড ইটিএল ভাষা / এপিআই রয়েছে? আমি যতটা সম্ভব জিইউআই সরঞ্জামগুলি এড়াতে চাইছি।
সম্পাদনা: আমার পটভূমি উল্লেখ করা উচিত। আমি ডিবিএ নই এবং আমার কোনও আনুষ্ঠানিক (বা অনানুষ্ঠানিক) ডিবিএ প্রশিক্ষণ নেই, আমি পাশাপাশি চলার সাথে সাথে আমি এই জিনিসটি বের করে আনলাম, সুতরাং এসএসআইএসের সাথে অনুপযুক্ত জিনিসগুলি করার চেষ্টা করছি বা এই ইটিএল-এর কাছে যাওয়ার চেষ্টা করছি এমন সম্ভাবনা রয়েছে every ভুল কোণ থেকে প্রকল্প। এছাড়াও, আমি বর্তমানে রাজ্য সরকারে নিযুক্ত রয়েছি, সুতরাং নতুন সফ্টওয়্যার প্যাকেজ কেনার প্রয়োজন এমন যে কোনও সমাধান সম্ভাবনার ক্ষেত্রের মধ্যে নয়।
আমাদের কাজগুলির একটি এখানে। আমরা আমাদের গুদামে প্রতিটি টেবিল লোড করতে একটি একক এসএসআইএস প্যাকেজ ব্যবহার করছি। প্রতিটি ফ্যাক্ট প্যাকেজ এবং ডাইমেনশন প্যাকেজ সাধারণত একই হয়, তারা কেবল ভিন্ন fer
- উত্স ডাটাবেস থেকে নিষ্কাশন
- ডেটা ফ্লোতে ম্যানিপুলেশনস
- গন্তব্য সারণিতে মার্জ করে
আমি কী করতে সক্ষম হতে চাই (যেটি এসএসআইএসে করা আমার পক্ষে কঠিন হয়ে উঠছে)
- একটি পাঠ্য ফাইল থেকে নিষ্কাশন ক্যোয়ারী লোড করুন। বিকাশকারীরা যখন তাদের নিষ্কাশন অনুসন্ধানগুলি লিখছেন এবং পরীক্ষা করছেন, এসএসআইএস চালানোর আগে আমার কোনওভাবেই তাদের ক্যোয়ারীটি পরিচালনা করতে হবে না এবং ডিবি উত্স অবজেক্টে কোয়েরিটি কাটা এবং আটকানো উচিত নয়।
- প্রতিটি উপাদান পৃথকভাবে পরীক্ষা করুন। আমার পৃথক পৃথক টেবিলের জন্য অন্য টেবিলের লোডের চেয়ে সম্পূর্ণ ইটিএল প্রক্রিয়াটি পরীক্ষা করতে সক্ষম হওয়া উচিত।
- ভাগ করে দেওয়া যুক্তিতে এক জায়গায় পরিবর্তন করুন, প্রতিটি পৃথক প্যাকেজ সম্পাদনা করতে হবে না। প্রতিটি প্যাকেজ অডিট টেবিলগুলিতে একইভাবে ডেটা লোড করে, যদি আমি নিরীক্ষিত লোড হওয়া ডেটাটি পরিবর্তন করতে চাই তবে আমি 15 টি প্যাকেজ সম্পাদনা করতে চাই না (সময়ের সাথে সাথে এই সংখ্যাটি অনেক বেশি বড় হতে চলেছে)।
পুরো প্রক্রিয়াটি মনে হয় যেমন ভাগ করে নেওয়া কোডের যথাযথ ব্যবহারের সাথে যদি ক্রমবর্ধমানভাবে প্রয়োগ করা হয় তবে এটি প্রয়োগ করা অনেক সহজ এবং আরও দৃust় হবে।