دوشنبه , 26 آذر 1397
خانه / دانش و فناوری / مقایسه فنی مهم‌ترین بانك‌های اطلاعاتی جهان؛ Oracle و SQL Server

مقایسه فنی مهم‌ترین بانك‌های اطلاعاتی جهان؛ Oracle و SQL Server

بیا تو مالزی -

شركت مایكروسافت مدعی است كه ابزارهای جدیدی برای مدیران بانك‌های اطلاعاتی یا همان DBAها در نسخه جدید SQL Server 2005 قرار داده است كه بسیار خوب توانسته است مشكلات نسخه قبلی آن را مرتفع نماید، اما جالب اینجا است كه همه امكاناتی كه SQL Server 2005 به تازگی برای DBAها فراهم كرده است، از نسخه Oracle 8i در نرم‌افزار اوراكل موجود بوده است…

درباره نصب این دو نرم‌افزار باید گفت كه نصب اوراكل از SQL Server هنوز بسیار مشكل‌تر است و كار كردن با آن سخت‌تر؛ و شاید این دلایل باعث می‌گردد برخی از برنامه‌نویسان به سمت SQL Server بروند. DBA شدن در بانك‌اطلاعاتی SQL Server كار سختی نیست. كافی است مدتی با آن نرم‌افزار كار كرده باشید، و چند ماهی تجربه داشته باشید. ولی DBA شدن حرفه‌ای در اوراكل كار بسیار دشواری است. 

با نگاهی به این دو بانك اطلاعاتی می‌توان به این نكته رسید كه درست است كه SQL Server 2005 بسیار كارآمد است و پیشرفت‌های زیادی نسبت به نسخه قبلی خود داشته است، اما در برنامه‌های پیچیده یا سیستم‌های ناهمگون، و اگر از پلتفرم‌های متفاوت استفاده شود،‌ نمی‌تواند جوابگوی نیازها باشد و در نتیجه اوراكل گزینه مناسب‌تری خواهد بود، ولی در صورتی كه با برنامه‌های كوچك و متوسط سروكار دارید، SQL Server می‌تواند راه‌حل خوبی باشد.

از لحاظ قیمت (البته نه در ایران كه اكثراً قانون كپی‌رایت را رعایت نمی‌كنند) قیمت SQL Server كمتر از اوراكل است و سرویس‌های ارائه شده توسط SQL Server را می‌توان در صورت لزوم خریداری نمود، ولی اوراكل تقریباً شما را از تمام چیزهایی كه در بانك‌های اطلاعاتی می‌خواهید، بی‌نیازمی‌نماید؛ البته بهای آن گران است.

مقدمه

بدون‌شك می‌توان گفت كه بانك‌های اطلاعاتی اوراكل و SQL Server، از مهم‌ترین بانك‌های اطلاعاتی امروز به شمار میآیند. این سؤال كه كدام یك از این دو از دیگری بهتر است، ممكن است فكر بسیاری از برنامه‌نویسان و شركت‌های تولید كننده نرم‌افزار را مشغول كرده باشد.

از طرفی مایكروسافت، به عنوان غول نرم‌افزاری ادعا می‌كند كه SQL Server از اوراكل‌ ساده‌تر و بهتر است. اوراكل هم از سوی دیگر می‌گوید محصول او از خیلی جهات بر SQL Server برتری دارد.

این مقاله سعی دارد به سؤالات شما در مورد تفاوت‌های فنی این دو بانك اطلاعاتی تا حدی جواب دهد.  در ابتدای این مقاله معماری این دو بانك اطلاعاتی با هم مقایسه می‌گردد، سپس كامپوننت‌های شبكه هر دو بانك اطلاعاتی با یكدیگر مقایسه می‌شوند.

در این مقاله امكانات مرتبط با كارایی پایگاه‌های اطلاعاتی‌ (Performance)، ابزار (Utility) و Replication در بانك‌های اطلاعاتی بسیار بزرگ یا همان VLDB یا Very Large Data Bases و OLTP یا Online Transaction Processing مورد بررسی قرار خواهند گرفت و ابزارهای جدید SQL Server 2005 كه در حقیقت سعی دارد با اوراكل رقابت كند، مورد بررسی قرار خواهند گرفت‌.‌

معماری بانك اطلاعاتی

در اوراكل هر دیتابیس شامل تمامی امكانات پایگاه رابطه Relational Database ،Instance (پروسه‌های پایگاه داده‌های اوراكل و بافرها، فایل‌های تنظیمی مانند config.ora و init.ora، لوگ‌های بازگشت به حالت قبلی یا Redo Logs؛ SYSTEM Teblespace و دیگر انتخاب‌های دلخواه است.

در نسخه جدید SQLServer، دیتابیس در واقع به گروهی از اسكیما (Schema)های پایگاه داده گفته می‌شود كه به صورت فیزیكی در فایل‌ها ذخیره می‌شوند. دیتابیس‌ها به دو صورت تعریف شده از طرف كاربر (user defined) و تعریف شده از طرف سیستم (system defined) تقسیم می‌شوند.

در SQL Server یك نمونه یا Instance می‌تواند چندین دیتابیس را پشتیبانی نماید و در هر كامپیوتر چندین Instance می‌تواند با هم كار كند.

وقتی SQL Server را راه‌اندازی می‌كنید، دیتابیس‌هایی همچون MD یا Msdb database، Model Database (برای پشتیبانی كردن Agentها) و Tempdb Database (پایگاه اطلاعات موقت مانند پایگاه موقت اوراكل OracleTemp Tablespace؛ البته با این تفاوت كه در SQL Server خود كاربران می‌توانند این پایگاه‌ها را درست كنند، ولی در اوراكل این امكان وجود ندارد)، به صورت پیش‌فرض ساخته می‌شوند.

در SQL Server برای این‌كه بتوانیم اطلاعات خود را به صورت فیزیكی غیرمتمركز (Distribute) نگه‌داریم، هر دیتابیس می‌تواند از چندین Filegroup پشتیبانی نماید. با این كار می‌توان به راحتی از اطلاعات كپی پشتیبان گرفت.  همان‌طور كه در شكل 1 مشاهده می‌كنید، در SQL Server، دیتابیس‌ها در واقع همان كار tabalespaceها در اوراكل را دارند. 

شکل 1

اگر به شكل 1 نگاه كنید، می‌بینید كه در هر دو بانك‌ اطلاعاتی، كاتالوگ سیستم وجود دارد. هر پایگاه اطلاعاتی یا دیتابیس در اوراكل یك سیستم كاتالوگ مركزی یا دیكشنری داده ‌‌(Data Dictionary) را در قسمت SYSTEM Tablespace اجرا می‌كند، ولی در SQL Server 2005 هر دیتابیس سیستم كاتالوگ خود را درست می‌كند.

این سیستم كاتالوگ اطلاعاتی همچون اشیای پایگاه داده (مانندTable ،View و Procedure)، اطلاعات كاربران و دسترسی‌های آن‌ها، Constraintsها، User-Defined data type و Snapshot definition را شامل می‌شود.

البته اطلاعاتی همچون اسامی دیتابیس‌ها، اطلاعات سرور، مدیریت پیغام‌ها و Stored Proceduresهای سیستم درMaster Database وجود دارند.

نكته اینجاست كه  SQL Server 2005 ،objectهای سیستم در این Master Database قرار نمی‌گیرند. این  آبجكت‌ها در دیتابیس‌های مخفی سیستم به نام resource database یا پایگاه اطلاعات منابع سیستم ذخیره می‌گردند.

در واقع‌ سیستم كاتالوگ‌ها در SQL Server 2005 منابعی هستند برای استخراج اطلاعات دیتابیس‌ها و این كاتالوگ‌ها را كاربران نیز می‌توانند مشاهده كنند.

برای حصول اطمینان از كارایی و سلامت سرور در DMV، SQL Server 2005 یا Dynamic Management Views استفاده می‌شوند؛ درست شبیه اوراكل كه از viewهای $ V برای كنترل كارایی استفاده می كند.

اجزای تنظیم كننده شبكه

شکل 2

شكل 2 ساختار اجزای تنظیم كننده شبكه در این بانك‌های اطلاعاتی را نشان می‌دهد. در اوراكل  كامپوننتی به نام Oracle Net Service وجود دارد كه عامل ارتباطی سرور اوراكل با كلاینت‌های آن است.

اوراكل این كار را با استفاده از پروتوكل TNS یا Transparent Network Substare انجام می‌دهد، اما در SQL Server این كار توسط پروتكل‌های شبكه موجود در كلاینت و سرور انجام می‌گیرد.

البته در  SQL Server 2005  فناوری جدیدی به نام SNAC یا SQL Server Native Client، معرفی گردیده كه در واقع تركیبی است از ODBC و OLEDB در یك تابع كتابخانه‌ای. SNAC توانایی پشتیبانی TDS یا Tabular Data Stream و Net Lib را برای پروتكل‌های گوناگون در SQL Server دارد.

ساختار فیزیكی و منظقی ذخیره اطلاعات

شكل 3 نگاهی مقایسه‌ای دارد به دو بانك اطلاعاتی اوراكل و SQL Server از لحاظ ساختار اطلاعاتی. همان طور كه در این شكل می‌بینید، در SQL Server اندازه صفحات (8kb، (page size است كه واحد پایه ورودی/ خروجی به شمار می‌رود.

هر صفحه فقط متعلق به یك آبجكت، مانند data ،index ،GAM  و.. است. SQL Server برای افزایش كارایی این صفحات آن‌ها را در دسته‌های هشت‌تایی قرار می‌دهد كه به آن Extent می‌گوییم. این Extentها می‌توانند به چند آبجكت متفاوت تعلق داشته باشند.

شکل 3

هر Extent  كه تمام صفحاتش آبجكت‌های مانند هم داشته باشد Uniform نامیده می‌شود و به Extentهایی كه آبجكت‌های یكسانی ندارند، Mixed می‌گویند.

SQL Server در دیتابیس‌های خود از Filegroupها استفاده می‌كند تا كنترل فضاهای فیزیكی جداول و ایندكس‌ها را در اختیار كامل داشته باشد. این Filegroupها از یك یا چند فایل تشكیل شده‌اند و اطلاعات موجود در آن می‌تواند در تمام فایل‌های آن Filegroup ذخیره شود.

با استفاده از Filegroup می‌توان جداول بزرگ را در چند فایل ذخیره نمود و از این طریق كارایی ورودی/ خروجی را بالا برد، می‌توان عملیات كپی پشتیبان و بازآوری جداول را انجام داد و داده‌هایی مانند تصویرو فایل‌های متنی بزرگ را در فایل‌های جدا ذخیره نمود.

برخلاف SQL Server، بانك اطلاعات اوراكل از Tablespaceهایی تشكیل شده است كه خود از Data File تشكیل شده‌اند. این Data Fileها در واحدهایی به نام Block طبقه‌بندی می‌شوند كه مدیر بانك اطلاعاتی (DBA) می‌تواند اندازه آن را وقتی كه در حال ساخت دیتابیس است تعیین كند. برخلاف SQL Server، در اوراكل وقتی یك شیء در Tablespace تولید می‌شود، كاربر می‌تواند فضای آن را مشخص كند.

مقایسه SQL Server 2005 و Oracle 10g 

اگر چه SQL Server 2000 یكی از قوی‌ترین بانك‌های اطلاعاتی است و خیلی از شركت‌ها و سازمان‌های بزرگ امروزه از آن به عنوان پایگاه داده‌های خود استفاده می‌كنند، چند محدودیت هم دارد. یكی از محدودیت‌های SQL Server 2000 در طریقه قفل كردن یا Locking Strategy است.

در MS SQL 2000 مانند اوراكل می‌توان دسترسی همزمان به پایگاه را محدود كرد و آن را به اصطلاح قفل نمود.  ولی در MS SQL 2000 امكان Deadlock خیلی زیاد است؛ مخصوصاً در CTF یا Correct Transactional Flows.
 
از طرف دیگر، اعمال تغییر در بانك‌های  اطلاعاتی  به صورت آنلاین یكی دیگر از محدودیت‌های آن است. البته با استفاده از DBCC INDEXDEFRAG در SQL Server 2000 می‌توان قسمتی از ایندكس‌ها را به صورت آنلاین تغییر داد، ولی نه به صورت كامل.

(البته  این مشكل در  SQL Server 2005 تا حدی حل شده است). در اوراكل از نسخه 1/8 تا به حال، امكان تغییر و جابه‌جایی جداول و ایندكس‌ها وجود دارد؛ بدون این‌كه به exclusive lock نیاز داشته باشیم. البته ناگفته نماند كه نسخه‌های 2/9 اوراكل در این قسمت دارای اشكالات و باگ‌هایی نیز بوده‌اند، ولی این اشكالات در نسخه آخر اواركل برطرف شده است.

در ادامه، ساختار و امكانات هر دو بانك‌اطلاعاتی Oracle 10g و SQL Server 2005 با یكدیگر مقایسه می‌گردند.

مدیریت بانك اطلاعاتی‌

SQL Server 2005 مانند دیگر محصولات مایكروسافت قسمت مدیریت ساده و شكیلی دارد كه می‌توان با آن به راحتی كار كرد و با استفاده از خط دستور در SQLCMD، ابزار مدیریتی DAC یا‌ Dedicated Administrator Connection را اجرا نمود. همچنین می‌توان از قابلیت Policyها برای كاربران و صاحبان بانك‌های اطلاعاتی استفاده نمود.

گذشته از پیچیدگی‌های موجود در اوراكل، قابلیت‌های مدیریتی آن بسیار بیشتر از MS SQL است. اوراكل سیستم رمزدهی بسیار قدرتمندی دارد كه از نسخه 7 به بعد همراه آن بوده است. در اوراكل می‌توان امكان ارتباط با User و سپس با Schema خاص را به راحتی امكانپذیر نمود.

مثلاً  فرض كنید كه با كاربر Sys2 به اوراكل متصل هستید و می‌خواهید روی DB2 Schema  كار كنید. كافی است دستور زیر را وارد كنید:
                                                                               ;ALTER SESSION SET CURRENT_SCHEMA=DB2

سیستم LOCKING

یكی از قابلیت‌هایی كه در نسخه جدید SQL Server به آن اضافه شده است، قابلیت SI یا Snapshot Isolation است كه در حقیقت قابلیت نسخه‌برداری از ردیف (row)های جداول است. با این كار در موقع بروزآوری جداول، امكان انتخاب همزمان اطلاعات آن جدول نیز وجود دارد.

در اوراكل چیزی شبیه این مكانیزم وجود دارد كه به آن Oracle Flashback Query می‌گویند. البته بین این دو مكانیزم تفاوت‌هایی نیز وجود دارد: اوراكل از Undo Segment برای برگشت به ركورد قبلی استفاده می‌كند. در صورتی كه SQL Server 2005 از TempDB استفاده می‌كند.

MetaData در اوراكل مانند جداول مدیریت می‌گردد. در نتیجه در زمان اجرای درخواست‌ها چند DDL یا Data Definition language می‌توانند به صورت همزمان به فعالیت مشغول باشند، ولی در SQL Server 2005، فعالیت DLLها مستقیماً روی جداول انجام می‌پذیرد.

در اوراكل عملیات Locking در DB Block انجام می‌پذیرد، ولی در SQL Server این كار در هر ردیف جدول انجام می‌شود. البته مایكروسافت ادعا می‌كند كه این كار باعث افزایش سرعت و كارایی جداول می‌گردد، ولی وقتی سرعت و كارایی آن را با اواركل مقایسه می‌كنیم، می‌بینیم كه هر دو  از كارایی یكسانی برخوردارند.

تغییر ساختاری  آنلاین

همان‌طور كه قبلاً بحث شد، قبل از نسخه جدید SQL Server 2005 تنها از طریق DBCC Indexdefrag می‌توانستیم مثلاً ایندكس را عوض كنیم (البته باید ازExclusive lock  استفاده می‌كردیم)، ولی اكنون این مشكل حل شده است و می‌توان همزمان با بازسازی چند ‌DDL را نیز اجرا نمود.

در اوراكل می‌توان حتی تمام ساختار جداول و ایندكس‌ها را بدون Exclusive lock تغییرداد. البته برای اتمام عملیات باید از Momentary lock استفاده شود.

Partitioning و Clustering 

نسخه جدید SQL Server به تازگی قابلیت جداسازی فیزیكی جداول و ایندكس‌ها را پیدا كرده است. در اوراكل قابلیت Partitioning به چند صورت امكانپذیر است و DBA می‌تواند بر اساس range ،list و hash این كار را انجام دهد.

حتی می‌توان این كار را در دو رده انجام داد. مثلاً می‌توانیم جدولی را به دو قسمت براساس list جداسازی كنیم و هر كدام از قسمت‌ها را بر اساس hash دوباره جداسازی نماییم. این قابلیت اوراكل را می‌توان در جداولی كه ركوردهای زیادی دارند، به كار برد. البته این قابلیت در SQL Server 2005 وجود ندارد، ولی می‌توان آن را شبیه‌سازی نمود.

SQL Server 2005 در Partitioning از قابلیتی مانند اوراكل برخوردار نیست. با این حال راه‌حل ساده‌تری را ارائه می‌كند. در SQL Server 2005 می‌توان با استفاده از UDF یا User Defined function این كار را انجام داد.

در مورد Clustering ،SQL Server 2005 پشتیبانی خوبی دارد، ولی طراحی و مدیریت این كار سخت است و كارایی زیادی نیز ندارد. از طرف دیگر اواركل RAC/GRID را در نسخه 10g ارائه كرده است كه می‌توان از آن به عنوان امتیازی مسلم در مقابل SQL Server 2005 نام برد. اوراكل همچنین از سیستمی جدید به نام ASM یا Automatic Storage Management استفاده می‌كند كه در Clustering مورد استفاده قرار می‌گیرد.

ایندكس و Tuning

ساختار مرتب‌سازی و ایندكس در SQL Server 2005 هنوز بر اساس BTree است و در مقابل indexing قدرتمند در اوراكل ساختاری نسبتاً دارد. اوراكل هم از BTree استفاده می‌كند، ولی از سیستم indexing به نام Bitmap نیز هم استفاده می‌كند كه در جست‌وجوی ستون‌هایی با انتخاب كم بسیار خوب عمل می‌كند.

اضافه بر این اوراكل از Oracle key based cluster نیز در ایندكس استفاده می‌كند كه كارایی بانك‌اطلاعاتی در انتخاب ركوردهایی انتخابی از چند جدول مرتبط با هم با ستون‌های مشابه را بالا می‌برد.

در اواكل و SQL Server هر دو می‌توان برای Functionهایی كه روی ستون‌های جدول است، ایندكس درست كرد و در هر دوی آن‌ها می‌توان MV یا Materialized view تهیه نمود. MVها در حقیقت viewهای آماده هستند كه می‌توان از آن به جای متصل كردن چند جدول استفاده كرد.

SQL Server 2005 در مقایسه با  اوراكل 10g، در aggregation و functionها محدودیت‌هایی دارد. مثلاً در index view نمی‌توانیم از Distinct ،NOT و … استفاده كنیم و امكان مثلاً Sum كردن نیست.

كپی پشتیبان و بازیابی اطلاعات

همان‌طور كه قبلاً نیز اشاره شد در نسخه‌های قبلی SQL Server نمی‌توانستیم به صورت آنلا‌ین از اطلاعاتمان كپی بگیریم، ولی در نسخه جدید SQL Server 2005 مدیران بانك‌های اطلاعاتی می‌توانند به راحتی عملیات كپی و بازیابی اطلاعات را به صورت آنلاین انجام دهند.

در حالی كه سرور در حال كار كردن است. اوراكل نیز  ساختاری شبیه این را با استفاده از Tablespaceها انجام می‌دهد. البته در Tablespaceهای اوراكل نمی‌توان اطلاعات قبلی را در Tablespace بازیابی نمود و از آن‌جایی كه در هر Tablespace یك Metadata وجود دارد، این Tablespaceها نمی‌توانند كامل باشند.

البته اوراكل دارای ابزار بازیابی اطلاعات كاملی است و می‌تواند با كمك گرفتن از Redo logها این كار را آسان كند.
اوراكل با استفاده از logical dump‌هایی كه می‌سازد، می‌تواند مشكلی كه باعث نیاز به بازیابی می‌شود را  شناسایی كند. البته SQL Server هم ابزارهایی مانند DBCC PAGE و DBCC LOG دارد كه مانند ابزارهای اوراكل عمل می‌كند.

انتقال و‌ ورود اطلاعات (Export  and  Import)

یكی از امكانات جدید Oracle 10 g برای انتقال یا صادر كردن اطلاعات به data pump معروف است. data pump ساختاری binary دارد. اوراكل این كار را توسط دو گزینه كه برای صادر و دو گزینه برای وارد كردن اطلاعات دارد، انجام می دهد. این دو گزینه exp/data و imp/data هستند.

اضافه بر این، در اوراكل ابزار sqlldr نیز وجود دارد كه اختصاصاً برای import كردن اطلاعات متنی به كار می‌رود. از طرف دیگر SQL Server2005 دارای دو گزینه برای export و import است؛ به نام‌های bcp و Bcp .DTS می‌تواند اطلاعات را (به صورت متنی) import یا export  كند و حتی می‌تواند اطلاعات را به فرمتی ذخیره كند كه بانك‌های اطلاعاتی دیگر نیز بتوانند از آن استفاده كنند.

DTS نیز یكی از پر سرعت‌ترین ابزارهای انتقال اطلاعات در SQL Server است كه در مقایسه با اوراكل بسیار سریع‌تر و كار با آن آسان‌تر می‌باشد. اوراكل نیز در نسخه جدید خود از ابزار ‌WisdomForce FastReader استفاده می‌كند كه می‌تواند با سرعت زیاد كار export و import را انجام دهد و اطلاعات را با فرمت متنی آماده سازد. از این ابزار می‌توان برای انتقال اطلاعات بین اوراكل و بانك‌های اطلاعاتی دیگر مانند MS SQL ،2DB ،Sybase استفاده نمود.

امكانات موجود برای برنامه‌نویس‌ها
یكی از امكاناتی كه اوراكل در اختیار برنامه‌نویسان قرار می‌دهد، امكان استفاده از Exception Handling است كه توسط PL/SQL قابل دسترسی است. در SQL Server 2005 نیز این امكان توسط Transcat-SQL مهیا شده است.

در مبحث Queuing ،SQL Server 2005 ابزاری به نام Server Broker دارد كه می‌تواند امكان استفاده از Queing را برای برنامه‌نویسان فراهم سازد، اما در اوراكل ابزاری قوی به نام Oracle Advanced Queuing وجود دارد كه كار Queing را به صورت كامل انجام می‌دهد.

SQL Server 2005 می‌تواند كمك بیشتری به برنامه‌نویسان بكند؛ زیرا از NET. استفاده می‌كند، ولی بر خلاف آن، هسته اوراكل از جاوا درست شده است و مستقیماً فقط می‌تواند توسط PL/SQL اجرا شود. در نتیجه در SQL Server 2005 می‌توانیم به صورت مستقل از دستورات NET. استفاده كنیم.

از طرف دیگر از آنجا كه جاوا هسته اوراكل را تشكیل می‌دهد، نگهداری آبجكت‌های جاوای درون اوراكل درست مانند نگهداری یك سرور جاوا می‌باشد، ولی SQL Server 2005 تنها در برخی قسمت‌ها مانند اشكال‌یابی از NET trigger. استفاده می‌كند و حجم سنگینی ندارد.

امكانات ویژه  SQL Server 2005

– ‌SQL Server 2005 :Replication ابزار Replication بسیار قدرتمندی دارد كه می‌تواند از اوراكل به SQL Server یا بلعكس Replication انجام دهد.

– Notification: در SQL Server 2005 سرویس Notification یكی از سرویس‌هایی است كه می‌توان با آن در ‌Alertهایی مانند Stock Market استفاده نمود.

– Reporting Services: یكی از امتیازات SQL Server 2005 در مقایسه با اوراكل، داشتن سرویس گزارش‌های داخلی است كه با استفاده از آن می‌توان انواع گزارش‌ها را استخراج نمود. البته اوراكل هم دارای Oracle IAS است كه كار گزارش‌گیری را حتی قوی‌تر از SQL Server انجام می‌دهد، ولی مانند SQL Server 2005 در داخل بانك اطلاعاتی نیست و به صورت خارجی عمل می‌كند. همچنین خرید آن نیز هزینه زیادی خواهد داشت.

– Identity: در اوراكل نمی‌توان به صورت خودكار كلید اصلی یا Primary key را تعریف كرد. در صورتی در SQL Server2005  این امكان وجود دارد. البته اوراكل دارای Sequence است، ولی نگهداری این Sequenceها توسط مدیر سیستم كار آسانی نیست.

امكانات ویژه ‌Oracle 10g

– Auditing: در اوراكل این كار با استفاده از پارامتر جدید audit_trail=db_extended, init.ora انجام می‌پذیرد كه می‌توان از تمامی جست‌وجوها به همراه مقادیر ورودی هر یك از آن‌ها اطلاعات ذخیره كرد. این كار در SQL Server2005 تنها با استفاده از Trace امكانپذیر است. آن هم نمی‌تواند مقادیر Bind شده اطلاعات را نشان دهد و استفاده از آن نیز می‌تواند كارایی سرور را تا حد زیادی پایین بیاورد.

– Logminer: در‌ اوراكل ابزاری به نام Logminer وجود دارد كه می‌تواند تاریخچه تمامی DML یا DDLهای كل پایگاه اطلاعاتی را به ما بدهد. SQL Server2005 این ابزار را ندارد، ولی می‌توان از Lumigent Log Explorer برای مشاهده برخی از این تاریخچه استفاده كرد.

– Flashback Query: این امكان در نسخه جدید Oracle 10g عرضه گردید و با كمك آن می‌توان اطلاعات از دست رفته را بازیابی كرد.

– Rollback Statistics: در اوراكل اگر عملیاتی سنگین در وسط كار انجام نپذیرد، می‌توان آن را Rollback كرد. Rollback statistics می تواند به شما بگوید چه زمانی طول خواهد كشید كه Rollback انجام شود و عملیات پایان پذیرد. كافی است جست‌وجوی زیر را به كار ببرید:
V$FAST_START_TRANSACTIONS
این قابلیت در SQL Server2005 وجود ندارد.  

– AWR یا Automatic Workload Repository تصور كنید كه بانك اطلاعاتی شما بسیار حجیم است، ترافیك زیادی دارد و جوابگویی آن به كلا‌ینت‌ها كُند شده است. با استفاده از AWR در Oracle 10g می‌توانیم مشكل را بررسی كنیم و تشخیص دهیم چه مشكلی در سیستم وجود دارد. اوراكل این كار را با استفاده از درست كردن Viewهای زیر انجام می‌دهد.
v$sysmetric_history for v$sysmetric
v$active_session_history for v$active_session
v$waitclassmetric_history for v$waitclassmetric
v$session_wait_history for v$session_wait
v$servicemetric_history for v$servicemetric

– پشتیبانی از OO یا Oracle :Object Oriented قابلیت‌های شیءگرا (object oriented) دارد. برای همین، این بانك اطلاعاتی را می‌توان بانك اطلاعاتی رابطه‌ای شیءگرا نیز نامید. با استفاده از این قابلیت، برنامه‌نویسان می‌توانند Class و Objectهای برنامه شیء‌‌گرای خود را مستقیماً به جداول بانك اطلاعاتی Map  كنند.

منابع
www.microsoft.com/sql/editions/enterprise/default.mspx
http://blogs.ittoolbox.com/visualbasic/operating/archives/oracle-vs-sql-server-whats-different-11054
www.oracle.qassociates.co.uk/oracle-10g-features.htm
Oracle Professional (From Microsoft Website) Microsoft SQL Server 2005 for the

منتشر شده در بیا تو مالزی

همچنین ببینید

فیس بوک از شما جاسوسی می کند، چه عضوش باشید و چه نباشید

بیا تو مالزی - حتی اگر هرگز عضو فیس بوک نبوده باشید یا برای مدت …

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

نشانی ایمیل شما منتشر نخواهد شد.

سه × پنج =

قالب