بخش های از فصل هشتم

 

انتقال داده به انبار داده

سه انتخاب اولیه برای انتقال داد‌ها به انبار داده وجود دارد:

  • انتقال با استفاده از فایل
  • انتقال به روش عملیاتی‌های توزیع شده
  • انتقال با استفاده از Tables pase‌های قابل انتقال

فایل‌ها

روش رایج انتقال داده‌ها به انبار داده استفاده از بوسیله انتقال فایل است. با استفاده از این روش مانند FTP یا سایر پروتکل‌های دسترسی به فایل داده‌ها بارگذاری یا Export می‌شوند و سپس به انبار داده منتقل می‌شودند. بدلیل اینکه سیستم‌های منبع و انبار داده غالباً از سیستم‌های عملیاتی متفاوتی استفاده می‌کنند استفاده از فایل‌ها یک راه ساده برای انتقال داده‌ها در میان سیستم‌های ناهمگون با حداقل تغییر شکل ممکن است حتی در مواقعی که سیستم‌ها همگون هستند، انتقال داده‌ها با استفاده از داده‌ها با استفاده از فایل‌ روش‌ موثرتری برای انتقال داده‌ها است.

عملیات توزیع شده

پرس‌وجوهای توزیع شده، می‌تواند مکانیزم موثری برای استخراج داده باشد با استفاده از این مکانیزم داده بصورت مستقیم به سیستم‌های هدف انتقال داده می‌شود، بنابراین هر دو گام استخراج و انتقال را در یک مرحله انجام می‌شود. بر عکس انتقال داده به روش فایل‌ موفقیت یا شکست انتقال بلافاصله با نتیجه پرس‌وجوها شناسایی می‌شود.

Table spaces های قابل انتقال

  • سریع‌ترین روش برای انتقال داده مابین پایگاه داده‌های اوراکل است.
  • گام‌های بارگذاری و بارگذاری مجدد را حذف می‌کند.
  • مکانیزمی برای انتقال داده همراه با اطلاعات پایه (Meta data) ارائه می‌دهد.
  • برای حرکت دادن داده در محیط‌های ذیل مفید است:
  • انتقال داده از پایگاه داده میانی (Stage) به انبار داده
  • انتقال داده از انبار داده به DM (Data mart) ها.

Table spaces قابل حمل سریع‌ترین روش برای روش برای انتقال حجم زیادی از داده‌ها در میان دو پایگاه داده اوراکل است. با استفاده از این روش، DF (Data File)ها (فایل‌های داده‌ای شامل جداول، ایندکس‌ها، و سایر اشیاء پایگاه داده اوراکل) می‌توانند بصورت مستقیم  به پایگاه داده هدف انتقال داده شده و بارگذاری شوند، همچنینtable spacesهای قابل حمل مکانیزمی برای انتقال اصلاعات پایه (Meta data) نیز ارائه می‌دهند.

نکته: برای استفاده از این قابلیت هر دو Table space باید از کارکترست یکسان استفاده کنند.

Table spacesهای قابل انتقال می‌توانند یک تکنیک با ارزش برای محیط‌های انبار داده باشند. معمولاً از Table spaceهای قابل انتقال برای انتقال داده‌ها از یک پایگاه داده موقت به انبار داده استفاده می‌شود همچنین برای انتقال داده از یک انبار داده به یک DM نیز می‌توان از این روش استفاده کرد.

 

تکنیکهای بارگذاری

  • ابزارهای ETL
  • ابزارهای مانند SQL*Loader
  • سرویس‌های ناهمگون ( HS، که به عنوان Gatewaysها شناخته می‌شود.)
  • برنامه‌های کپی کردن سفارشی سازی شده.
  • Replication
  • FTP
  • انتقال دستی

حال که متوجه شدید چطور داده‌های مورد نیاز برای به روزرسانی انبار داده را ایجاد کنید، باید به این نکته دقت کنید که چطور داده‌های فیزیکی را مابین سرورها حرکت داده و در سرور انبار داده بارگذاری کنید.

به برخی از تکنیکهای معمول که برای بارگذاری داده در انبار داده استفاده می‌شود در ذیل اشاره شده است:

  • ابزارهای ETL (مانند OWB یا ODI)
  • ابزارهایی که قابلیت انتقال داده را ارائه می‌دهند مانند SQL*Loader

نکته: سریع‌ترین روش برای بارگذاری حجم زیادی از داده به داخل انبار داده استفاده از ابزارهایی مانند SQL*Loader است که می‌تواند بصورت مستقیم به پایگاه داده دسترسی پیدا کرده و امکان استفاده از قابلیت‌های موازی کاری (Parallel) را دارد.

برنامه‌های انتقال داده که سفارشی‌سازی شده‌اند که ممکن است با زبان‌های C,C++,PL/SQL, FTP پیاده‌سازی شده باشند نیز می‌توانند برای انتقال داده استفاده شوند.

راه‌حل‌های زیر نیز برای انتقال داده

  • Replication
  • پروتکل انتقال فایل (FTP)
  • انتقال دستی و بارگذاری داده‌ها در محیط انبار داده.

نکات مربوط به تکنیکهای بارگذاری

  • بهتر است برای بارگذاری از ابزارها استفاده کنید.
  • ابزارهای انتقال داده، سریع و پر قدرت هستند.

استفاده از سرویس‌های ناهمگون برای موارد زیر مناسب است:

  • دسترسی به سایر پایگاه داده‌ها
  • ارائه DMهای وابسته
  • پشتیبانی از محیط‌های عملیاتی توزیع شده
  • امکان دسترسبه داده‌های انلاین در صورت نیاز
  • از برنامه‌های سفارشی‌سازی شده و به عنوان آخرین گزینه استفاده کنید.
  • Replication دارای محدودیت برای حجم داده منتقل شده می‌باشد.

ابزارهای ETL

ابزارهای ETL مانند OWB وODI معمولاً از تمام فازهای مربوط به ETL پشتیبانی می‌کنند که می‌توانند به خوبی داده‌ها را انتقال داده، استخراج کرده و تغییر شکل دهند.

ابزارهای جابجایی داده‌ها:

برای جابجایی داده‌ها اوراکل ابزار SQL* Loader را ارائه داده است که قابلیت اجرا شدن بصورت موازی (Parallel) را دارد، می‌توان تغییر شکل‌های محدودی مانند ترکیب کردن رکوردها و تغییر نوع داده‌ای را انجام داده SQL* Loader قابلیت بارگذاری حجم زیادی داده را در زمان کوتاهی دارد و شمامی‌توانید از آن برای اولین بارگذاری و به روزرسانی استفاده کنید.

 

ایندکس‌گذاری کردن و مرتب کردن داده

قبل از بارگذاری

  • با استفاده از ابزارهای مرتب‌سازی سیستم عامل داده را مرتب کنید.
  • در صورت امکان قبل از بارگذاری ایندکس ایجاد کنید.

در طول بارگذاری

  • در طول بارگذاری ایندکس ایجاد کنید.
  • این رویکرد زمان بارگذاری اولیه را افزایش می‌دهد.

بعد از بارگذاری

  • ایندکس را بعد از بارگذاری ایجاد کنید
  • این رویکرد سریع‌تر از رویکرد ایجاد ایندکس در طول فرآیند بارگذاری است.

قبل از بارگذاری:

مرتب کردن داده‌ها با استفاده از ابزاره مرتب‌سازی سیستم عامل قبل از بارگذاری امکان‌پذیر است، اینکار به ایندکس اجازه می‌دهد تا با استفاده از گزینه Nosort بعد از بارگذاری ایجاد شود، بنابراین ایجاد کردن ایندکس سریع‌تر خواهد بود.

همچنین می‌توانید برای جداول انبار داده بعد از تمیز کاری و تغییر شکل داده‌ها و بعد از بارگذاری ایندکس بسازید تا اینکه ایندکس را در طول زمان بارگذاری ایجاد و نگهداری کنید.

در طول بارگذاری

می‌توانید ایندکس را در زمان بارگذاری ایجاد کنید، این رویکرد (سطر- به- سطر) برای ایجاد ایندکس زمان بارگذاری را افزایش می‌دهد و در بیشتر مواقع زمان بارگذاری طولانی‌تر می‌شود، به همین دلیل انتخاب بعدی پیشهاد می‌شود.

 

بعد از بارگذاری

معمولاً ایندکس‌ها بعد از بارگذاری داده در انبار داده ایجاد می‌شوند. اینکار زمان بارگذاری را افزایش می‌دهد اما سرعت بیشتری در مقایسه با روش سطر- به- سطر دارد. ایجاد کردن ایندکس می‌تواند بصورت موازی (Parallel) انجام شود.

 

ایندکس‌های یکتا

  • محدودیت‌ها را از قبل بارگذاری غیر فعال کنید.
  • محدودیت‌ها را بعد از بارگذاری فعالی کنید.
  • اگر نیاز است ایندکس‌ها را دوباره ایجاد کنید.

اگر ایندکسی که ایجاد کرده‌اید یکتا است(اجبار می‌کند تا مقادیر تکراری نداشته باشند) معمولاً در زمان بارگذرای داده غیرفعال می‌شود پس از پردازش‌های بارگذاری دوباره فعال می‌شود.

نکته: اوراکل انواع متفاوتی از ایندکس‌ها را ارائه می‌دهد، که برای انبار داده مفید است: ایندکس‌های Bitmap، ایندکس‌های bitmap join و btree (درخت متوازن). همچنین اوراکل از ایندکس‌گذاری Bimap در جدول پارتیش شده پشتیبانی می‌کند.