
با رشد سریع دادهها و نیاز شرکتها به بهینهسازی زیرساختهای پایگاه داده، معماری Multi‑Tenant در Oracle بهعنوان یک تحول جدی وارد میدان شد.
این معماری ابتدا با معرفی Oracle Database 12c پا به عرصه گذاشت و با فراهم کردن امکان مدیریت چند پایگاه داده مستقل (PDB) در بستر یک پایگاه داده مرکزی (CDB)، توانست هزینهها را کاهش دهد، امنیت را تقویت کند و بهرهوری تیمهای پایگاه داده را ارتقا دهد.
در این مقاله آموزش Oracle23ai در بخش آموزش معماری واراکل میخواهیم با این ویژگی جذاب بیشتر آشنا بشیم.
در اوراکل، در نسخه جدید Oracle 23ai این امکان و فابلیت Multi‑Row Insert به صورت پیشرفتهتری با سینتکس مشابه MySQL و PostgreSQL فراهم شده است.
پیشنهاد می کنم این مقاله زیر رو حتما مطالعه کنی.
در این مقاله شما می خوانید
ساختار معماری Multi‑Tenant
در این معماری، دو مؤلفه اصلی وجود دارد:
Container Database (CDB)
- پایگاه داده مادر و مرکزی که شامل متادیتا، کاربران عمومی و تنظیمات مشترک است.
- بخش Root (ریشه) را در خود دارد که تمام اطلاعات سیستم و مدیریت منابع را کنترل میکند.
Pluggable Database (PDB)
- پایگاههای داده مستقل که اسکیماها، جداول و دادههای خاص خود را دارند.
- امکان وصل یا جدا کردن (Plug/Unplug) در بین CDBهای مختلف وجود دارد.
نمونه ساختار:
CDB1 (Root)
├── PDB_Sales
├── PDB_HR
└── PDB_Analytics
مزایای معماری Multi‑Tenant
کاهش هزینههای سختافزاری و نرمافزاری
استفاده مشترک از منابع، نیاز به سرورهای متعدد را کم میکند.
بهرهوری بالاتر تیم DBA
مدیریت متمرکز برای بکاپ، بهروزرسانی و نظارت.
انتقال سریع پایگاههای داده
قابلیت Plug/Unplug، جابهجایی دادهها را بسیار ساده کرده است.
امنیت و جداسازی دادهها
هر PDB بهصورت ایزوله عمل میکند و دسترسیها بهطور کامل تفکیک میشوند.
ارتقاء یکباره و سریع
ارتقاء نسخه CDB باعث ارتقاء همزمان تمام PDBها با کمترین زمان توقف سرویس میشود.
چالش معماری Multi‑Tenant
سازگاری نسخهها
همه PDBها باید با نسخه CDB سازگار باشند.
مدیریت منابع مصرفی
نیاز به پیکربندی دقیق Resource Manager برای جلوگیری از فشار بیش از حد.
مشکل ابزارهای مانیتورینگ
برخی ابزارها هنوز پشتیبانی کامل از Multi‑Tenant ندارند.
ریسک امنیتی در Root
آسیب به بخش Root میتواند کل PDBها را تحت تأثیر قرار دهد.
کاربردهای عملی معماری Multi‑Tenant
- مدیریت محیطهای توسعه، تست و تولید روی یک سرور.
- سرویسهای SaaS که هر مشتری PDB مختص خود را دارد.
- ادغام سیستمهای قدیمی بر روی یک زیرساخت یکپارچه.
- تحلیل دادههای بزرگ با تفکیک بخشهای تحلیلی و عملیاتی.
مثال و دستورات SQL برای ایجاد CDB و PDB
ایجاد یک CDB و PDB
CREATE DATABASE cdb1
USER SYS IDENTIFIED BY Pass123
USER SYSTEM IDENTIFIED BY Pass123
ENABLE PLUGGABLE DATABASE;
CREATE PLUGGABLE DATABASE pdb_sales
ADMIN USER sales_admin IDENTIFIED BY Pass456
FILE_NAME_CONVERT=('/u01/app/oracle/oradata/cdb1/pdbseed/',
'/u01/app/oracle/oradata/cdb1/pdb_sales/');
تغییر کانتینر فعال (Switch PDB)
ALTER SESSION SET CONTAINER = pdb_sales;
Unplug و Plug یک PDB
ALTER PLUGGABLE DATABASE pdb_sales CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE pdb_sales UNPLUG INTO '/tmp/pdb_sales.xml';
CREATE PLUGGABLE DATABASE pdb_sales_copy
USING '/tmp/pdb_sales.xml'
FILE_NAME_CONVERT=('/u01/.../pdb_sales','/u01/.../pdb_sales_copy');
سوالات متداول درباره معماری Multi‑Tenant در اوراکل
Multi‑Tenant یک معماری پایگاه داده در Oracle است که امکان مدیریت چند پایگاه داده مستقل (PDB) را درون یک پایگاه داده مرکزی (CDB) فراهم میکند.
این معماری برای کاهش هزینه، بهبود مدیریت و افزایش امنیت طراحی شده است.
- CDB (Container Database) پایگاه مادر است که تنظیمات، کاربران عمومی و متادیتا را ذخیره میکند.
- PDB (Pluggable Database) پایگاه دادهای مستقل است که میتواند به یک CDB وصل یا جدا شود و دادهها و اسکیماهای مخصوص خود را دارد.
- کاهش تعداد سرورهای لازم
- مدیریت آسانتر برای تیم DBA
- توانایی انتقال سریع پایگاههای داده (Plug/Unplug)
- امنیت و ایزولهسازی دادهها
- ارتقاء سریع تمام پایگاههای زیرمجموعه
- همه PDBها باید با نسخه CDB سازگار باشند.
- نیاز به تنظیم دقیق Resource Manager برای مدیریت مصرف منابع.
- خطر امنیتی در صورت آسیبدیدن بخش Root.
- برخی ابزارهای مانیتورینگ ممکن است پشتیبانی کامل نداشته باشند.
جمعبندی
معماری Multi‑Tenant در Oracle با فراهم کردن ساختار CDB و PDB، کارایی، انعطافپذیری و امنیت را به سطح بالاتری برده است.
اگرچه چالشهایی مانند مدیریت منابع و امنیت Root وجود دارد، اما مزایای آن بهویژه در سازمانهای بزرگ و محیطهای ابری کاملاً ارزشمند است.
📥 اگر سوالی داری در مورد معماری Multi‑Tenant در اوراکل داری، در بخش کامنتها بپرس.
سؤالی درباره این مقاله داری؟
اگر نکتهای در این مقاله برات مبهم بود یا خواستی بیشتر بدونی، همین حالا برام بنویس تا دقیق و صمیمی پاسخت رو بدم — مثل یه گفتوگوی واقعی 💬
برو به صفحه پرسش و پاسخ
دیدگاهتان را بنویسید