ریشه هر اپلیکیشن و نرم افزار، داده است. ساختار نامناسب داده ها می تواند در طول زمان آنها را به یک پشته به هم ریخته تبدیل کند و موجب هرج و مرج در روند توسعه نرم افزار شما شود. آشنایی با معماری داده به رفع این مشکل کمک خواهد کرد.
تصویر(1)
برخلاف تصور عموم که معماران داده صرفاً روی پایگاه داده ها کار میکنند، این موضوع فراتر از ایجاد جداول در SQL می باشد. نقش معمار داده در فرآیند توسعه نرم افزار، تفسیر الزامات تجاری به استانداردها و اصول تعریف شده است. این مبحث شامل بررسی جزئیات مبهم و تبدیل آنها به اطلاعاتی است که از نظر منطقی قابل لمس باشد. این ساختار منطقی ملموس، اغلب خود را در قالب مشخصات فنی، مدلسازی ساختارهای داده، روابط، تعاملات و تداوم عملکرد در رابطه با الزامات تجاری، نشان میدهد.
تصویر(2)
هنگامی که توسعه دهندگان ساختار داده ها را به صورت موقت ایجاد می کنند، این موضوع می تواند در طول زمان منجر به یک ساختار ناپایدار شود. آشنایی با معماری داده کمک می کند با در نظر گرفتن نیازهای فعلی، مسیر داده ها را به گونه ای ایجاد نمایید که برای انجام اصلاحات، افزودن ویژگی ها و هر تغییر دیگری که ممکن است در ادامه رخ دهد، به اندازه کافی انعطاف پذیر باشد. این مورد، تعریف یک معمار داده به طور خلاصه است اما معماران داده دقیقا چه کاری انجام می دهند و چگونه می توانید به یکی از آنها تبدیل شوید؟
کار روزمره معمار داده و مهارت های مورد نیاز
در ظاهر، کار روزمره معمار داده همانند یک تحلیلگر داده خواهد بود. با این حال، وظایف معمار داده از نظر فنی بسیار پیشرفتهتر است و نیاز به دانش بالا در ساختار دادهها، سیستمها و معماری سازمانی دارند.
تجربه و دانش تحلیلگران، اغلب در طرف مقابل قرار دارد. وظایف روزانه آنها مربوط به برآورد هزینه، ایجاد پرونده های تجاری، مشاوره با سهامداران و مباحث مربوط به سطوح بالاتر مدیریتی می باشد که به بازاریابی و لایه های تجاری نزدیک تر است. وظایف معمار داده به لایههای توسعه نرمافزار نزدیکتر می باشد و در جایی که عملکرد فنی آنها به نرمافزار مرتبط می شود، بسیار ملموس تر است. خروجی یک تحلیلگر داده، نیاز به بررسی و تعاریف بیشتری دارد، در حالی که اطلاعات ارائه شده توسط معمار داده، گام نهایی و نه مرحله نهایی، در بخشهایی از فرآیند ایجاد نرمافزار است.
یک معمار داده می تواند روز خود را صرف سازماندهی، بازسازی و واکاوی داده ها در سطح کلان کند. این موضوع شامل سازماندهی مجدد یا ایجاد مدل های داده جدید برای یک اپلیکیشن و رسیدگی به نحوه استانداردسازی، به ارث بردن و استفاده از مدل های داده است.
تصویر(3)
در بیشتر موارد، معمار داده به صورت ترکیبی یا منحصراً با پایگاه داده های noSQL یا SQL سر و کار دارد و آنها را در قالب دادههای تصویری بزرگ نمایش می دهد. همچنین نیازهای ذینفعان مختلف را به صورت منسجم و ساختارمند، روی دادهها ارائه میکند.
برخلاف یک تحلیلگر، کدنویسی می تواند بخشی از کار معمار داده باشد. ماهیت عملی وظایف معمار داده به این صورت می باشد که ممکن است از آنها خواسته شود تا ساختارهای مختلفی را برای دادهها راهاندازی کنند و سیستمها را در AWS، Azure، Google Cloud و سایر ارائهدهندگان ابر یا سرور همان شرکت، پیادهسازی نمایند. پیادهسازی ابزارهای نظارتی، استانداردهای امنیتی و مخازن پشتیبانی از دادهها نیز ممکن است به آن اضافه شود. با این حال، همانند تحلیلگران، یک معمار داده میتواند در لایههای مختلف کسبوکار و ذینفعان بررسی انجام دهد تا آنچه که نیاز دارد را جمعآوری و در قالبی مناسب برای توسعه نرمافزار، تفسیر کند.
معماران داده باید دارای چه شرایطی باشند؟
هیچ گواهینامه استانداردی در حوزه آشنایی با معماری داده وجود ندارد. روش های ورود به این حیطه می تواند از طریق مدیریت پایگاه داده به همراه فعالیت مداوم در محیط هایی باشد که در آن مستقیماً به طراحی، توسعه، مدیریت و مدل سازی پایگاه داده می پردازید.
سایر مسیرها شامل معماری اپلیکیشن و مدیریت شبکه است. جهت فعالیت به عنوان "معمار داده"، احتمالاً به 3 تا 5 سال تجربه کاری عمومی نیاز خواهید داشت. زیرا یک معمار داده اغلب در سطوح ارشد قرار می گیرد و باید تجربیات شغلی زیادی داشته باشد تا به ترکیب نیازهای مختلف کسب و کار کمک کند.
یک معمار داده ممکن است لزوماً با فرآیند تولید نرم افزار مانند کدنویسی یا ایجاد زیرساخت، سر و کار نداشته باشد اما در دراز مدت بر نحوه پیاده سازی کد، تأثیر می گذارد. استخدام به عنوان معمار داده، بر اساس سطح دانش در کارهای مرتبط صورت می گیرد. با این حال، اگر به دنبال یک مدرک رسمی هستید، رشته های علوم تجزیه و تحلیل داده می توانند مفید باشند.
سیال بودن یک معمار داده
فعالیت به عنوان معمار داده، صرفا به داده و آشنایی با معماری داده مرتبط نمی شود. مهارت های مرتبط سازمانی نیز برای یک معمار داده تاثیرگذار و کارآمد، نیاز خواهد بود. علاوه بر این، مهارتهای فنی میتواند شامل پیشزمینه قوی در ریاضیات و آمار کاربردی، نمایش گرافیکی دادهها، انتقال دادهها، سیستمهای مدیریت پایگاه داده رابطهای، انواع دیگر پایگاه داده مانند noSQL، یادگیری ماشین و دانش دادهکاوی و ابزارهای مدلسازی مانند ERWin، Enterprise Architect و Visio باشد.
تصویر(4)
اکثر معماران داده به عنوان توسعه دهنده شروع به کار می کنند. بنابراین اغلب پیشینه خوبی در زبان های برنامه نویسی مانند پایتون، جاوا، خانواده زبان های C یا Perl دارند.
تصویر(5)
علاوه بر این، توانایی درک تجارت، مهارتی بسیار مهم برای معمار داده است. این بدان معنی خواهد بود که معمار داده می تواند در حیطه موردنظر تجربه داشته باشد. به عنوان مثال، داشتن تجربه بانکداری تجاری می تواند برای معمار داده ای که روی سیستم مالی کار می کند، سودمند باشد. کسب دانش در مورد صنعت، موضوعات روز و بهترین راهکارها، می تواند به یک معمار داده کمک کند تا شکل داده ها و نحوه استفاده احتمالی آنها توسط کاربران، توسعه دهندگان و ذینفعان مختلف را پیش بینی نماید.
جمع بندی: چگونه می توانید به یک معمار داده تبدیل شوید؟
هیچ مسیر مشخصی برای آشنایی با معماری داده و فعالیت به عنوان معمار داده وجود ندارد. برخی افراد صرفاً بر اساس تجربیات خود در زمینه داده ها و پایگاه داده ها، وارد این شغل می شوند. برخی دیگر نیز با کسب تجربه به عنوان یک توسعه دهنده متخصص در حوزه ساختاردهی داده، به آن روی می آورند.
اگر توسعهدهنده نرمافزار هستید، از تفاوتهای ظریف بین دادهها و اینکه ساختار آنها چگونه میتواند بر نحوه ایجاد یک نرمافزار تأثیر بگذارد، آگاه خواهید بود. زیرا به عنوان توسعه دهنده نرم افزار، مستقیماً با استفاده و تغییر داده ها سروکار دارید. درک نقاط ضعف میتواند برای یک معمار داده مفید باشد و به شما نگرشی در مورد جنبههای عملی دادهها و پیادهسازی آنها بدهد. از آنجایی که لایههای زیادی در توسعه نرمافزار وجود دارد، برای اینکه یک معمار داده باشید، باید منطق پیادهسازی کسب و کار را نیز بدانید. زیرا در همه اپلیکیشنها و نرمافزارها، دادههای ساختاریافته و بدون ساختار وجود دارند.