دادهها همهچیزِ دنیای اینترنت هستند. هر نوع محتوایی که میبینید و مصرف میکنید نوعی داده محسوب میشوند. از صفحات یک سایت گرفته تا انواع و اقسام صوتها و ویدیوها . برای نگهداری و مدیریت این دادهها به دیتابیس یا پایگاه داده نیاز داریم و پایگاه داده اوراکل یکی از معروفترین آنها است.
یک انبار بزرگ را درنظر بگیرید که اجناس مختلف و زیادی در آن نگهداری میشوند. برای دسترسی به یک جنس بهخصوص، باید از انبارداری کمک بگیرید که ریزِ اطلاعات و محل قرارگیری هر جنس را بداند. انجام این کار فقط در صورتی ممکن است که انباردار از ابتدا در فرایند ذخیرهسازی اجناس مختلف دخیل باشد و جای هرکدام را بههمراه بهترین روش تحویل آن بلد باشد. این همان کاری است که پایگاه داده و نرمافزارهای مرتبط با آن انجام میدهند.
این مقاله مربوط به پایگاه داده اوراکل است. در ادامه راجع به ویژگیهای این دیتابیس و چگونگی بهبود عملکرد آن صحبت خواهیم کرد؛ اما قبل ار هرچیزی باید با تعریف پایگاه داده یا دیتابیس آشنا باشید.
پایگاه داده چیست؟
پایگاه داده یا دیتابیس، بهعنوان کلید حل مشکلات مربوط به مدیریت اطلاعات شناخته میشود. منظور از این عبارت، مجموعهای از طلاعات و دادهها است که با ساختاری مشخص، سازماندهی شدهاند! هدف دیتابیس نگهداری از اطلاعات و ارائه آنها هنگام نیاز است.
برای اینکه این مفهوم را بهتر درک کنید، یک دفترچه تلفن را درنظر بگیرید. از همانهایی که همه در خانههایمان داریم. حتی لیست مخاطبین موبایلتان هم کار را راه میاندازد. وقتی شماره تلفن فردی را بخواهید، فقط کافی است سراغ این دفترچه بروید و در بخش مربوطه دنبال اطلاعات موردنیازتان بگردید.
مثلاً برای پیدا کردن شماره ساسان، باید قسمت “س” دفترچه را باز کنید و شمارهای که میخواهید را بردارید. منظور از سازماندهی با ساختار مشخص، قرارگیری اسامی در قسمت حرف مربوطه است. همانطور که اسم ساسان در قسمت “س” قرار میگیرد، اسم پدرام هم در قسمت “پ” پیدا میشود.
خواندن مقاله پایگاه داده چیست در وبلاگ ما برای آشنایی کامل با این مفهوم بسیار کمکتان میکند.
اما این مقاله راجع به پایگاه داده اواکل است.
پایگاه داده اوراکل: غول بازار!
97 شرکت از ۱۰۰ تا کمپانی موجود در لیست برترین کمپانیهای مجله Fortune، از دیتابیس اوراکل استفاده میکنند! همین موضوع عظمت این کمپانی و سیستم پایگاه داده آن را نشان میدهد. دیتابیسها انواع مختلفی دارند و اوراکل همه آنها را به مشتریانش (بسته به نیازی که دارند) ارائه میکند.
نکته: برای مدیریت پایگاه داده، یک سیستم مدیریتی مخصوص لازم داریم. به این سیستم Database Management System میگویند؛ اما نه انقدر طولانی! نام اختصاری آن DBMS است.
به مجموعه دادهها و اطلاعات، DBMS و دیگر اپلیکیشنهای لازم برای اینکار، پایگاه داده میگویند.
همانطور که گفتیم، انواع مختلفی از پایگاههای داده وجود دارند. خب مسلماً یکی از آنها بهتر از بقیه است.
پایگاه داده رابطهای: Relational Database
مثال دفترچه تلفن را خاطرتان است؟ در دفترچه تلفن اطلاعات مختلف (اسامی و شمارهها) با یکدیگر در ارتباط هستند. فرض کنید در ۱۰ صفحه اول فقط اسامی نوشته شده باشند و در ۱۰ صفحه آخر شمارهها یادداشت شده باشند. بهنظرتان فایدهای دارد؟!! بعید میدانم!
پایگاه داده رابطهای یا همان Relational Database را میتوان بهترین نوع دیتابیسها دانست. اطلاعات در این مدل بهشکل جدول و همراه با ستون و ردیف مرتب شدهاند. این موضوع باعث میشود دسترسی به اطلاعات مختلف خیلی راحت ممکن شود.
سیستمی که برای مدیریت پایگاه داده رابطهای استفاده میشود، RDBMS نام دارد. این عبارت مخفف Relational Database Management System است.
نکته: زبان برنامهنویسیای که توسط بیشتر دیتابیسهای رابطهای – از جمله پایگاه داده اوراکل – مورد استفاده قرار میگیرد، SQL نام دارد.
بیایید برگردیم سراغ بحث اصلی و ببینیم ویژگیهای پایگاه داده Oracle چیست؟
تمام ویژگیهای پایگاه داده اوراکل
اگر اجازه دهید، بررسی ویژگیها را به دو بخش تقسیم کنیم. بخش اول مربوط به ویژگیهای کلی این دیتابیس است و بخش دوم راجع به ویژگیهای انحصاری آن. اول بخش اول!
ویژگیهای کلی پایگاه داده Oracle چیست؟
بدون معطلی برویم سراغ اصل مطلب:
- این دیتابیس کراس-پلتفرم است؛ یعنی روی پلتفرمهای مختلف قابل اجرا است و میتواند روی سختافزارها و سیستمعاملهای مختلف مثل ویندوز، یونیکس و توزیعات مختلف لینوکس مورد استفاده قرار گیرد.
- پایگاه داده اوراکل به پشتوانه ساختار شبکهای، امکان برقراری ارتباط بین اپلیکیشنهای مختلف از پلتفرمی دیگر را فراهم میکند. کمی پیچیده است! برای مثال اپلیکیشنی که روی ویندوز اجرا شده است، میتواند به پایگاه داده اوراکلی که روی لینوکس قرار دارد متصل شود.
- اوراکل همیشه آماده استقبال از تکنولوژیهای جدید است . دیتابیس این کمپانی جزو اولینهایی بود که از سیستمعامل لینوکس در آغاز عرضه (اوایل دهه ۹۰) پشتیبانی کرد.
- این دیتابیس با ACID سازگار است. به این ترتیب استفاده از اطلاعات بهصورت یکپارچه و مطمئن ممکن میشود.
ACID یعنی حضور همزمان چهار عنصر!
منظور از ACID چیست؟
حروف این عبارت از اولین حرف هر عنصر گرفته شده است:
- Atomicity: منظور این است که در فرایندهای نقلوانتقال در دیتابیس، دادهها به اجزای بسیار ریزی تبدیل میشوند تا انتقال راحتتر انجام شود.
- Consistency: این عبارت معنای ثبات را میدهد. برای اینکه یک دیتابیس کارش را انجام دهد، باید از یکسری قوانین مشخص پیروی کند. اگر نقلوانتقالی در دیتابیس انجام شود که تابع قوانین نباشد، کار به سرانجام نمیرسد.
- Isolation: منظور از Isolation در پایگاه داده، پردازش همزمان پروسهها بدون تاثیر یکی بر دیگری است.
- Durability: این قابلیت برای مقابله با مشکلات احتمالی مفید است. در دیتابیسهایی که دارای این قابلیت هستند، بعد از انجام هر عملیات انتقال، دادهها و اطلاعات ذخیره میشوند. بنابراین حتی اگر اتفاقاتی مانند قطع برق یا سیستم رخ دهد، مشکل خاصی به وجود نمیآید.
پس وقتی میگوییم پایگاده داده اوراکل، با ACID سازگار است، یعنی از هر ۴ قابلیت بالا بهره میبرد.
ویژگیهای ساختاری پایگاه داده Oracle چیست؟
اگر بگوییم یکی از اصلیترین دلایل محبوبیت و معروفیت این دیتابیس، ویژگیهای ساختاری آن هستند، بیراه نگفتهایم.
- ساختار منطقی دادهها: با داشتن این ویژگی، میتوانید بدون دانستن مکان فیزیکی داده با دیتابیس ارتباط برقرار کنید.
- پارتیشنبندی: این ویژگی کمک میکند جدولهای بزرگ – در پایگاه داده رابطهای – را به بخشهای کوچکتر تقسیم کنید و هر قسمت را در بخشی از هارد ذخیره کنید.
- کش مموری: این قابلیت باعث میشود بتوانید مقیاس یک پایگاه داده بسیار بزرگ را با حفظ سرعتعمل افزایش دهید.
- دیکشنری دادهها: با استفاده از این ویژگی که نوعی جدول داخلی است، اداره دیتابیس راحتتر از همیشه میشود.
- بکآپ و ریکاوری: داشتن این قابلیت برای دیتابیسها از واجبات است. پایگاه داده اوراکل هم با برخورداری از این ویژگی، از تمام اطلاعات و دادهها انواع بکآپها را میگیرد تا در صورت بروز مشکل بتواند بعداً آنها را ریکاوری کند. این کار توسط اپلیکیشنی قدرتمند با نام RMAN انجام میشود که مخفف Recovery Manager است.
- دستهبندی: این قابلیت اوراکل توسط اپلیکیشنی با نام RAC اجرا میشود. وظیفه این اپلیکیشن اطمینان از درستی عملکرد کل سیستم است. حتی در زمانی که یک یا چند سرور با مشکل مواجه شده باشند.
کمپانی اوراکل در ۳ پِلَن دیتا بیسهایش را به مشتریان ارائه میکند.
انواع مختلف پلنهای دیتابیس اوراکل
۳ پِلَن اصلی دیتابیسهای این کمپانی شناختهشده به شرح زیر هستند:
۱) نسخه مخصوص شرکتها (EE)
این پِلَن پرطرفدارترین و در عین حال گرانترین نسخه دیتابیس اوراکل است و ۳ ویژگی زیر را دارد:
- نداشتن محدودیت در تعداد CPUها.
- نبود محدودیت در اندازه مموری و دیتابیس.
- دارای ویژگیهای پریمیوم که در نسخههای دیگر دیده نمیشود.
۲) نسخه استاندارد (SE)
این پِلَن نسخه محدودشده از نسخه مخصوص شرکتها یا (EE) است. ۳ ویژگی زیر از خصوصیات این نسخه هستند:
- محدود شدن تعداد CPUهای مورد استفاده به ۴ عدد.
- نبود محدودیت در اندازه مموری و دیتابیس.
- دارای ویژگیهای بسیار، اما نه به اندازه نسخه EE.
۳) نسخه رایگان (XE)
این پِلَن بهصورت رایگان در اختیار مشتریان قرار میگیرد و در مقایسه با دو پِلَن قبلی محدودیتهای بیشتری دارد . به ویژگیهای این نسخه توجه کنید:
- محدود شدن تعداد CPUهای مورد استفاده به ۲ عدد.
- نهایت RAM قابل استفاده ۲ گیگابایت است و نهایتاً امکان ذخیرهسازی ۱۲ گیگابایت داده وجود دارد.
- دارای ویژگیهای بسیار محدود!
۳ راهحل برای بهبود عملکرد پایگاه داده اوراکل
اگر احساس میکنید دیتابیسی که از اوراکل تهیه کردهاید، کارایی لازم را ندارد، باید بدانید که تنها نیستید.
اگر بخواهیم وارد مباحث تخصصی بهینهسازی عملکرد دیتابیس Oracle شویم، بحث پیچیده و تخصصی میشود. به همین خاطر تصمیم گرفتیم ۳ راهحلی که میتوانند کمکحالتان باشند را معرفی کنیم.
۱) تنظیم کردن SQL ناکارآمد
سریعترین، مطمئنترین و موثرترین روش برای بهبود عملکرد دیتابیس Oracle چیست؟ قطعاً بهینهسازی SQL ناکارآمدی که در اپلیکیشنها استفاده میشود! همانطور که در ابتدای مقاله هم گفتیم، SQL زبان برنامهنویسیای است که برای برنامهریزی اپلیکیشنهای دیتابیسها – بهخصوص دیتابیسهای رابطهای – مورد استفاده قرار میگیرد.
به همین خاطر تنظیم و بهینهسازی SQL ناکارآمد – بهمنظور اجرای ایدئال پروسه جستوجو و بهبود عملکرد کلی پایگاه داده – یک راه فوقالعاده محسوب میشود.
مهمترین کاری که باید در این راستا انجام دهید، شناسایی و اندازهگیری درست ایرادات در عملکرد سیستم است.
بگذارید خیالتان را راحت کنیم. بهینهسازی بدون آگاهی از مشکل کار بیهوده و بیفایدهای است.
۲) بهبود عملکرد فضای ذخیره سازی
بعد از بهینهسازی تمام SQLهای موجود در سایت، میتوانید برای داشتن عملکردی بهتر سراغ فضای ذخیرهسازیای که دیتابیس روی آن قرار گرفته است بروید ؛ یعنی آن را هم بهینهسازی کنید. یک روش موثر و مقرونبهصرفه برای حذف موانعی که در عملکرد کل اختلال ایجاد میکنند.
برای انجام اینکار میتوانید از تکنولوژی Flash Storage استفاده کنید. (این تکنولوژی بهخاطر سرعت بالایی که دارد معروف است.) استفاده هدفمند از این تکنولوژی باعث میشود بدون نیاز به Refresh کردن تمام زیرساختها، بتوانید بهبود چشمگیری در عملکرد پایگاه داده اوراکل ایجاد کنید.
برای انجام این کار باید اجزای مشخصی از دیتابیس را در قسمتی از Flash Storage قرار دهید تا بهترین نتایج عملکردی را برای شما و سیستمتان رقم بزنند. اجازه دهید باقی اجزا در همان Storage قبلی باقی بمانند.
در اوراکل، فرایندهای ارزیابی و هر فرایند دیگری که نیازمند بررسی حجم زیادی از دادهها است، شدیداً تحت تاثیر عملکرد فضای ذخیرهسازی قرار دارد. منتقل کردن اجزای مرتبط اوراکل به Flash Storage یک راه مقرونبهصرفه برای افزایش سرعت در چنین فرایندهایی است.
نکته مهم: مشکلات عمکلردی Storage از یکسری رویکرد مشخص و هدفگذاریشده ناشی میشوند. به همین خاطر نیازی به انتقال تمام اجزای دیتابیس به فضای ذخیرهسازی جدید نیست. فقط اجزایی که به رویکردهای موثر ارتباط دارند را به Flash Storage منتقل کنید.
۳) تهیه زیرساخت اختصاصی برای پایگاه داده
شاید مشکل کلاً از جای دیگری باشد! ممکن است تمام تلاشهایی که برای بهینهسازی و تنظیم فرایندها انجام میدهید، هیچ فایدهای نداشته باشند. معمولاً این مشکل هنگام استفاده از زیرساخت اشتراکی خودش را نشان میدهد. در چنین مواقعی، بهترین راهحل سوا کردن و انتقال فرایندهای مختلف پایگاه داده اوراکل به یک زیرساخت اختصاصی است.
البته داشتن زیرساخت اختصاصی و بهرهمندی از پشتیبانیهای مربوط به آن، رایگان نیست! اما خب مزایایی که در ادامه به آنها اشاره میکنیم، این هزینهها را توجیه میکنند:
- شخص دیگری زیرساخت را با شما شریک نیست که بتواند روی سرعت پاسخگویی دیتابیس اثر بگذارد.
- بهبود عملکرد تمام فرایندهای پایگاه داده یا دیتابیس.
- کاهش اثر زیرساخت در فرایندها.
- ساده شدن مدیریت، رصد کردن و تامین امنیت.
عملیات عیبیابی در عمکلرد دیتابیسی که زیرساخت مشترک دارد، کاری زمانبر و دشوار است! از طرف دیگر، عملکرد مناسب، گنجایش بالا و امکان مقیاسپذیری از ویژگیهای اصلی پایگاه داده اوراکل محسوب میشوند. در کنار اینها باید به یکی از مهمترین مزایای پایگاه داده اوراکل اشاره کنیم: توانایی اندازهگیری، عیبیابی و بهینهسازی فرایندهای ضروری در یک محیط اختصاصی! به همین خاطر است که تهیه یک زیرساخت اختصاصی برای این دیتابیس، بهمقدار زیادی عملکرد کلی را بهبود میبخشد.
خوب است بدانید در بیشتر اوقات، عیبیابی در Oracle بسیار سریعتر از پلتفرمهای رقبایش انجام میشود. برای داشتن دیتابیسی مقیاسپذیر و منعطف، باید هزینه کنید؛ پس هنگام برآورد هزینهها، فراموش نکنید که هزینههای غیرمستقیم ناشی از عملکرد ضعیف سیستم را هم محاسبه کنید. شاید قانع شوید که تهیه زیرساخت اختصاصی در بلندمدت از نظر اقتصادی صرف بیشتری دارد.
اما یک سوال دیگر؛ استفاده از آخرین نسخه ارائهشده توسط اوراکل چقدر بر عملکرد نهایی سیستم تاثیرگذار است؟
آیا بهروزرسانی پایگاه داده اوراکل، عملکرد سیستم را بهبود میبخشد؟
در برخی موارد آپگرید کردن پایگاه داده اوراکل به آخرین نسخه، میتواند در عیبیابی و برطرف کردن مشکلات عملکردی موثر باشد . مثلاً با ارائه نسخه Oracle 12c، تغییرات قابلتوجهی در عملکرد SQLها و مدیریت برنامههای جستوجو بهوجود آمد. اگر بر استفاده از نسخههای قدیمی سماجت بهخرج دهید، دستتان برای عیبیابی و رفع مشکلات عملکردی هم بسته خواهد ماند . البته که آپگرید کردن هیچوقت بدون ریسک نیست، اما خب باعث میشود بهتر شدن عملکرد را در برخی موارد بهچشم ببینید!
حرف آخر
اوراکل بهعنوان معروفترین کمپانی ارائهدهنده خدمات پایگاه داده، پِلَنهای مختلفی را برای مشتریانش در نظر گرفته است. همانطور که در متن هم اشاره کردیم، یکی از دلایل محبوبیت و معروفیت دیتابیس اوراکل، ویژگیهای ساختاری آن است.
دیتابیسها انواع مختلفی دارند و Oracle هم بیشتر آنها را به مشتریانش ارائه میکند، اما پایگاه داده رابطهای را میتوان بهترین نوع دیتابیس دانست که تمرکز اصلی این کمپانی هم روی آن قرار دارد.
توصیه میکنیم مقاله نکات و اصول اولیه امنیت دیتابیسرا هم مطالعه کنید تا مبادا دادهها و اطلاعاتتان را از دست بدهید.
درضمن برای تهیه این مقاله از منابع زیر کمک گرفتهایم:
اگر نظر یا اطلاعات کاملکنندهای مربوط به پایگاه داده اوراکل دارید، در قسمت کامنتها منتظرتان هستیم :)