ORACLE
Oracle RAC چیست؟ معماری، مزایا و کاربردهای Real Application Clusters
مطلب حاضر به معرفی Oracle RAC میپردازد؛ فناوری که امکان اجرای پایگاه داده اوراکل بر روی چند سرور برای دسترسپذیری و مقیاسپذیری بالا را فراهم میکند. در این متن، معماری کلیدی، مزایا (مانند تحمل خطا و افزایش ظرفیت) و کاربردهای اصلی RAC شرح داده شده است.

مفهوم اصلی Oracle RAC
در هسته خود، Oracle RAC به چندین سرور مستقل (نود) اجازه میدهد تا به یک پایگاه داده Oracle واحد دسترسی پیدا کرده و روی آن کار کنند. به جای اینکه یک سرور میزبان پایگاه داده باشد، یک خوشه از سرورها همگی با هم کار میکنند و یک سیستم پایگاه داده یکپارچه را به برنامهها ارائه میدهند.
اجزای معماری کلیدی Oracle RAC
- نودها (Nodes): اینها سرورهای منفرد در خوشه RAC هستند. هر نود نمونه Oracle (SGA، فرآیندهای پسزمینه) خود را اجرا میکند، اما همه نمونهها به یک مجموعه از فایلهای پایگاه داده (فایلهای داده، فایلهای کنترل، لاگهای بازگردانی) که روی فضای ذخیرهسازی مشترک قرار دارند، دسترسی دارند.
- فضای ذخیرهسازی مشترک (Shared Storage): این یک جزء حیاتی است، که معمولاً یک شبکه ناحیه ذخیرهسازی (SAN) یا سیستم فایل شبکه (NFS) است و تمام فایلهای پایگاه داده را که توسط همه نودها در خوشه قابل دسترسی هستند، در خود جای میدهد. حفظ سازگاری در بین همه نمونههایی که به این فایلها دسترسی دارند، یک چالش کلیدی است که RAC آن را برطرف میکند.
- Interconnect خوشه (Cluster Interconnect): یک شبکه خصوصی با سرعت بالا که تمام نودها را در خوشه به هم متصل میکند. این Interconnect برای ارتباط بین نمونهها، انتقال بلوکهای داده بین حافظههای پنهان نمونههای مختلف (Cache Fusion) و حفظ انسجام خوشه بسیار مهم است. تأخیر کم و پهنای باند بالا برای عملکرد بهینه RAC ضروری است.
- Oracle Clusterware: این زیرساخت اساسی است که محیط RAC را مدیریت میکند. این موارد را فراهم میکند:
- Voting Disk: یک فایل مشترک (یا مجموعهای از فایلها) که برای تعیین عضویت در خوشه و جلوگیری از سناریوهای “split-brain” استفاده میشود.
- Oracle Cluster Registry (OCR): یک مخزن مشترک که اطلاعات پیکربندی مربوط به خوشه را ذخیره میکند.
- Cluster Synchronization Services (CSS): عضویت نود را مدیریت کرده و مکانیزمهای قفلگذاری را در خوشه فراهم میکند.
- Cluster Ready Services (CRS): دسترسپذیری بالای منابع را مدیریت میکند.
- Event Management (EVM): یک چارچوب برای اطلاعرسانی رویدادهای سراسری خوشه فراهم میکند.
- Global Cache Service (GCS) و Global Enqueue Service (GES): اینها فرآیندهای پسزمینه کلیدی هستند که دسترسی به داده و قفلگذاری را در بین نمونههای مختلف در خوشه RAC مدیریت میکنند. آنها اطمینان میدهند که همه نمونهها دیدگاه سازگاری از دادهها دارند، فرآیندی که به عنوان Cache Fusion شناخته میشود.
- Cache Fusion: هنگامی که یک نمونه به یک بلوک داده نیاز دارد که در حال حاضر در حافظه پنهان نمونه دیگری قرار دارد، GCS/GES انتقال آن بلوک را مستقیماً از طریق Interconnect تسهیل میکند.
- Single Client Access Name (SCAN): یک نام میزبان مجازی که مشتریان برای اتصال به پایگاه داده RAC از آن استفاده میکنند. SCAN تعادل بار و failover را فراهم میکند.
- سرویسها (Services): اینها انتزاعهای منطقی هستند که نشاندهنده حجم کاری پایگاه داده هستند و توسط Clusterware مدیریت میشوند.
چگونگی فراهم کردن دسترسپذیری بالا توسط Oracle RAC
- Failover نمونه (Instance Failover): در صورت خرابی یک نمونه، اتصالات به سایر نمونههای سالم منتقل میشوند.
- Failover نود (Node Failover): در صورت خرابی یک سرور، نمونههای آن روی سایر نودها مجدداً راهاندازی میشوند.
- ارتقاء و وصلههای Rolling (Rolling Upgrades and Patches): امکان اعمال تغییرات بدون قطعی سرویس فراهم است.
چگونگی فراهم کردن مقیاسپذیری توسط Oracle RAC
- مقیاسپذیری افقی (Horizontal Scalability): امکان افزودن نودهای بیشتر برای افزایش ظرفیت وجود دارد.
- تعادل بار (Load Balancing): SCAN و سرویسها به توزیع حجم کاری کمک میکنند.
موارد استفاده از Oracle RAC
- برنامههای کاربردی حیاتی
- سیستمهای OLTP با حجم تراکنش بالا
- انبار داده و تجزیه و تحلیل
- محیطهای ابری
نتیجهگیری
RAC یک فناوری پیچیده است، اما مزایای دسترسپذیری بالا، مقیاسپذیری و عملکردی که ارائه میدهد، آن را به یک انتخاب ارزشمند برای بسیاری از سازمانهایی که برنامههای کاربردی حیاتی و حجم کاری سنگین دارند، تبدیل میکند.