مبحث ۱: معماری داده
Data Architecture
۱. این مبحث دقیقاً درباره چیست؟
معماری داده (Data Architecture) به طراحی، ساختار و سازماندهی کلی سیستمهای داده در یک سازمان اشاره دارد. این مفهوم مشخص میکند که دادهها از کجا میآیند، کجا ذخیره میشوند، چگونه جابجا میشوند و چگونه در اختیار کاربران قرار میگیرند.
بدون معماری داده مناسب، سازمان با مشکلاتی مانند دادههای پراکنده، ناسازگار، غیرقابل دسترس و بیکیفیت مواجه میشود. معماری داده پایه و بنیان تمام پروژههای هوش مصنوعی و تحلیل داده است — زیرا بدون داده سازمانیافته و قابل اعتماد، هیچ مدل AI کارآمد نخواهد بود.
این مبحث در واقع «نقشه کلی» سیستم داده سازمان است و درک آن برای مباحث بعدی (انبار داده، دریاچه داده، حاکمیت داده و...) ضروری است.
۲. تعریف ساده
تعریف ساده: معماری داده یعنی نقشه و طراحی کلی اینکه دادههای سازمان از کجا جمعآوری، کجا ذخیره، چگونه پردازش و به چه کسانی ارائه شوند.
۳. تعریف تخصصی
تعریف تخصصی: معماری داده مجموعهای از مدلها، سیاستها، قوانین و استانداردها است که ساختار فیزیکی و منطقی دادهها، جریان داده (Data Flow)، یکپارچهسازی (Integration)، مدیریت و امنیت دادهها را در یک سازمان تعریف میکند. طبق چارچوب DAMA-DMBOK، معماری داده یکی از ۱۱ حوزه اصلی مدیریت داده محسوب میشود.
۴. مفاهیم کلیدی
۴.۱. اجزای اصلی معماری داده 🔴
| جزء | توضیح | مثال |
|---|---|---|
| منابع داده (Data Sources) | سیستمهایی که داده تولید میکنند | CRM، ERP، سنسورها، وب، شبکههای اجتماعی |
| جمعآوری و انتقال (Ingestion) | فرآیند واردکردن داده به سیستم | API، Streaming، Batch Import |
| ذخیرهسازی (Storage) | محل نگهداری داده | پایگاهداده، انبار داده، دریاچه داده |
| پردازش (Processing) | تبدیل و آمادهسازی داده | ETL/ELT، پردازش جریانی |
| تحلیل و مصرف (Analytics/Consumption) | استفاده از داده | داشبورد، گزارش، مدل ML |
| حاکمیت و امنیت (Governance & Security) | قوانین و سیاستها | کنترل دسترسی، کیفیت داده |
۴.۲. OLTP vs OLAP 🔴
| ویژگی | OLTP | OLAP |
|---|---|---|
| نام کامل | Online Transaction Processing | Online Analytical Processing |
| هدف | پردازش تراکنشهای روزمره | تحلیل و گزارشگیری |
| عملیات | INSERT, UPDATE, DELETE | SELECT (تحلیلی) |
| حجم کوئری | ساده و کوتاه | پیچیده و بلند |
| کاربر | کاربران عملیاتی | تحلیلگران و مدیران |
| طراحی | نرمالسازیشده (3NF) | غیرنرمال (Star/Snowflake) |
| مثال | سیستم بانکی، فروشگاه | انبار داده، BI |
| سرعت | سریع (تراکنشهای کوچک) | ممکن است کندتر (کوئریهای بزرگ) |
نکته کلیدی آزمون: OLTP = عملیاتی (تراکنش) | OLAP = تحلیلی (گزارش)
۴.۳. ETL vs ELT 🔴
| ویژگی | ETL | ELT |
|---|---|---|
| نام کامل | Extract, Transform, Load | Extract, Load, Transform |
| فرآیند | استخراج → تبدیل → بارگذاری | استخراج → بارگذاری → تبدیل |
| تبدیل کجا؟ | خارج از مقصد (Staging) | داخل مقصد (Data Lake/Warehouse) |
| مناسب برای | انبار داده سنتی | دریاچه داده، سیستمهای ابری |
| حجم داده | متوسط | بسیار بزرگ |
| سرعت | کندتر | سریعتر (تبدیل موازی) |
نکته آزمونی: در ETL ابتدا داده تمیز میشود سپس ذخیره. در ELT ابتدا همه داده ذخیره شده سپس در مقصد تبدیل میشود.
۴.۴. داده ساختاریافته vs نیمهساختاریافته vs بدون ساختار 🔴
| نوع | توضیح | مثال | ذخیرهسازی |
|---|---|---|---|
| ساختاریافته (Structured) | دارای ساختار مشخص (جدول/سطر/ستون) | پایگاهداده رابطهای، CSV | RDBMS |
| نیمهساختاریافته (Semi-structured) | ساختار دارد ولی در قالب جدولی نیست | JSON, XML, Log | NoSQL |
| بدون ساختار (Unstructured) | بدون ساختار مشخص | تصویر، ویدیو، متن آزاد، صوت | Object Storage, Data Lake |
نکته مهم: حدود ۸۰-۹۰٪ دادههای سازمانی بدون ساختار هستند. دریاچه داده برای مدیریت این نوع دادهها طراحی شده.
۴.۵. پایگاه داده رابطهای vs NoSQL 🔴
| ویژگی | SQL (رابطهای) | NoSQL |
|---|---|---|
| ساختار | جدولی با اسکیمای ثابت | انعطافپذیر (بدون اسکیمای ثابت) |
| زبان | SQL | متفاوت بر اساس نوع |
| مقیاسپذیری | عمودی (Scale Up) | افقی (Scale Out) |
| تراکنش | ACID (قوی) | BASE (سازگاری تدریجی) |
| مناسب برای | داده ساختاریافته، تراکنشها | داده بزرگ، متنوع، توزیعشده |
| مثال | MySQL, PostgreSQL, Oracle | MongoDB, Cassandra, Redis |
| انواع NoSQL | — | Document, Key-Value, Column, Graph |
۴.۶. ACID vs BASE 🟠
| خاصیت | ACID (رابطهای) | BASE (NoSQL) |
|---|---|---|
| A | Atomicity (اتمی بودن) | Basically Available |
| C | Consistency (سازگاری) | Soft State |
| I | Isolation (جداسازی) | Eventually Consistent |
| D | Durability (پایداری) | — |
| اولویت | سازگاری مطلق | دسترسپذیری و عملکرد |
۴.۷. قضیه CAP 🟠
در یک سیستم توزیعشده، فقط میتوان دو مورد از سه را تضمین کرد: - C (Consistency) — سازگاری: همه نودها داده یکسان دارند - A (Availability) — دسترسپذیری: سیستم همیشه پاسخ میدهد - P (Partition Tolerance) — تحمل پارتیشن: سیستم با قطع ارتباط بین نودها کار میکند
نکته: P تقریباً همیشه لازم است، پس انتخاب واقعی بین C و A است.
۵. چگونه کار میکند؟
جریان کلی داده در معماری سازمانی:
منابع داده (Sources)
├── پایگاهداده عملیاتی (OLTP)
├── فایلها و لاگها
├── API و وبسرویس
├── سنسورها و IoT
└── شبکههای اجتماعی
↓
جمعآوری / ETL / ELT
↓
ذخیرهسازی
├── انبار داده (Data Warehouse) → داده ساختاریافته و تمیز
├── دریاچه داده (Data Lake) → همه انواع داده (خام)
└── Data Lakehouse → ترکیب هر دو
↓
پردازش و تحلیل
├── داشبورد و BI
├── گزارشگیری
├── مدلهای ML/AI
└── تحلیل بلادرنگ
↓
مصرفکنندگان
├── مدیران ← تصمیمگیری
├── تحلیلگران ← بینش
├── سیستمهای AI ← پیشبینی
└── برنامهها ← خدمات
۶. مثال واقعی
معماری داده یک بانک بزرگ
منابع: سیستم Core Banking (OLTP)، ATM، موبایل بانک، وبسایت، شبکههای اجتماعی
جمعآوری: ETL شبانه از Core Banking + Streaming از تراکنشهای لحظهای
ذخیرهسازی: انبار داده برای گزارشهای مالی + دریاچه داده برای لاگها و دادههای بدون ساختار
تحلیل: داشبورد مدیریتی + مدل ML تشخیص تقلب + گزارشهای نظارتی بانک مرکزی
۷. مثال خیلی ساده
معماری داده مثل سیستم آبرسانی شهر است: - منابع آب = منابع داده (سد، چاه) - لولهکشی = ETL/ELT (انتقال) - مخزن اصلی = انبار داده / دریاچه داده (ذخیره) - تصفیهخانه = پاکسازی و تبدیل داده - شیر آب خانه = داشبورد و گزارش (مصرف)
۸. تفاوت مفاهیم مشابه
انبار داده vs دریاچه داده vs Data Lakehouse 🔴
| ویژگی | انبار داده (DW) | دریاچه داده (DL) | Data Lakehouse |
|---|---|---|---|
| نوع داده | ساختاریافته | همه انواع | همه انواع |
| کیفیت | تمیز و پردازششده | خام | خام + قابل پردازش |
| اسکیما | Schema-on-Write | Schema-on-Read | هر دو |
| هدف | گزارش و BI | تحلیل پیشرفته و ML | ترکیب BI + ML |
| هزینه | بالا | پایینتر | متوسط |
| مثال | Snowflake, Redshift | S3, ADLS | Databricks Lakehouse |
ارجاع: جزئیات بیشتر در مباحث ۲ (انبار داده) و ۳ (دریاچه داده).
۹. مزایا و محدودیتها
مزایا ✅
- یکپارچگی: دسترسی واحد به دادههای پراکنده
- کیفیت: بهبود کیفیت و سازگاری دادهها
- مقیاسپذیری: طراحی برای رشد آینده
- تصمیمگیری بهتر: دادههای قابل اعتماد = تصمیم بهتر
محدودیتها ⛔
- پیچیدگی: طراحی و پیادهسازی زمانبر
- هزینه اولیه: سرمایهگذاری قابل توجه
- مدیریت تغییر: نیاز به همکاری بین واحدهای سازمانی
- Legacy Systems: سیستمهای قدیمی ممکن است با معماری جدید سازگار نباشند
۱۰. کاربردهای مهم
| حوزه | کاربرد |
|---|---|
| بانکداری | یکپارچهسازی داده مشتری از کانالهای مختلف |
| سلامت | پرونده الکترونیک سلامت یکپارچه |
| تجارت الکترونیک | ۳۶۰ درجه مشتری |
| صنعت | جمعآوری داده سنسورها (IoT) |
| دولت | پلتفرم داده باز (Open Data) |
۱۱. دیدگاه مشاورهای
چه زمانی به معماری داده نیاز دارید؟
- وقتی دادهها در سیستمهای مختلف پراکنده هستند
- وقتی گزارشها ناسازگار هستند
- وقتی میخواهید پروژه AI/ML راهاندازی کنید
- وقتی نیاز به تحلیل بلادرنگ دارید
انتخاب بین SQL و NoSQL:
- داده ساختاریافته + تراکنش ACID → SQL
- داده متنوع + مقیاس افقی + انعطاف → NoSQL
۱۲. 🔴 نکات طلایی آزمون
- OLTP = عملیاتی (تراکنش) | OLAP = تحلیلی (گزارش)
- ETL: استخراج → تبدیل → بارگذاری | ELT: استخراج → بارگذاری → تبدیل
- ۸۰-۹۰٪ دادهها بدون ساختار: تصویر، ویدیو، متن آزاد
- SQL = ACID (سازگاری قوی) | NoSQL = BASE (سازگاری تدریجی)
- CAP: در سیستم توزیعشده فقط ۲ از ۳ (C, A, P) قابل تضمین
- Schema-on-Write = DW (نوشتن اسکیما هنگام ذخیره) | Schema-on-Read = DL (خواندن اسکیما هنگام استفاده)
- مقیاسپذیری: SQL = عمودی (Scale Up) | NoSQL = افقی (Scale Out)
- انواع NoSQL: Document, Key-Value, Column-Family, Graph
- Data Lakehouse: ترکیب مزایای DW و DL
- داده ساختاریافته → SQL/DW | بدون ساختار → NoSQL/DL
۱۳. ⚠️ دامهای رایج آزمون
دام ۱: «OLTP و OLAP یکی هستند.»
❌ OLTP = تراکنشهای عملیاتی (INSERT/UPDATE). OLAP = تحلیل و گزارش (SELECT پیچیده).دام ۲: «ETL و ELT تفاوتی ندارند.»
❌ تفاوت در محل تبدیل: ETL خارج از مقصد، ELT داخل مقصد.دام ۳: «NoSQL یعنی بدون SQL و بهتر از SQL.»
❌ NoSQL = Not Only SQL (فقط SQL نیست). هرکدام برای نیاز متفاوتی مناسباند.دام ۴: «قضیه CAP یعنی میتوان هر سه را همزمان داشت.»
❌ فقط ۲ از ۳ قابل تضمین است. P معمولاً ضروری است، پس انتخاب بین C و A.
۱۴. 🧠 خلاصه یکدقیقهای
اگر فقط یک دقیقه وقت داشتم...
- معماری داده = نقشه کلی جریان داده سازمان (جمعآوری → ذخیره → پردازش → مصرف)
- OLTP = عملیاتی/تراکنش | OLAP = تحلیلی/گزارش
- ETL = تبدیل قبل از بارگذاری | ELT = تبدیل بعد از بارگذاری
- ساختاریافته (جدول) | نیمهساختاریافته (JSON) | بدون ساختار (تصویر)
- SQL = ACID + عمودی | NoSQL = BASE + افقی
- CAP: فقط ۲ از ۳ (Consistency, Availability, Partition Tolerance)
- ۸۰-۹۰٪ دادهها بدون ساختار
- DW = ساختاریافته + تمیز | DL = همهچیز + خام | Lakehouse = ترکیب
۱۵. نقشه ذهنی
معماری داده (Data Architecture)
│
├── منابع → جمعآوری → ذخیره → پردازش → مصرف
│
├── انواع سیستم
│ ├── OLTP ← تراکنش عملیاتی
│ └── OLAP ← تحلیل و گزارش
│
├── انتقال داده
│ ├── ETL ← تبدیل قبل از بارگذاری
│ └── ELT ← تبدیل بعد از بارگذاری
│
├── انواع داده
│ ├── ساختاریافته (SQL, CSV)
│ ├── نیمهساختاریافته (JSON, XML)
│ └── بدون ساختار (Image, Video, Text)
│
├── پایگاه داده
│ ├── SQL (رابطهای) ← ACID, Scale Up
│ └── NoSQL ← BASE, Scale Out
│ ├── Document (MongoDB)
│ ├── Key-Value (Redis)
│ ├── Column (Cassandra)
│ └── Graph (Neo4j)
│
├── ذخیرهسازی
│ ├── Data Warehouse ← ساختاریافته
│ ├── Data Lake ← همهچیز (خام)
│ └── Data Lakehouse ← ترکیب
│
└── قوانین
├── ACID vs BASE
└── قضیه CAP (۲ از ۳)
۱۶. ارتباط با سایر مباحث
| مبحث مرتبط | نوع ارتباط |
|---|---|
| انبار داده (مبحث ۲) | یکی از اجزای اصلی معماری |
| دریاچه داده (مبحث ۳) | جزء دیگر معماری |
| کلان داده (مبحث ۴) | فناوریهای پیادهسازی |
| پردازش توزیعشده (مبحث ۵) | نحوه پردازش |
| حاکمیت داده (مبحث ۶) | سیاستها و قوانین |
| کیفیت داده (مبحث ۷) | تضمین کیفیت |
| ML/AI (فصل ۱) | مصرفکننده نهایی داده |
۱۷. سؤالات احتمالی آزمون
تفاوت اصلی OLTP و OLAP چیست؟
در فرآیند ETL، ترتیب مراحل چگونه است؟
کدام نوع داده بیشترین حجم دادههای سازمانی را تشکیل میدهد؟
قضیه CAP بیان میکند که در یک سیستم توزیعشده:
سازمانی دادههای متنوع (ساختاریافته، JSON، تصویر) با حجم بسیار بالا دارد و نیاز به مقیاسپذیری افقی دارد. کدام نوع پایگاه داده مناسبتر است؟
تفاوت ETL و ELT در چیست؟
۱۸. سطحبندی مطالب
🔴 سطح ۱ — ضروری:
- OLTP vs OLAP
- ETL vs ELT
- انواع داده: ساختاریافته / نیمهساختاریافته / بدون ساختار
- SQL vs NoSQL + ACID vs BASE
- اجزای معماری داده
🟠 سطح ۲ — مهم:
- قضیه CAP
- انواع NoSQL (Document, Key-Value, Column, Graph)
- Schema-on-Write vs Schema-on-Read
- Data Lakehouse
🟢 سطح ۳ — تکمیلی:
- ابزارهای خاص (Apache Kafka, Spark)
- معماری Lambda vs Kappa
- جزئیات DAMA-DMBOK
📚 مراجع و منابع علمی معتبر
منابع مرتبط با همین موضوع- Gartner
- Google Cloud
- O'Reilly