পাঠ 1অ্যানালিটিক্সের জন্য ডাইমেনশনাল মডেল ডিজাইন: ফ্যাক্ট এবং ডাইমেনশন ম্যাপিংঅ্যানালিটিক্সের জন্য ডাইমেনশনাল মডেলিং অন্বেষণ করুন। আপনি বিজনেস প্রসেসগুলোকে ফ্যাক্ট টেবিলে ম্যাপ করবেন, ডাইমেনশন এবং গ্রেইন ডিফাইন করবেন, ম্যানি-টু-ম্যানি সম্পর্ক হ্যান্ডল করবেন এবং সেল্ফ-সার্ভিস বিআই এবং পারফরম্যান্ট কোয়েরি সমর্থন করে স্কিমা ডিজাইন করবেন।
Identifying business processes and factsChoosing the grain of fact tablesDesigning conformed dimensionsHandling many-to-many relationshipsStar vs snowflake schema trade-offsপাঠ 2fact_user_activity: স্কিমা ফিল্ড (event_id, user_id, course_id, event_type, timestamp, duration, device, session_id, ingestion_metadata)বিহেভিয়ারাল অ্যানালিটিক্সের জন্য ফ্যাক্ট_ইউজার_অ্যাক্টিভিটি টেবিল মডেল করুন। আমরা প্রত্যেক ফিল্ড ডিফাইন করি, ইভেন্ট গ্রেইন চয়ন করি, সেশন এবং ডিভাইস ক্যাপচার করি, ইনজেশন মেটাডেটা স্টোর করি এবং ফানেল, এংগেজমেন্ট এবং রিটেনশন রিপোর্টিং সমর্থন করি।
Defining the event-level grainModeling event_type and taxonomiesSession and device attributionUsing ingestion_metadata fieldsSupporting funnels and retentionপাঠ 3ডিরাইভড মেট্রিক্স এবং অ্যাগ্রিগেশন: ডেইলি অ্যাক্টিভ ইউজার (ডিএইউ), কোর্স প্রতি অ্যাক্টিভ ইউজার, দেশভিত্তিক কোর্স কমপ্লিশন রেট, কোর্স এবং কোহর্টভিত্তিক রেভিনিউফ্যাক্ট টেবিল থেকে ডিরাইভড মেট্রিক্স এবং অ্যাগ্রিগেশন তৈরি করতে শিখুন। আমরা ডিএইউ, পার-কোর্স অ্যাক্টিভিটি, কমপ্লিশন রেট এবং কোহর্ট রেভিনিউ কম্পিউট করি, রিপ্রোডিউসিবল ডিফিনিশন এবং দক্ষ ম্যাটেরিয়ালাইজেশন প্যাটার্নের উপর জোর দিয়ে।
Defining DAU and MAU consistentlyActive users per course metricsCompletion rate by segment and countryRevenue by course and cohortMaterializing aggregates in warehousesপাঠ 4ধীরে পরিবর্তনশীল ডাইমেনশন (এসসিডি টাইপ ১/২) হ্যান্ডলিং এবং টাইম-ট্রাভেল/ভার্সনিংধীরে পরিবর্তনশীল ডাইমেনশন এবং টাইম-ট্রাভেল ম্যানেজ করার পদ্ধতি শিখুন। আমরা এসসিডি টাইপ ১ এবং টাইপ ২ তুলনা করি, কার্যকর তারিখ রেঞ্জ ডিজাইন করি, ভার্সন মেটাডেটা স্টোর করি এবং হিস্টোরিক্যাল ডাইমেনশন স্টেট কোয়েরি করার জন্য ওয়্যারহাউস ফিচার ব্যবহার করি।
When to use SCD Type 1 vs Type 2Effective dates and current flagsImplementing SCD in SQL and dbtUsing warehouse time-travel featuresTesting historical dimension correctnessপাঠ 5নিয়ার-রিয়েল-টাইম কেপিআইয়ের জন্য ডেটা ফ্রেশনেস এবং উইন্ডোয়িং কৌশলনিয়ার-রিয়েল-টাইম কেপিআইয়ের জন্য ফ্রেশনেস কৌশল ডিজাইন করুন। আমরা লেটেন্সি বাজেট, ওয়াটারমার্কিং, স্ট্রিমিং মেট্রিকের জন্য উইন্ডোয়িং, লেট-আগাইভিং ডেটা হ্যান্ডলিং এবং ড্যাশবোর্ড নির্ভরযোগ্য এবং অ্যাকশনযোগ্য রাখার জন্য ফ্রেশনেস মনিটরিং কভার করি।
Defining freshness and latency targetsWatermarks and late data handlingTumbling, sliding, and session windowsNear-real-time KPI computationMonitoring and alerting on freshnessপাঠ 6ডেটা ক্লিনজিং ধাপ: পার্সিং, টাইপ কোর্সন, টাইমস্ট্যাম্প নরমালাইজেশন, ডিডুপ্লিকেশন, এনরিচমেন্টমডেলিংয়ের আগে র ডেটা সিস্টেম্যাটিক্যালি ক্লিন করার পদ্ধতি শিখুন। আমরা সেমি-স্ট্রাকচার্ড ফিল্ড পার্সিং, ডেটা টাইপ এনফোর্স, টাইমজোন জুড়ে টাইমস্ট্যাম্প নরমালাইজ, রেকর্ড ডিডুপ্লিকেট এবং রেফারেন্স এবং লুকআপ ডেটা দিয়ে ডেটাসেট এনরিচ করা কভার করি।
Parsing JSON, CSV, and nested fieldsType coercion and schema validationTimezone normalization and standardsRecord deduplication strategiesReference data joins for enrichmentপাঠ 7dim_course: স্কিমা ফিল্ড (course_id, title, author_id, category, price, published_date)কোর্স অ্যানালিটিক্স সমর্থন করার জন্য dim_course ডাইমেনশন ডিজাইন করুন। আমরা প্রত্যেক ফিল্ড ডিফাইন করি, সারোগেট কী আলোচনা করি, প্রাইসিং এবং ক্যাটাগরি পরিবর্তন হ্যান্ডল করি এবং হিস্টোরিক্যাল এবং ক্যাটালগ রিপোর্টিংয়ের জন্য প্রকাশের তারিখ মডেল করি।
Business meaning of each dim_course fieldNatural keys vs surrogate course_idHandling course price and category changesModeling published and unpublished statesIndexing dim_course for BI queriesপাঠ 8dim_user: স্কিমা ফিল্ড (user_id, email_hash, signup_date, country, subscription_status, cohort)ইউজার অ্যানালিটিক্স এবং সেগমেন্টেশনের জন্য dim_user ডাইমেনশন ডিজাইন করুন। আমরা প্রত্যেক ফিল্ড ডিফাইন করি, সংবেদনশীল ডেটা হ্যাশ করি, সাইনআপ এবং কোহর্ট ট্র্যাক করি এবং গ্রোথ, রিটেনশন এবং মনেটাইজেশন রিপোর্টিং সমর্থন করার জন্য সাবস্ক্রিপশন স্ট্যাটাস মডেল করি।
User identifiers and surrogate keysEmail hashing and privacy controlsModeling signup_date and cohortsSubscription_status lifecycleCountry and localization attributesপাঠ 9ট্রান্সফরমেশন প্যাটার্ন: ইএলটি বনাম ইটিএল, ইনক্রিমেন্টাল ট্রান্সফরমেশন, ব্যাচ বনাম স্ট্রিম ট্রান্সফর্মকোর ট্রান্সফরমেশন প্যাটার্ন এবং কখন প্রয়োগ করবেন তা বুঝুন। আমরা ইটিএল এবং ইএলটি তুলনা করি, ইনক্রিমেন্টাল পাইপলাইন ডিজাইন করি এবং খরচ, লেটেন্সি, অবজার্ভেবিলিটি এবং অপারেশনাল ট্রেডঅফের উপর ফোকাস করে ব্যাচ এবং স্ট্রিমিং ট্রান্সফর্ম কনট্রাস্ট করি।
Comparing ETL and ELT architecturesDesigning incremental transformationsBatch processing pros and consStreaming and micro-batch patternsChoosing patterns by SLA and costপাঠ 10ট্রান্সফরমেশনের জন্য টুল: ডিবিটি, স্পার্ক/ডেটাব্রিক্স, বিম/ফ্লিঙ্ক, এসকিউএল-ভিত্তিক ট্রান্সফরমেশন ফ্রেমওয়ার্ককী ট্রান্সফরমেশন টুল সার্ভে করুন এবং তাদের মধ্যে চয়ন করুন। আমরা ডিবিটি, স্পার্ক, ডেটাব্রিক্স, বিম, ফ্লিঙ্ক এবং এসকিউএল ফ্রেমওয়ার্ক তুলনা করি, স্কেলেবিলিটি, অর্কেস্ট্রেশন, টেস্টিং এবং আধুনিক ডেটা স্ট্যাকের সাথে ইন্টিগ্রেশনের উপর ফোকাস করে।
dbt for SQL-centric transformationsSpark and Databricks for big dataBeam and Flink for streaming jobsSQL-based transformation frameworksTool selection criteria and trade-offsপাঠ 11fact_payments: স্কিমা ফিল্ড (payment_id, user_id, course_id, amount, currency, payment_method, status, timestamp, invoice_id)রেভিনিউ অ্যানালিটিক্সের জন্য ফ্যাক্ট_পেমেন্টস টেবিল মডেল করুন। আমরা প্রত্যেক ফিল্ড ডিফাইন করি, আইডেম্পোটেন্ট ইনজেশন আলোচনা করি, কারেন্সি হ্যান্ডলিং, পেমেন্ট স্ট্যাটাস, রিফান্ড এবং ডাউনস্ট্রিম রিপোর্টিংয়ের জন্য পেমেন্টগুলোকে ইউজার, কোর্স এবং ইনভয়েসের সাথে লিঙ্ক করি।
Grain and primary key of fact_paymentsModeling payment status and lifecycleHandling multi-currency amountsLinking payments to users and coursesCapturing refunds and chargebacks