جلسه پانزدهم – 19/09/93 Partitioning Deployment Processing Security

جلسه پانزدهم – 19/09/93

سئوال من: چگونه می توان درصد مشتریان (یا فاکتورهای) خریدار گروه کالای دوچرخه با بدست آورد. به این نکته توجه کنید که ممکن است در یک فاکتور بیش از یک کالا از گروه دوچرخه وجود داشته باشد که در این روش محاسبه باید یکبار برای آن مشتری (یا فاکتور) محاسبه گردد. 

 

Deployment - استقرار

فرآیندی است که طی آن ساختارها و طراحی های انجام شده برروی یک سرور SSAS پیاده سازی می گردد.

مراحل استقرار :

  • عملیات Build/Rebuild

طی این فرآیند فایلی با ساختار XML و با پسوند .ASDatabase در شاخه BIN پروژهه ایجاد می شود که شامل ساختارها و طراحی های انجام شده است. بنابراین کاری که visual studio در build/Rebuild انجام می دهد صرفا تولید این فایل XML است.

در Build فقط تغییرات اضافه می شوند و در Rebuild فایل مذکور حذف و براساس ساختارها و طراحی انجام شده تولید می شود.

  • انجام Deploy

    • روش اول: از طریق VS

    • روش دوم: در Programs > SQL Server > Analysis Services و با استفاده از ابزار Deployment Wizard

      • معرفی فایل .ASDatabase

      • معرفی نام سرور و نام بانک اطلاعات مقصد

      • تنظیمات استقرار

        • Partition: محتویات چگونه تولید شود

        • Security: آیا لایه امنیت پیاده سازی شود

      • تنظیمات جزئی تر فرایند استقرار: مثل اطلاعات مربوط به اتصال به منابع داده (impersonation user)

      • تنظیمات پردازش پس از استقرار – Process

      • ایجاد فایل اجرایی استقرار با پسوند XMLA  (XML for analysis) – یادآوری: این فایل در محیط SSAS قابلیت اجرا دارد

    • روش سوم: اجرای XMLA تولید شده از مرحله قبل

      • اجرای دستی

      • از طریق SSIS و با استفاده از کامپوننت Analysis Services execute DDL Task

 

Processing - پردازش

فرآیندی است که طی آن داده های از انبار داده رابطه ای خوانده شده و به انبار داده چند بعدی منتقل می شود.

استفاده از Cube ها موجب:

  • افزایش سرعت اجرای Query ها می شود

  • افزایش سرعت پردازش می شود

    • توجه به Attribute Relationship مهم است

    • طراحی مهم است

    • روش پردازش مهم است (به طور نمونه تنها می توان تنها تغییرات را در مکعب اعمال نمود)

 

اشیاء قابل پردازش در SSAS

  • Database: با right click روی پروژه در VS و انتخاب Process

    • Full: تمام داده ها و جمع بندی ها (محاسبات از قبل انجام شده برای بالابردن سرعت Query ها) را پاک می کند و مجددا تمام داده ها را بارگذاری نموده و جمع بندی ها را محاسبه می کند.

    • Default: وضعیت هریک از اشیاء را بررسی می کند و برای هریک از اشیاء که لازم باشد پردازش Full انجام می دهد.

    • Clear: حذف تمام داده ها و جمع بندی ها – (یکی از موارد کاربرد آن آماده سازی بانک موجود در SSAS برای انتقال ساختار است)

  • Cube، Fact و Partition: می توان فقط Cube خاصی را پردازش کرد (سیاست تفکیک Cube ها و حوزه بندی آنها در اینجا به کار می آید)

    • به از مواردی که در database به آنها اشاره شد:

    • Data: حذف کلیه داده ها و بارگذاری مجحدد آنها. در این روش جمع بندی انجام نمی شود.

    • : Index حذف جمع بندی ها و محاسبه مجدد آنها

    • Add: افزودن داده های جدید و به روزرسانی جمع بندی ها

    • Structure: این مورد فقط مربوط به مکعب است و کاربرد آن صرفا در فرآیند Development (برنامه نویسی) است. این امکان تنها Cube را برچسب پردازش می­زند و بعد فقط partition مرتبط با آن را پردازش می کنیم (هدف: افزایش سرعت برنامه نویسی).

این پردازش موجب می شود که تمام اشیاء مکعب به عنوان پردازش ده معرفی شوند و بعد می توان فقط شی جزئی تر مکعب را پردازش کامل نمود.

  • : Dimension

    • به غیر تمامی مواردی که گفته شد:

    • Process Update: ایجاد تغییرات در داده های بعد مورد نظر و درصورت لزوم محاسبه جمع بندی های متصل به بعد مورد نظر

 

محیط های مختلف پردازش / ابزارهای پردازش

  • VS: در این محیط نمی توان FACT را پردازش جداگانه کرد

  • SSMS: پس از اتصال به SSAS از داخل  از داخل Management Studio و با right click بر روی بانک مرتبط

  • SSIS: یادآوری:

    • Analysis Services Processing Task

    • از DFT

      • Dimension Processing

      • Partition Processing

  • اجرای کد XMLA: با استفاده از ساختار SCRIPT ی تولید شده در SSMS

روش اجرا:

    • دستی

    • SSIS: Analysis Services Execute DDL Task

 

لایه امنیت:

مکانیزم تعریف امنیت در SSAS براساس تعریف نقش ها (roles) پیاده سازی شده است بطوریکه دسترسی ها به هر نقش اعطاء می شود و هر نقش می تواند دربرگیرنده تعدادی از کاربران یا گروه های کاربری باشد.

 

مراحل ساخت و تنظیم role:

  • General: تعیین نام و درصورت تمایل دسترسی های پیش فرض

    • Full Control: این دسترسی کامل بوده و برای تغییر ساختار لازم است. برنامه نویس باید این نوع دسترسی را داشته باشد.

    • Process DB: پردازش اشیاء

    • Read Partition: دسترسی مشاهده ساختار – این نوع دسترسی برای افرادی که تولید گزارش های سیستم را برعهده دارند مناسب است.

  • Membership: تعریف کاربران یا گروه های کاربری زیرمجموعه role مورد نظر

  • Data source: تعریف دسترسی به منابع داده پروژه

  • Cube: تعریف دسترسی به مکعب ها    (توجه: writeback امکانی که می توان مقادیر در مکعب را جایگزین کرد)

    • Drill through: امکان مشاهده ریز اطلاعات را می دهد (مثلا در اکسل)

    • Local cube (offline cube): برای آنکه فایل اکسل بتواند بدون اتصال به SSAS کار کند، امکان تولید offline cube از داخل اکسل و tools های مربوطه مقدور است.

    • Cell data: تعریف دسترسی به سلول های مکعب(به measure ها) – کاربرد: مثلا تعداد را ببیند ولی قیمت را نبیند

Not measures.currentMemeber is [measures].[price]

  • Dimensions Read definition  برای مشاهده ساختار است

  • Dimension Data: تعریف دسترسی به اعضای هریک از ویژگی ها ابعاد است.

درصورت انتخاب گزینه Enable Visual Totals، کاربر تنها جمع برای آن رکوردهای اطلاعاتی که دسترسی دارد را خواهید دید.

 

مفهوم Dynamic Security: آوردن کاربران در قالب پروژه، به این ترتیب که سطرهای  FACT باید کد کاربری نیز داشته باشند.

  • Mining Structures: تعریف دسترسی به ساختارها و مدل های داده کاوی است.

 

Partitioning – افراز

یک فضای فیزیکی واحد برروی هارد است که جهت نگهداری داده ها از آن استفاده می شود:

  • Cube

    • FACT

      •  - PARTITIONتوجه: هر یک از PARTITION ها صرفا مربوط به یک FACT است

      • PARTITION

      • PARTITION

    • FACT

    • FACT

مزایای Partitioning

  1. افزایش سرعت اجرای Query ها

  2. افزایش سرعت Processing

  3. امکان تنظیم زمانبندی های جداگانه برای پردازش هر Partition (مثلا فقط پردازش اطلاعات برای سال خاص)

  4. امکان قرارگیری هر Partition روی هاردهای مختلف

  5. امکان ساخت Aggrigation های خاص برای هر Partition به شکل جداگانه

توجه: انجام Partitioning جزو کارهای Administration است، بنابراین باید به شکل دوره ای مورد بازبینی قرار گیرد.

 

مراحل ساخت Partition:

  • Partition جاری و تنظیم آن

    • Binding Type: Query binding – اضافه کردن where

    • Partition name renaming

  • تولید Partition  های جدید

    • انتخاب جدول پایه مورد نظر

    • نوشتن Query دلخواه برای انتخاب بخشی از سطرها

    • انتخاب محل قرارگیری partition مورد نظر

    • تعیین نام برای partition و انتخاب چگونگی استقرار partition

چند نکته:

  • پس از اعمال partition بندی لازم است تمام partitionهای تغییر یافته بصورت  Full پردازش شوند

  • باید دقت شود که partitionهای ایجاد شده با هم تداخل نداشته باشند یا بین آنها فضای خالی وجود نداشته باشد.

  • Aggrigation بجای index مورد استفاده قرار می گیرد و برخی محاسبات از پیش انجام می شوند. اگر طراحی به خوبی انجام شده باشد نیازی به استفاده از آن نمی باشد.

 

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.