دوره DeepDive
شاهراه داده
شاهراه داده یک مسیر کامل از مفاهیم پایه سیستمهای داده تا طراحی، پیادهسازی، پایش، مدیریت رخداد و پروژه نهایی واقعی است.
سرفصلها
معرفی دوره و مسیر یادگیری
آغاز شاهراه داده
معرفی دوره و مسیر یادگیری
روش کار با درسها، تمرینها و پروژه نهایی
تمرین آغاز مسیر: دفترچهٔ یادگیری من
تفکر دادهمحور و معماری سیستمهای مدرن
درس جامع: تفکر دادهمحور و معماری سیستمهای مدرن
معرفی مسیر فصل اول
پلتفورم داده چیست؟
اجزای اصلی یک سیستم داده مدرن
تفاوت سامانه عملیاتی، سامانه تحلیلی و تحلیل نزدیک به لحظه
چطور مثل مهندس پلتفورم فکر کنیم؟
نمایش مدرس: تفکر دادهمحور و معماری سیستمهای مدرن
تمرین عملی: تفکر دادهمحور و معماری سیستمهای مدرن
رخداد 01.1 — تیم گزارش مستقیم به پایگاه داده عملیاتی وصل شده و باعث کندی سیستم شده است.
رخداد 01.2 — چند سیستم مختلف مقدار متفاوتی برای یک مشتری نشان میدهند.
رخداد 01.3 — هیچکس نمیداند منبع معتبر کدام سیستم است.
رخداد 01.4 — گزارشهای مدیریتی با تأخیر چند روزه تولید میشوند.
رخداد 01.5 — تیمها بدون قرارداد داده، داده تولید و مصرف میکنند.
تکلیف فصل 1
آزمون فصل 1
چالش فصل 1
پروژه کوچک فصل 1
مدلسازی داده برای سیستمهای عملیاتی و تحلیلی
درس جامع: مدلسازی داده برای سیستمهای عملیاتی و تحلیلی
اصول مدلسازی داده
مدل عملیاتی در برابر مدل تحلیلی
طراحی Star Schema
مدلسازی Eventها
Data Contract و Schema Evolution
نمایش مدرس: مدلسازی داده برای سیستمهای عملیاتی و تحلیلی
تمرین عملی: مدلسازی داده برای سیستمهای عملیاتی و تحلیلی
رخداد 02.1 — تغییر نام یک ستون باعث شکست چند Pipeline شده است.
رخداد 02.2 — مدل داده عملیاتی برای گزارشگیری سنگین استفاده شده و کند شده است.
رخداد 02.3 — نبود Audit Column باعث نامشخص بودن زمان تغییر داده شده است.
رخداد 02.4 — حذف فیزیکی رکورد باعث از بین رفتن تاریخچه گزارش شده است.
رخداد 02.5 — کلیدهای اشتباه باعث Duplicate در Data Warehouse شدهاند.
تکلیف فصل 2
آزمون فصل 2
چالش فصل 2
پروژه کوچک فصل 2
پرونده حرفهای ابزار: MySQL 8.4
تصمیم و آمادگی محیط عملیاتی در MySQL 8.4
پرونده حرفهای ابزار: SQL Server / Transact-SQL
تصمیم و آمادگی محیط عملیاتی در SQL Server / Transact-SQL
پرونده حرفهای ابزار: MongoDB
تصمیم و آمادگی محیط عملیاتی در MongoDB
طراحی پایگاه داده در مقیاس بزرگ
درس جامع: طراحی پایگاه داده در مقیاس بزرگ
از Query Pattern تا SLO دیتابیس
طراحی Index بدون قربانی کردن Write
کالبدشکافی Query Plan با Buffer و I/O
Partitioning، Vacuum و برنامه ظرفیت
War Room: Lock، Connection Storm و Restore
نمایش مدرس: طراحی پایگاه داده در مقیاس بزرگ
تمرین عملی: طراحی پایگاه داده در مقیاس بزرگ
رخداد 03.1 — Query گزارش روزانه کل دیتابیس عملیاتی را قفل کرده است.
رخداد 03.2 — تعداد Connectionها بالا رفته و دیتابیس پاسخ نمیدهد.
رخداد 03.3 — Index اشتباه باعث کندتر شدن Write شده است.
رخداد 03.4 — جدول بزرگ بدون Partition رشد کرده و Maintenance سخت شده است.
رخداد 03.5 — Backup موفق بوده ولی Restore تست نشده است.
تکلیف فصل 3
آزمون فصل 3
چالش فصل 3
پروژه کوچک فصل 3
پرونده حرفهای ابزار: PostgreSQL
تصمیم و آمادگی محیط عملیاتی در PostgreSQL
پرونده حرفهای ابزار: ClickHouse
تصمیم و آمادگی محیط عملیاتی در ClickHouse
پرونده حرفهای ابزار: Apache Druid
تصمیم و آمادگی محیط عملیاتی در Apache Druid
پرونده حرفهای ابزار: Apache Pinot
تصمیم و آمادگی محیط عملیاتی در Apache Pinot
پرونده حرفهای ابزار: Apache Kylin
تصمیم و آمادگی محیط عملیاتی در Apache Kylin
الگوهای ذخیرهسازی و بازیابی اطلاعات
درس جامع: الگوهای ذخیرهسازی و بازیابی اطلاعات
Storage Engine از نگاه مهندسی
B-Tree و LSM با مثال
WAL و Recovery
Columnar Storage برای Analytics
Object Storage و Data Lake
نمایش مدرس: الگوهای ذخیرهسازی و بازیابی اطلاعات
تمرین عملی: الگوهای ذخیرهسازی و بازیابی اطلاعات
رخداد 04.1 — Disk IO Bottleneck باعث افزایش Latency شده است.
رخداد 04.2 — Compaction باعث Spike مصرف CPU شده است.
رخداد 04.3 — Storage ارزان انتخاب شده ولی Queryها کند شدهاند.
رخداد 04.4 — فایلهای کوچک زیاد در Object Storage باعث افت Performance شدهاند.
رخداد 04.5 — Hot Data و Cold Data از هم جدا نشدهاند.
تکلیف فصل 4
آزمون فصل 4
چالش فصل 4
پروژه کوچک فصل 4
پرونده حرفهای ابزار: TimescaleDB
تصمیم و آمادگی محیط عملیاتی در TimescaleDB
پرونده حرفهای ابزار: Elasticsearch
تصمیم و آمادگی محیط عملیاتی در Elasticsearch
پرونده حرفهای ابزار: Apache Arrow
تصمیم و آمادگی محیط عملیاتی در Apache Arrow
تراکنشها و سازگاری داده
درس جامع: تراکنشها و سازگاری داده
تراکنش چیست؟
Isolation Levels در عمل
Deadlock و Lock Contention
Outbox Pattern
Saga و Distributed Consistency
نمایش مدرس: تراکنشها و سازگاری داده
تمرین عملی: تراکنشها و سازگاری داده
رخداد 05.1 — پرداخت ثبت شده ولی Event ارسال نشده است.
رخداد 05.2 — Event ارسال شده ولی Transaction دیتابیس Rollback شده است.
رخداد 05.3 — دو درخواست همزمان باعث دوبار ثبت سفارش شدهاند.
رخداد 05.4 — Deadlock در ساعات پیک رخ میدهد.
رخداد 05.5 — Retry باعث Duplicate Payment شده است.
تکلیف فصل 5
آزمون فصل 5
چالش فصل 5
پروژه کوچک فصل 5
طراحی سیستمهای توزیعشده
درس جامع: طراحی سیستمهای توزیعشده
چرا سیستم توزیعشده سخت است؟
Replication و Failover
Sharding و Hot Partition
Consensus و Coordination
Network Partition War Game
نمایش مدرس: طراحی سیستمهای توزیعشده
تمرین عملی: طراحی سیستمهای توزیعشده
رخداد 06.1 — Sentinelها Primary را اشتباه تشخیص دادهاند.
رخداد 06.2 — Replication Lag باعث خواندن داده قدیمی شده است.
رخداد 06.3 — Network Partition باعث Split Brain شده است.
رخداد 06.4 — Hot Key باعث فشار روی یک Node شده است.
رخداد 06.5 — Timeout اشتباه باعث Retry Storm شده است.
تکلیف فصل 6
آزمون فصل 6
چالش فصل 6
پروژه کوچک فصل 6
پرونده حرفهای ابزار: Redis Sentinel
تصمیم و آمادگی محیط عملیاتی در Redis Sentinel
پرونده حرفهای ابزار: Redis Cluster
تصمیم و آمادگی محیط عملیاتی در Redis Cluster
پرونده حرفهای ابزار: Apache Ignite
تصمیم و آمادگی محیط عملیاتی در Apache Ignite
پرونده حرفهای ابزار: Apache Cassandra
تصمیم و آمادگی محیط عملیاتی در Apache Cassandra
معماری رویدادمحور و ارتباط بین سرویسها
درس جامع: معماری رویدادمحور و ارتباط بین سرویسها
چرا Event-driven؟
Kafka از صفر
Partition و Ordering
Consumer Group و Offset
Retry، DLQ و Poison Message
نمایش مدرس: معماری رویدادمحور و ارتباط بین سرویسها
تمرین عملی: معماری رویدادمحور و ارتباط بین سرویسها
رخداد 07.1 — Consumer Lag بالا رفته است.
رخداد 07.2 — Poison Message باعث توقف Consumer شده است.
رخداد 07.3 — Eventها خارج از ترتیب پردازش شدهاند.
رخداد 07.4 — تغییر Schema باعث شکست Consumer قدیمی شده است.
رخداد 07.5 — Producer بدون Key باعث توزیع اشتباه داده شده است.
تکلیف فصل 7
آزمون فصل 7
چالش فصل 7
پروژه کوچک فصل 7
پرونده حرفهای ابزار: Apache Kafka
تصمیم و آمادگی محیط عملیاتی در Apache Kafka
پرونده حرفهای ابزار: Apache Camel
تصمیم و آمادگی محیط عملیاتی در Apache Camel
پرونده حرفهای ابزار: Kong Gateway
تصمیم و آمادگی محیط عملیاتی در Kong Gateway
پرونده حرفهای ابزار: Apache APISIX
تصمیم و آمادگی محیط عملیاتی در Apache APISIX
پرونده حرفهای ابزار: Tyk Gateway
تصمیم و آمادگی محیط عملیاتی در Tyk Gateway
پرونده حرفهای ابزار: KrakenD
تصمیم و آمادگی محیط عملیاتی در KrakenD
پرونده حرفهای ابزار: Centrifugo
تصمیم و آمادگی محیط عملیاتی در Centrifugo
ساخت Data Pipelineهای قابل اعتماد
درس جامع: ساخت Data Pipelineهای قابل اعتماد
Anatomy of a Data Pipeline
CDC با Debezium
Kafka Connect در Production
NiFi برای Orchestration و Flow Management
Reliability Patterns در Pipeline
Reconciliation و Data Quality
نمایش مدرس: ساخت Data Pipelineهای قابل اعتماد
تمرین عملی: ساخت Data Pipelineهای قابل اعتماد
رخداد 08.1 — Debezium Snapshot وسط کار Fail شده است.
رخداد 08.2 — Connector به خاطر تغییر Schema متوقف شده است.
رخداد 08.3 — NiFi Backpressure باعث توقف Flow شده است.
رخداد 08.4 — Duplicate Event در Sink ایجاد شده است.
رخداد 08.5 — داده در Source و Sink با هم اختلاف دارد.
تکلیف فصل 8
آزمون فصل 8
چالش فصل 8
پروژه کوچک فصل 8
پرونده حرفهای ابزار: Apache NiFi
تصمیم و آمادگی محیط عملیاتی در Apache NiFi
پرونده حرفهای ابزار: Apache Spark
تصمیم و آمادگی محیط عملیاتی در Apache Spark
پرونده حرفهای ابزار: Apache Airflow
تصمیم و آمادگی محیط عملیاتی در Apache Airflow
پردازش جریانی داده
درس جامع: پردازش جریانی داده
Stream Processing از نگاه Production
Event Time و Windowing
Flink Job Anatomy
Stateful Processing
Exactly Once و Checkpoint
Real-time Incident Scenarios
نمایش مدرس: پردازش جریانی داده
تمرین عملی: پردازش جریانی داده
رخداد 09.1 — Late Event باعث عدد اشتباه در داشبورد شده است.
رخداد 09.2 — Checkpoint Fail شده و Job Restart Loop شده است.
رخداد 09.3 — State بیش از حد بزرگ شده است.
رخداد 09.4 — Consumer Lag در Job بالا رفته است.
رخداد 09.5 — خروجی Real-time با Batch Report اختلاف دارد.
تکلیف فصل 9
آزمون فصل 9
چالش فصل 9
پروژه کوچک فصل 9
پرونده حرفهای ابزار: Apache Flink
تصمیم و آمادگی محیط عملیاتی در Apache Flink
پرونده حرفهای ابزار: Apache Beam
تصمیم و آمادگی محیط عملیاتی در Apache Beam
پرونده حرفهای ابزار: Apache Samza
تصمیم و آمادگی محیط عملیاتی در Apache Samza
طراحی یک Data Platform واقعی
درس جامع: طراحی یک Data Platform واقعی
معماری مرجع Data Platform
انتخاب تکنولوژی بر اساس مسئله
طراحی محیط Local و Stage
Docker Compose Production-like
مسیر مهاجرت به Kubernetes
نمایش مدرس: طراحی یک Data Platform واقعی
تمرین عملی: طراحی یک Data Platform واقعی
رخداد 10.1 — Compose بالا میآید ولی بعضی سرویسها Ready نیستند.
رخداد 10.2 — ترتیب Startup باعث Fail شدن Connectorها شده است.
رخداد 10.3 — Volume پاک شده و داده از بین رفته است.
رخداد 10.4 — Env اشتباه روی Production اعمال شده است.
رخداد 10.5 — Service Discovery به درستی کار نمیکند.
تکلیف فصل 10
آزمون فصل 10
چالش فصل 10
پروژه کوچک فصل 10
پرونده حرفهای ابزار: Apache Iceberg + MinIO
تصمیم و آمادگی محیط عملیاتی در Apache Iceberg + MinIO
پرونده حرفهای ابزار: Apache Superset
تصمیم و آمادگی محیط عملیاتی در Apache Superset
مشاهدهپذیری، مانیتورینگ و عیبیابی
درس جامع: مشاهدهپذیری، مانیتورینگ و عیبیابی
Observability برای Data Platform
Prometheus و Grafana
Alert Design
Log Management با Elastic
Incident Response واقعی
Postmortem بدون مقصر
نمایش مدرس: مشاهدهپذیری، مانیتورینگ و عیبیابی
تمرین عملی: مشاهدهپذیری، مانیتورینگ و عیبیابی
رخداد 11.1 — Alert Storm تیم را فلج کرده است.
رخداد 11.2 — Dashboard عدد نشان میدهد ولی Actionable نیست.
رخداد 11.3 — Kafka Lag Alert دیر ارسال میشود.
رخداد 11.4 — Logها زیاد هستند ولی قابل جستجو نیستند.
رخداد 11.5 — Incident رخ داده ولی Root Cause ثبت نشده است.
تکلیف فصل 11
آزمون فصل 11
چالش فصل 11
پروژه کوچک فصل 11
پایداری، دسترسپذیری و بازیابی
درس جامع: پایداری، دسترسپذیری و بازیابی
Reliability Engineering برای Data Platform
RTO و RPO در عمل
Backup کافی نیست؛ Restore مهم است
Failover Strategy
Chaos و DR Drill
نمایش مدرس: پایداری، دسترسپذیری و بازیابی
تمرین عملی: پایداری، دسترسپذیری و بازیابی
رخداد 12.1 — Backup وجود دارد ولی قابل Restore نیست.
رخداد 12.2 — Failover انجام شده ولی Application به Node جدید وصل نشده است.
رخداد 12.3 — Disk Full باعث توقف Pipeline شده است.
رخداد 12.4 — Restore انجام شده ولی داده ناقص است.
رخداد 12.5 — RPO واقعی با RPO ادعاشده فرق دارد.
تکلیف فصل 12
آزمون فصل 12
چالش فصل 12
پروژه کوچک فصل 12
امنیت، کیفیت و حاکمیت داده
درس جامع: امنیت، کیفیت و حاکمیت داده
Governance در Data Platform
Data Quality عملی
Security و Access Control
PII و Masking
Audit و Lineage
نمایش مدرس: امنیت، کیفیت و حاکمیت داده
تمرین عملی: امنیت، کیفیت و حاکمیت داده
رخداد 13.1 — دسترسی مستقیم و بیش از حد به دیتابیس داده شده است.
رخداد 13.2 — داده حساس در Log ذخیره شده است.
رخداد 13.3 — کیفیت داده پایین باعث گزارش اشتباه شده است.
رخداد 13.4 — Retention Policy وجود ندارد و حجم داده بیرویه رشد کرده است.
رخداد 13.5 — معلوم نیست یک ستون از کدام Source آمده است.
تکلیف فصل 13
آزمون فصل 13
چالش فصل 13
پروژه کوچک فصل 13
پروژه نهایی: ساخت Data Platform واقعی
درس جامع: پروژه نهایی: ساخت Data Platform واقعی
معرفی پروژه نهایی
طراحی معماری Capstone
پیادهسازی Ingestion
پیادهسازی Processing
پیادهسازی Serving Layer
مانیتورینگ و Alerting
تست Incident و DR
ارائه نهایی پروژه
نمایش مدرس: پروژه نهایی: ساخت Data Platform واقعی
تمرین عملی: پروژه نهایی: ساخت Data Platform واقعی
رخداد 14.1 — CDC Connector متوقف شده است.
رخداد 14.2 — Consumer Lag بالا رفته است.
رخداد 14.3 — ClickHouse داده Duplicate دارد.
رخداد 14.4 — NiFi Backpressure رخ داده است.
رخداد 14.5 — Flink Checkpoint Fail شده است.
تکلیف فصل 14
آزمون فصل 14
چالش فصل 14
پروژه نهایی
پرونده حرفهای ابزار: MLflow
تصمیم و آمادگی محیط عملیاتی در MLflow
پرونده حرفهای ابزار: Kubeflow
تصمیم و آمادگی محیط عملیاتی در Kubeflow
پرونده حرفهای ابزار: Milvus
تصمیم و آمادگی محیط عملیاتی در Milvus
پرونده حرفهای ابزار: Qdrant
تصمیم و آمادگی محیط عملیاتی در Qdrant
پرونده حرفهای ابزار: FAISS
تصمیم و آمادگی محیط عملیاتی در FAISS
سوالات متداول
سوالات متداول
آیا برای شرکت در دوره باید برنامهنویسی بلد باشم؟⌄
آشنایی پایه با برنامهنویسی و SQL کمک میکند، اما مسیر دوره از آمادهسازی محیط و مفاهیم پایه شروع میشود.
آیا دوره فقط آموزش ابزارهاست؟⌄
خیر. دوره مسئلهمحور است و ابزارهایی مثل Kafka، Redis، Docker، PostgreSQL، Flink و Spark در جای درست برای حل مسئله واقعی استفاده میشوند.
اگر شاغل باشم میتوانم دوره را بگذرانم؟⌄
بله، اما باید برای Labها و تمرینهای عملی زمان منظم در نظر بگیرید.
آیا ویدئوها ضبط میشوند؟⌄
بله، دسترسی ویدئوها از طریق SpotPlayer مدیریت میشود.
دسترسی به ویدئوها از طریق چیست؟⌄
پس از تأیید ادمین، لایسنس SpotPlayer برای شما ساخته میشود و از پنل دانشجو قابل مشاهده است.
چرا باید شماره موبایل بدهم؟⌄
ورود دانشجو فقط با کد تأیید موبایل انجام میشود و watermark لایسنس برای جلوگیری از share با موبایل ساخته میشود.
آیا میتوانم اکانت را با شخص دیگری share کنم؟⌄
خیر. هر حساب فقط یک نشست فعال دارد و ورود جدید نشست قبلی را لغو میکند.
پروژه نهایی چیست؟⌄
در Capstone یک Data Platform کامل با source عملیاتی، CDC، stream، batch، lakehouse، analytics، search، realtime و monitoring میسازید.
آیا پرداخت آنلاین وجود دارد؟⌄
در نسخه v2 پرداخت به صورت دستی ثبت و توسط ادمین تأیید میشود.
تأیید دانشجو چطور انجام میشود؟⌄
پس از ثبت موبایل و تکمیل پروفایل، ادمین پروفایل و پرداخت را بررسی میکند و سپس دسترسی و SpotPlayer را فعال میکند.