پنجشنبه, ۶ اردیبهشت, ۱۴۰۳ / 25 April, 2024
مجله ویستا

Oracle Data Integrator در بوته آزمایش


Oracle Data Integrator در بوته آزمایش
اوراكل ، فنآوری Sunopsis ETL را كه در پائیز گذشته خریداری كرده ، طوری ارتقا داده است كه نیازهای SOA و مدیریت داده‌های اصلی و نیز نگهداری (Warehousing) داده‌ها و انتقال داده‌ها را نیز بر آورده كند . تسلط بر این ابزار آن قدرها آسان نیست. ولی برای سرمایه گذاری در زمینه ی آموزش ، گزینه ی خوبی است.
در ماه اكتبر گذشته ، اوراكل ، Sunopsis و محصول Active Integration Platform (AIP) آن را كه شامل زیر مجموعه‌ای از امكاناتی است كه به عنوان Data Conductor فروخته می‌شوند ، خریداری و در ماه اكتبر ، اولین نسخه ی ارتقا یافته ی این محصول ETL گرا [۱]را با امكانات پیشرفته یكپارچه‌سازی برنامه عرضه كرد . نام و نسخه ی این محصول تغییر یافت تا با خط تولید مدیریت داده‌های اوراكل سازگار باشد.
این محصول كه اكنون Oracle Data Integrator v ۱۰.۱.۳ (ODI) نامیده می شود ، معماری و كاركرد Sunopsis AIP را حفظ كرده و چند تغییر ارتقا دهنده ی درخور توجه نیز در آن داده است كه مهمترین آن ها ، بهبود قابلیت ادغام با برنامه‌های Service-Oriented Architecture (SOA) است . ODI ، تبادل اطلاعات بین برنامه‌ها را خودكار می‌كند . اوراكل این محصول را در چهار زمینه ی كلیدی ارتقا بخشیده است :
● نگهداری داده‌ها و هوش كسب و كار[۲] SOA Master Data Management (MDM) انتقال(Migration)
پس از كار با ODI در محیط آزمایش و گفت و گو با كاربران فراوان آخرین نسخه ی Sunopsis ، به این نتیجه رسیدیم كه ODI با معماری ساده ای که دارای حداقل نیازمندی سخت‌افزاری است ، به هر چهار نیاز به خوبی پاسخ می‌دهد . ابزارها و ساختار ODI ، مدیریت كردن آن را نسبتاً ساده می‌كند ، به ویژه وقتی كه افرادی از بخش های مختلف سازمان بخواهند در كل پروژه ، نقش داشته باشند.
در اینجا لازم است به دو مطلب توجه کرد : اول اینكه ، ODI برای تبدیل داده‌ها از رویكرد قوانین كسب و كار استفاده می‌كند. به این ترتیب كه شما ساختارها و قوانین تبدیل را تعریف می‌كنید و ODI ، كد لازم و مناسب برای فنآوری های داده‌ ای مبداء و مقصد را ایجاد می‌كند . دوم اینكه ، ODI به سرور میانجی نیاز ندارد و داده‌ها مستقیما بین سرورهای مبدا و مقصد جا به جا می‌شوند . این امر سبب حذف نیاز به حركت در شبكه برای داده‌ها می شود و نیز به فنآوری پایگاه داده ی سرور مبداء یا مقصد امكان می دهد که تبدیلات لازم را در مورد داده‌ها انجام دهد.
● نگاهی به معماری
برای سازگاری با دامنه ی وسیعی از سكوها ، قسمت عمده ی ODI با جاوا پیاده‌سازی شده است . ODI حاوی مؤلفه‌های زمان اجرا و زمان طراحی است كه از مجموعه ی مشتركی از مخزن های فراداده‌ای بهره می برند. چند میانجی و API از ادغام با برنامه های بیرونی از جمله برنامه‌های SOA و سیستم های سنتی زمان‌بندی كارها پشتیبانی می‌كنند.
ODI ، چندین میانجی كاربری اصلی دارد. میانجی Topology Manager برای تعریف فنآوری‌های دستیابی به داده‌ها و محل ذخیره‌سازی سطح بالای داده‌ها به صورت فیزیكی و منطقی (كه مبداء و مقصد جابه جایی و تبدیل داده‌ها در پروژه‌هایی كه ایجاد می‌كنید ، خواهند بود) به كار می‌رود .
هر فنآوری داده‌ای پشتیبانی شده (مثلاً پایگاه داده ، فایل معمولی ، فایل صفحه گسترده و ساختار داده XML) یك Knowledge Module (KM) از پیش برنامه‌ریزی شده مربوط به خود دارد . هر KM به همراه یك لایه ی اتصال مناسب مانند JDBC یا JMS ، كد لازم برای كار با آن فنآوری را ارائه می‌كند. ODI همچنین دارای SQL عام و JMS Knowledge Module است و API هایی دارد كه برای ایجاد Knowledge Module برای سرویس های داده‌ای و دیگر فنآوری‌های اختصاصی به كار می‌روند.
میانجی كاربری Designer كه برنامه‌نویسان و توسعه‌دهندگان ، بیشتر وقت خود را در آن صرف خواهند كرد ، برای ارائه ی اسكیمای[۳] تفصیلی و جریان داده‌هایی كه برای كار ارزش حیاتی دارند ، به كار می رود . در این میانجی، Model ها برای توصیف ساختار داده‌ها ، جدول ها ، ستون‌ها ، محدودیت ها و ... به كار می‌روند. Project (پروژه) برای توصیف چگونگی استفاده از این ساختار داده‌ها .
در یك پروژه ، یك Interface ایجاد می‌كنید تا برای توصیف چگونگی بارگذاری داده‌ها و تبدیل آن ها از یك یا چند مخزن ذخیره‌سازی داده‌ها در مبداء به یك مخزن ذخیره‌سازی در مقصد استفاده شود . از تركیب Interface ها و Procedure ها ، ابزارها و اشیای دیگر ، Package به دست می‌آید كه بزرگترین شیء قابل اجرای ODI است .پس از تكمیل این مراحل ، نسخه ی كامپایل شده Interface ها ، Procedure ها یا Package ها كه Scenario نام دارند در Repository ذخیره می‌شود.
Scenario ، واحدی است كه برای اجراء ، زمان‌بندی می‌شود . توانایی ایجاد چندین Context به شما امكان می‌دهد تا به سرعت ، Project ها و Scenario های خود را به مخزن داده‌های فیزیكی (مثلا بین مخزن داده ی ایجاد و توسعه و مخزن داده ی تولید) اختصاص دهید.
از میانجی كاربری Operator برای زمان‌بندی و مدیریت اجرای كارها استفاده می شود . میانجی كاربری Security ، كنترل تفكیك شده‌ای بر دستیابی اشخاص به یك پروژه و برای انجام كارهایی که مجاز به انجام آن هستند ، ارائه می كند . یك میانجی تحت وب سبك به نام Lightweight Designer به شما امكان می‌دهد تا بر اجرای كارها از راه دور نظارت کنید و برای اصلاح مشكلات عملیاتی ، اقدام‌های اولیه را انجام دهید.
● کار با ODI
پس از مدتی کار کردن با ODI ، چند موضوع برایم روشن شد . یكی از این مسائل آن بود كه به سرعت نمی‌توان بر این محصول تسلط پیدا كرد . ولی برای اهداف خاص پروژه و آموزش مقدماتی ، می توان آنچه را كه برای انجام كار لازم است ، یاد گرفت . فكر می‌كنم كه بیشتر برنامه‌نویسان در ظرف چند روز بتوانند با معماری و میانجی های كاربری ODI آشنا شوند و كار كنند. آن هایی كه سیستم های ETL را با استفاده از روشهای غیر سیستماتیک پیاده‌سازی كرده‌اند ، سطح جداسازی ODI را تحسین خواهند كرد . این سطح به شما امكان می‌دهد بدون اینكه زیاد نگران جزئیات برنامه‌نویسی باشید ، بر توصیف آنچه می‌خواهید انجام دهید ، تمركز كنید.
نصب ODI آسان است .
ODI برای آسان كردن منحنی یادگیری شما ، یك محیط آزمایشی با Test Repository و یك Demonstration Repository حاوی اشیای پایگاه داده‌ها و فایل های از پیش تعریف شده نصب می‌كند . یك اسكریپت Getting Started به من كمك كرد بفهمم كه چگونه با ODI كار كنم . دانش مقدماتی SQL نیز لازم است ، زیرا برای تعریف محدویت‌ها و تبدیل‌ها باید از دستورهای SQL استفاده كرد . امكانات اعتبارسنجی داده‌ها ، مجموعه ای از داده‌های غیر معتبر ایجاد می‌كند كه می‌توانید آن‌ها را تصحیح كنید و دوباره مورد استفاده قرار دهید . برای ایجاد Interface می‌توانید از كشیدن (drag) جدول های مبداء و مقصد از Model های خود استفاده كنید.
به این صورت ، ODI به شکل خودكار ، ستون‌های جدول های مبداء و مقصد را كه نام یكسانی دارند به یكدیگر نگاشت می‌كند و اعتبار دستورهای SQL شما را بر اساس سرور ، می سنجند . Expression Editor ، نمونه دستورهای SQL را ارائه می‌كند تا در نحو دستوری آن ها به شما كمك ، و تعریف تبدیل داده‌ها را آسان كند.
برگه Business Rules به افرادی كه از داده‌ها آگاهی دارند ، امكان می‌دهد تا تبدیلات ستون ها را تعریف كنند . یك ایجاد كننده SQL ، میانجی را تكمیل می‌كند .
قسمت عملیات ODI ، انعطاف زیادی دارد . بعد از اینكه عناصر پروژه را ایجاد كردید ، با كشیدن و رها كردن این عناصر می‌توانید آن ها را در یك Package با یكدیگر تركیب كنید . تصویر سمت چپ ، یك پكیج كامل را نشان می‌دهد كه دارای یك Procedure و چند Interface است كه ظرف چند دقیقه ایجاد شده‌اند. یك كلیك راست ، اولین مرحله را آغاز می‌كند . ابزارهای OK و Non-OK به شما امكان می‌دهند مشخص كنید كه در صورت موفقیت یا عدم موفقیت ، چه مرحله‌ای اجرا شود .
با Designer نیز می توانید یك پكیج را اجرا كنید. برای پیگیری روند پیشرفت آن می توانید به میانجی كاربری Operator بروید . همان طور كه در شكل نشان داده شده است ، Operator به شما امكان می‌دهد تا مراحلی را كه ODI برای هر Interface ایجاد كرده و نیز جزئیات خطاهائی را كه ممكن است رخ دهد ، مشاهده كنید.
مرحله ی بعدی این است كه Package را كامپایل ، و به یك Scenario تبدیل كنید. Scenario كه در یك Repository ذخیره می‌شود ، واحد اجرایی در محیط تولید است . Scenario را می‌توان برای اجرا زمان بندی كرد ، به Repository دیگری منتقل كرد ، از یك CLI عرضه شده و یا در Context های دیگر اجرا کرد تا بتواند با مخزن داده‌های فیزیكی مختلف كار كند.
با استفاده از یك Repository دست نخورده ، من خود یك برنامه ایجاد كردم ،جای داده‌ها را از یك SQL Server تغییر دادم و یك نسخه ی تغییر یافته از آن را با سه جدول ، روی یك SQL Server دیگر ایجاد كردم . برای انجام این كارها از مثال های اسكریپت دمو استفاده كردم . در پایان ، این برنامه به خوبی اجرا شد.
همچنین ODI را به طور كامل و روی سیستم ویندوز ۲۰۰۳ كاملاً خالی و تازه نصب كردم و با استفاده از مستندات ، یك Master Repository روی SQL Server ۲۰۰۵ ایجاد كردم . بدون استفاده از مستندات ، نمی‌توان خیلی پیش رفت . البته با اینكه مستندات سودمند بودند ولی به جزئیات نپرداخته بودند .
پیغام خطاهایی كه ODI ارائه می‌دهد ، مفیدند ولی در هنگام مشكل ، راه‌حل های خوبی ارائه نمی‌دهند.به طور كلی ، مستند سازی پروژه‌های عظیم ، یك ضرورت است . ODI ، مستندات پروژه‌ها و اجزای آن ها را به فرمت PDF و در چند سطح از نظر جزئیات ایجاد می‌كند . این روش خوبی برای مستند سازی وضعیت پروژه در زمانی خاص است .
Overstock.com ، كاربر Synopsis ، نیاز داشت كه یک سیستم گزارش‌گیری تقریباً بلادرنگ ایجاد كند تا جایگزین سیستم گزارش‌گیری برنامه‌های كاربردی فروش شود . Jack Garzella مدیر نگهداری داده‌ها می‌گوید:"یكی از دلایل اصلی كه ما Data conductor را به عنوان محصول اصلی خود انتخاب كردیم این است كه داخل پایگاه داده كار می‌كند و به سرور برنامه كاربردی[۴] یا دیسك اضافه نیاز ندارد ."
از جمله دلایل اصلی دیگر برای تصمیم Overstock.com برای استفاده از این محصول آن است كه كاربران جدید به راحتی می‌توانند به یك پروژه نگاه كنند و ببینند كه دیگران چه كاری انجام داده‌اند . زیرا ODI ، كد SQL لازم را ایجاد می‌كند . به علاوه ، ابزارهای موجود در Designer ، از كنترل تغییر و تجزیه و تحلیل تأثیر[۵] پشتیبانی می‌كنند و به شما نشان می‌دهند كه جدول ها و Inetrface ها كجا به كار می‌روند . Garzella می‌گوید:"ما بیش از چهارصد كار داریم كه برخی روزانه هستند و برخی به صورت پیوسته اجرا می‌شوند كه در مجموع ۹۰ هزار بار در روز اجرا می‌شوند. این محیط ، یك محیط بسیار با ثبات است . "
● حرف آخر
امكانات و قابلیت های بسیاری وجود دارد كه در اینجا مورد بحث قرار نداده‌ام ، از جمله تغییر در دستیابی به داده‌ها ، یكپارچه‌سازی سرویس های وب و نظارت بر رخدادها . برای یادگیری کار با این محصول نمی‌توانید تنها در میانجی های كاربری آن كاوش كنید . تعداد زیادی مستندات وجود دارد كه باید با آن ها آشنا شوید . من ODI را برای پروژه ی انتقالی كه فقط یك بار انجام می‌شود ، توصیه نمی‌كنم ، مگر اینكه افرادی داشته باشید كه به ODI تسلط کامل داشته باشند . در مجموع ، این محصول به همان شکل كه در مورد آن تبلیغ شده است ، كار می‌كند و من آن را به سازمان هایی كه نیازهای مستمر دارند و فكر می‌كنند كه نتایج دراز مدت ناشی از بهره‌وری ، ارزش سرمایه‌گذاری دارد ، توصیه می‌كنم .
ODI V ۱۰.۱.۳ برای پایگاه داده ی مقصد ، به ازای هر پردازنده ، ۱۲ هزار دلار و برای پایگاه داده ی مبداء ، به ازای هر پردازنده ، چهار صد دلار قیمت دارد .(برای منبع داده‌های مبتنی بر JMS (Java Message Service) یا فایلی ، مبلغی دریافت نمی‌شود.)
● موافقان
به شما امكان می‌دهد تا ساختار داده‌ها را مهندسی معكوس كنید و در سطح "قوانین كسب و كار " از انتزاع كار كنید تا به سرعت بتوانید پروژه‌ها را ایجاد كنید .
معماری ، مستقیماً و با استفاده از فنآوری ویژه ی آن در سرور مبداء و مقصد ، داده‌ها را از سرورهای مبداء به سرورهای مقصد منتقل می‌كند.
میانجی های كاربری گرافیكی و ارجاع مستقل( (cross-referencing به كاربران جدید كمك می كنند تا به سرعت بتوانند پروژه‌ها را از جایی كه دیگران آن را رها كرده‌اند ، ادامه دهند .
● مخالفان
تسلط واقعی بر این محصول ممكن است مانند هر ابزار بزرگ دیگری ، چند ماه طول بكشد .
با اینكه مستندات آن سودمندند ، در كلیه ی مراحل به شما كمك نمی‌كنند. بنابراین بکوشید در بخش آموزش سرمایه‌گذاری كنید.
نویسنده : John Green
مترجم : مهدی فلاح
[۱] ETL-oriented
[۲] Business Intelligence
[۳] Schema
[۴] Application server
[۵] Impact analysis
منبع : همکاران سیستم


همچنین مشاهده کنید