Artarad_Application_Container1

Application Containers در اوراکل ۱۲٫۲ بخش چهارم

مقدمه
در مقالات پیشین از سری مقالات Application Container، به معرفی ویژگی Application Container در معماری Multitenant اوراکل و نیز ایجاد Application Containerهایی نظیر Application Root، Application Seed PDB و Application PDB پرداختیم. در این مقاله، در مورد انواع اشیاء مشترک و اینکه چطور دیتای این اشیاء می تواند در میان Containerها در Application Container به اشتراک گذاشته شود بحث خواهیم کرد.

اشیاء مشترک برنامه

شئ مشترک برنامه، درواقع یک شئ ایجاد شده درون Application Root از یک Application Container می باشد، که با Application PDBهای درون این Container به اشتراک گذاشته می شود.
این اشیاء می توانند یکی از ویژگی های اشتراک گذاری زیر را داشته باشند:
-METADATA (مقدار پیشفرض): اشتراک گذاری Application PDBها، توسط Metadata link و فقط برای Metadata اشیائی که در Application Root ذخیره شده اند، انجام می شود. در این مورد دیتای موجود در Application Root و هریک از Application PDBها منحصربه فرد بوده و مختص همان Container می باشد. به عنوان مثال، یک شرکت می تواند از یک جدول Metadata-link برای ذخیره اطلاعات مشتری استفاده کند، بطوری که Application PDBهای دفاتر مختلف منطقه ای آن می توانند با استفاده از ساختار داده ای مشخص و مشابه، دیتاهای مشتری های خاص منطقه ی خود را ذخیره کنند.
-DATA: اشتراک گذاری Application PDBها، توسط Data Link، برای Metadata و Data انجام می شود. Metadata و data هر شئ در Application Root ذخیره شده است. برای مثال، یک شرکت می تواند از جدول data-link برای ذخیره سازی اطلاعات محصولات تولید شده توسط خود در Application PDBهای دفاتر مناطق مختلف استفاده کند تا اطلاعات تمام آن ها با هم سازگار باشد.
-EXTENDED DATA: اشتراک گذاری Application PDBها، توسط Extended Data Link، برای Metadata و Data اشیاء ذخیره شده در Application Root انجام می شود. با این تفاوت که هر Application PDB در Application Container می تواند دیتای خاص خود را ایجاد کند. بنابراین، فقط دیتاهایی که در Application Root ذخیره شده اند، برای همه ی Application PDBها مشترک است. برای مثال، یک برنامه فروش از یک کمپانی دارای PDBهایی برای دفاتر مناطق مختلف است، که می تواند با استفاده از جدول Extended Data-link اطلاعات مربوط به کدپستی مشتریان را ذخیره کند:
+کدپستی کشورهایی که دارای مشتریانی هستند که توسط همه دفاتر مناطق سرویس دهی شده اند، می‌تواند در Application Root ذخیره شود تا تمام Application PDBها بتوانند به آن دسترسی داشته باشند.
+کدپستی کشورهایی که دارای مشتریانی هستند که توسط دفتر منطقه ای خاص سروریس دهی شده است، می تواند فقط در Application PDB مربوطه و در شیء Extended data-link ذخیره شوند.
-NONE: اشیائ پایگاه‌داده به اشتراک گذاری نمی شوند و فقط در Application Root در دسترس می باشند.
مقادیر معتبر برای ویژگی SHARING برای انواع مختلف از اشیاء مشترک Application Root پایگاه‌داده را به شکل زیر می توان مشخص کرد:

Artarad_Application_Container

برای یک Metadata-link Sequence، اگر چه Metadata(برای مثال، مقدار شروع) برای هر Application PDB در Application Container یکسان است، مقدار Sequence برای هر Application PDB مشخص است. افزایش یک Sequence با استفاده از NEXTVAL در یک Application PDB روی مقادیر Sequenceها در دیگر Application PDBها تاثیر نمی گذارد.
برای یک Data-liked Sequence، Metadata و همچنین مقادیر آن توسط همه Application PDBها در Application Root به اشتراک گذاشته شده است. افزایش مقدار Sequence با استفاده از NEXTVAL در یک Application PDB باعث افزایش مقدار Sequence در دیگر Application PDB می باشد.

ایجاد اشیاء مشترک برنامه
اشیاء مشترک برنامه می تواند در یک Application Root به عنوان بخشی از نصب، آپگرید یا اعمال پچ ایجاد شوند.
ویژگی اشتراک گذاری برای یک شئ می تواند به روش‌های زیر مشخص شود:
-تنظیم پارامتر اولیه DEFUALT_SHARING برای Metadata، Data و Extended Data در Application Root
-استفاده از عبارت SHARING برای تنظیم این ویژگی در دستور CREATE
تغییرات در اشیاء مشترک برنامه، زمانی که Application PDB با Application Root همگام سازی می شوند در آن ها قابل مشاهده است.
سناریو پیش رو:
دراینجا، همانطور که نشان داده شده است، ما یک دیتابیس اوراکل CDB نسخه ۱۲٫۲ به نام orclcdb داریم. با یک Application Container با نام sales_app که برای برنامه فروش ایجاد کردیم، که اشیاء مشترک برنامه می توانند بین چهار Application PDB با نام های: North_app_pdb، South_app_pdb، East_app_pdb و West_app_pdb به اشتراک گذاشته می شود. اشیاء مشترک برنامه برای Sales_app در Application Root ذخیره شده اند. همچنین، ما یک Application Seed PDB با نام sales_app_roor$seed داریم.

Artarad_Application_Container1

ما در ادامه نشان خواهیم داد:
-ارتقا برنامه
-دستورات DML روی اشیاء مشترک برنامه
-اشتراک داده ها برای:

اشیاء Metadata Linked
اشیاء Data Linked
اشیاء Extended data Linked

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *