کتاب Data Engineering Design Patterns: Recipes for Solving the Most Common Data Engineering Problems (الگوهای طراحی مهندسی داده: دستورالعملهایی برای حل رایجترین مسائل مهندسی داده) یک منبع عملی و کاربردی برای مهندسان داده است که با ارائه الگوهای طراحی استاندارد و راه حلها، به آنها در مواجهه با چالشهای رایج در طراحی و ساخت سیستمهای داده کمک میکند.
کتاب Data Engineering Design Patterns به بررسی الگوهای مختلف در زمینههایی مانند یکپارچهسازی داده، پردازش داده، مدیریت کیفیت داده و معماری سیستمهای داده میپردازد و با ارائه مثالها و توضیحات روشن، به مهندسان داده امکان میدهد تا راه حلهای کارآمد، مقیاسپذیر و قابل نگهداری برای مشکلات پیچیده داده ایجاد کنند. این اثر به عنوان یک مجموعه دستورالعمل ارزشمند، به بهبود کیفیت و سرعت توسعه پروژههای مهندسی داده کمک میکند.
در ادامه مقدمهای از کتاب Data Engineering Design Patterns را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Data Engineering Design Patterns:
به عنوان یک مهندس داده که از دنیای مهندسی نرمافزار آمدهام، الگوهای طراحی همواره در طول مسیرم همراه من بودهاند. الگوی طراحی آداپتور به من کمک کرد تا یک بکاند با انتزاعات ورودی/خروجی قابل اتصال بنویسم، الگوی طراحی متد الگو به من اجازه داد تا یک منطق تجاری به راحتی قابل انطباق بنویسم، و به لطف الگوی طراحی بیلدر، توانستم یک لایه تست واحد به راحتی قابل نگهداری راهاندازی کنم. با در نظر گرفتن این تجربیات عالی، از همان روز اول ورودم به فضای مهندسی داده، به دنبال راه حلهای استاندارد مشابه بودهام.
با گذشت زمان، در هر پروژه جدید، چیزی را یافتم که شبیه پروژههای قبلی بود. با وصل کردن این نقاط، ابتدا فهرستی از الگوهای مهندسی داده برای خدمات ابری را تکمیل کردم. در این میان، با وجود کار بر روی حوزههای تجاری مختلف و با فناوریهای متفاوت، به غنیسازی فهرست الگوهای طراحی مهندسی داده خود ادامه دادهام.
به این ترتیب، تا تابستان 2023، به یک فهرست نسبتاً قوی از الگوهای طراحی مهندسی داده رسیدم که آن را در پیشنهاد این کتاب گنجاندم—که، از آنجایی که کتاب را در دست دارید، پذیرفته شد.
امیدوارم کتاب Data Engineering Design Patterns یک قطعه استانداردسازی گمشده را اضافه کند که هر مهندس داده بتواند برای شناسایی یک مشکل، راه حل آن و نقاط هشدار به آن تکیه کند، و همچنین امیدوارم به مهندسان داده کمک کند تا با ابزارهای مهندسی داده فردا کار کنند.
ساختار کتاب Data Engineering Design Patterns
این کتاب از گردش کار یک پروژه مهندسی داده کلاسیک پیروی میکند که با دریافت داده شروع شده و با نظارت روزانه به پایان میرسد. مراحل پروژه با فصلهای اصلی مطابقت دارند، بنابراین میتوانید به راحتی مرحلهای را که هر الگو در یک فصل به آن اعمال میشود، شناسایی کنید.
علاوه بر این، هر فصل دارای یک ساختار دو سطحی است که سطوح آن عبارتند از دستههای الگوی طراحی و خود الگوهای طراحی. چرا این سازماندهی دو سطحی؟ اول اینکه، یک مسئله مهندسی داده معین میتواند حداقل دو راه حل ممکن داشته باشد، و بدون داشتن این سطح اول از دستههای الگوی طراحی، گروهبندی منطقی آنها امکانپذیر نخواهد بود.
دوم اینکه، الگوهای طراحی مهندسی داده نامهای خاص خود را دارند که گاهی مرموز به نظر میرسند، و دستههای الگوی طراحی زمینه کاربردی بیشتری را فراهم میکنند که به شما کمک میکند بدون نیاز به ورود به جزئیات، بدانید کجا یک الگوی خاص را اعمال کنید.
در نهایت، برای هر الگو، زیربخشهای زیر را خواهید یافت:
مسئله
این زیربخش یک مثال واقعی از زمانی که میتوانید از الگو استفاده کنید ارائه میدهد.
راه حل
این زیربخش الگو را با جزئیات فنی بیشتری شرح میدهد. معمولاً با یک توضیح سطح بالا شروع شده و به دنبال آن مدل پیادهسازی فنی میآید.
پیامدها
الگوها دارای نقاط قوت و ضعف خود هستند، و این بخش توضیح میدهد که قبل از پیادهسازی آنها باید به چه نکاتی توجه کنید. در صورت امکان، هر نکته مهم با یک راه حل کاهشی تکمیل میشود.
مثالها
در این بخش پایانی، قطعه کدهایی را خواهید یافت که نحوه استفاده از الگو در ابزارهای مدرن مهندسی داده را توضیح میدهند. متأسفانه، از نظر فنی امکان اشتراکگذاری پیادهسازی الگو در تمام ابزارهای داده موجود وجود ندارد، بنابراین کتاب Data Engineering Design Patterns از پروژههای محبوب متن باز (Apache Spark، Apache Flink، Apache Airflow، PostgreSQL و Delta Lake) استفاده میکند.
گهگاه، پیادهسازی دامنه را به خدمات مدیریت شده در ابر عمومی گسترش میدهد. قطعه کدها به زبانهای پایتون، SQL و گاهی Scala یا Java نوشته شدهاند اگر پیادهسازی پایتون در دسترس نباشد.
در پایان کتاب Data Engineering Design Patterns، جدولی را خواهید یافت که تمام الگوهای شرح داده شده را خلاصه میکند. همچنین، این کتاب دارای یک مخزن GitHub است که شامل واژهنامهای از اصطلاحات است که باید تعاریف رایجترین مخففهای استفاده شده در کتاب را به شما ارائه دهد.
نحوه استفاده از کتاب Data Engineering Design Patterns
این بستگی به تجربه شما دارد. اگر تازه سفر مهندسی داده خود را شروع کردهاید، احتمالاً هنوز بیشتر مشکلات ارائه شده را ندیدهاید. در این صورت، خواندن این کتاب از ابتدا تا انتها رویکرد خوبی است.
از طرف دیگر، اگر تجربه قابل توجهی دارید و برخی از مشکلات برایتان آشنا به نظر میرسند، خواندن کتاب Data Engineering Design Patterns از ابتدا تا انتها ممکن است بهترین ایده نباشد. در عوض، میتوانید با انتخاب الگوهایی که قبلاً نشنیدهاید شروع کنید. برای تکمیل تصویر، میتوانید بعداً به الگوهایی که میشناسید برگردید و ببینید آیا آنها را به همان روش پیادهسازی کردهاید یا خیر.
همچنین، مهم نیست که سطح تجربه شما چقدر است، قطعه کدها به شما کمک میکنند تا تئوری را به عمل تبدیل کرده و درک بهتری از چگونگی پیادهسازی الگوها در پروژههای خود داشته باشید.
پس از خواندن کتاب و کار با قطعه کدها، میتوانید آن را یک کتاب مرجع در نظر بگیرید که تقریباً مانند یک کتاب آشپزی است که هر زمان با یک مشکل داده جدید برای حل روبرو شدید (و نه به دلیل دستور پخت فلان از فصل 1)، میتوانید به آن مراجعه کنید.
قبل از خواندن کتاب Data Engineering Design Patterns چه چیزهایی باید بدانم؟
اگر تازه وارد مهندسی داده شدهاید و هیچ تجربه تجاری ندارید، این کتاب منبع خوبی نخواهد بود. به نظر من، حداقل شش ماه تجربه تجاری در مهندسی داده باید به شما کمک کند تا ایدهها را راحتتر درک کنید. غیر از آن، حداقل دانش فنی مورد نیاز برای بهرهمندی حداکثری از این کتاب به شرح زیر است:
- آشنایی با مفاهیم مهندسی داده، مانند استخراج، تبدیل، بارگذاری (ETL)، استخراج، بارگذاری، تبدیل (ELT)، انبار داده، دریافت داده و هماهنگی داده.
- آگاهی از ابر. اگرچه این کتاب تمایل به استفاده از فناوریهای متن باز دارد، اما مکانهایی وجود دارد که فناوری ابری مناسبتر است (به عنوان مثال، امنیت داده). نیازی نیست که متخصص ابر باشید، اما حداقل باید بتوانید اصول اولیه، مانند اینکه یک سرویس مدیریت شده چیست، را درک کنید.
- تجربه عملی با منطق پردازش داده در Java، Scala، Python یا SQL. در حالت ایدهآل، شما قبلاً این منطق را در محیط تولید مستقر کردهاید.
اگر احساس میکنید در دانش موضوعات مورد نیاز شکافهایی وجود دارد، باید بتوانید به راحتی با خواندن کتاب “Fundamentals of Data Engineering” نوشته جو ریس و مت هاوسلی (O’Reilly، 2022) این شکافها را پر کنید. این کتاب یک نمای کلی جامع از فضای مهندسی داده ارائه میدهد که نه تنها به شما در درک محتوای این کتاب کمک میکند، بلکه شما را برای مقابله با چالشهایی که در کار روزمره خود با آن روبرو خواهید شد، بهتر آماده میکند.
سرفصلهای کتاب Data Engineering Design Patterns:
- Preface
- 1. Introducing Data Engineering Design Patterns
- 2. Data Ingestion Design Patterns
- 3. Error Management Design Patterns
- 4. Idempotency Design Patterns
- 5. Data Value Design Patterns
- 6. Data Flow Design Patterns
- 7. Data Security Design Patterns
- 8. Data Storage Design Patterns
- 9. Data Quality Design Patterns
- 10. Data Observability Design Patterns
- Afterword
- Appendix. Summary of Patterns
- Index
- About the Author
جهت دانلود کتاب Data Engineering Design Patterns میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.