مقایسه ای بین SQLServer 2005 و Oracle 10g - Developer Center
Developer Center




بازگشت   Developer Center > مباحث مربوط به محصولات جديد مايكروسافت > Microsoft SQLServer 2005 /2008
ثبت نام راهنما فهرست کاربران تقویم جستجو ارسالهاي امروز نشانه گذاري انجمن ها به عنوان خوانده شده

پاسخ
 
ابزارهای موضوع نحوه نمایش
قدیمی Thursday 16 March 2006, 07:24 PM   #1
admin
مدير سایت - مهرداد تاجيك
 
admin آواتار ها
 
تاریخ عضویت: Thursday 30 June 2005
محل سکونت: تهران
نوشته ها: 810
با تشکر: 20
تشکر شده 1,339 بار 297 پست
admin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخار
Post مقایسه ای بین SQLServer 2005 و Oracle 10g

مقاله زیر مقایسه کاملی است مابین امکانات و تواناییهای SQLServer 2005 و Oracle 10g به فرمت Pdf
فایل های پیوست شده
نوع فایل: zip MSSQL2005_ORACLE10g_compare.zip (157.7 کیلو بایت, 2080 نمایش)
admin آنلاین نیست.   پاسخ با نقل قول
16 کاربر برای پست مفید admin تشکر کرده اند
ali1564 (Tuesday 29 January 2008), amir??? (Friday 29 August 2008), a_r3003 (Wednesday 9 January 2008), Bahram Hedayati (Sunday 29 March 2009), expertdeveloper (Wednesday 27 February 2008), JavanSoft (Friday 9 March 2007), kohestan11 (Saturday 12 July 2008), mahmoud1387 (Sunday 13 April 2008), marge_mooshabcd (Tuesday 12 February 2008), Masiha (Monday 25 June 2007), mohammadone (Sunday 16 November 2008), mona yazdanpanah (Monday 15 December 2008), Sardabir (Tuesday 19 February 2008), sysman2 (Thursday 10 July 2008), Tanesh (Sunday 4 October 2009), جواد افشار (Saturday 14 June 2008)

.......

قدیمی Sunday 22 April 2007, 04:49 PM   #2
narsis
مدیر انجمن
 
narsis آواتار ها
 
تاریخ عضویت: Monday 12 December 2005
نوشته ها: 663
با تشکر: 110
تشکر شده 409 بار 142 پست
narsis کاربر معروفnarsis کاربر معروفnarsis کاربر معروفnarsis کاربر معروفnarsis کاربر معروفnarsis کاربر معروفnarsis کاربر معروف
Post مقایسه بانکهای اطلاعاتی

تحقیقی جامع در باره مقایسه امکانات بانکهای اطلاعاتی
Oracle - DB2 - MySql - Access 2000 - SqlServer 2000 , 2005
نوشته : محمد مطیعیان
-------------------------------------------------------------
فایل های پیوست شده
نوع فایل: zip DB_Compare.zip (707.8 کیلو بایت, 881 نمایش)
__________________
کاش زندگی هم Ctrl+Z داشت!
narsis آنلاین نیست.   پاسخ با نقل قول
3 کاربر برای پست مفید narsis تشکر کرده اند
amir??? (Friday 29 August 2008), mashm (Monday 25 June 2007), mona yazdanpanah (Monday 15 December 2008)
قدیمی Friday 23 November 2007, 08:06 PM   #3
admin
مدير سایت - مهرداد تاجيك
 
admin آواتار ها
 
تاریخ عضویت: Thursday 30 June 2005
محل سکونت: تهران
نوشته ها: 810
با تشکر: 20
تشکر شده 1,339 بار 297 پست
admin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخار
Post مقايسه فني مهم‌ترين بانك‌هاي اطلاعاتي جهان؛ 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

امين صفايي
ماهنامه شبکه
admin آنلاین نیست.   پاسخ با نقل قول
8 کاربر برای پست مفید admin تشکر کرده اند
amir??? (Friday 29 August 2008), Arman Dinarvand (Sunday 25 November 2007), cld_vlc (Monday 7 January 2008), expertdeveloper (Wednesday 27 February 2008), hagh110 (Wednesday 28 November 2007), Kaffash (Sunday 6 July 2008), kowsar (Monday 11 February 2008), جواد افشار (Saturday 14 June 2008)
قدیمی Wednesday 2 July 2008, 02:56 PM   #4
admin
مدير سایت - مهرداد تاجيك
 
admin آواتار ها
 
تاریخ عضویت: Thursday 30 June 2005
محل سکونت: تهران
نوشته ها: 810
با تشکر: 20
تشکر شده 1,339 بار 297 پست
admin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخار
Post مقایسه بانک‌های اطلاعاتی ORACEL و SQL SERVER

نام نویسنده : هدی نوروزی
حجم فایل:639 کیلو بایت

دریافت مقاله


admin آنلاین نیست.   پاسخ با نقل قول
3 کاربر برای پست مفید admin تشکر کرده اند
amir??? (Friday 29 August 2008), Masiha (Wednesday 2 July 2008), mohammadone (Sunday 16 November 2008)
قدیمی Sunday 14 December 2008, 07:44 PM   #5
sajad.f
كاربر عادي
 
تاریخ عضویت: Sunday 30 November 2008
نوشته ها: 2
با تشکر: 0
تشکر شده 0 بار 0 پست
sajad.f کاربر عادی
پیش فرض

با سلام من نميتونم اينو دانلود كنم لطفا اگه ممكنه برام بفرستيدش
sajadfarahmand@gmail.com
با تشكر
sajad.f آنلاین نیست.   پاسخ با نقل قول
قدیمی Saturday 7 February 2009, 01:04 PM   #6
parisannp
كاربر عادي
 
تاریخ عضویت: Saturday 7 February 2009
محل سکونت: kermanshah
نوشته ها: 1
با تشکر: 1
تشکر شده 0 بار 0 پست
parisannp کاربر عادی
parisannp به Yahoo ارسال پیام
پیش فرض thanks

با تشکر از مقاله خوبتون من مدتها بود که دنبال این اطلاعات بودم. سپاس
parisannp آنلاین نیست.   پاسخ با نقل قول
قدیمی Thursday 29 October 2009, 11:20 AM   #7
admin
مدير سایت - مهرداد تاجيك
 
admin آواتار ها
 
تاریخ عضویت: Thursday 30 June 2005
محل سکونت: تهران
نوشته ها: 810
با تشکر: 20
تشکر شده 1,339 بار 297 پست
admin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخار
Post


ویرایش توسط admin : Tuesday 12 January 2010 در ساعت 02:27 PM.
admin آنلاین نیست.   پاسخ با نقل قول
2 کاربر برای پست مفید admin تشکر کرده اند
ghasemi414 (Wednesday 4 November 2009), Sonya (Monday 28 December 2009)
قدیمی Thursday 19 November 2009, 08:21 AM   #8
admin
مدير سایت - مهرداد تاجيك
 
admin آواتار ها
 
تاریخ عضویت: Thursday 30 June 2005
محل سکونت: تهران
نوشته ها: 810
با تشکر: 20
تشکر شده 1,339 بار 297 پست
admin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخار
Post مقایسه پایگاه داده MySQL و PostgreSQL و Oracle

مقاله 13 صفحه ای فارسی : مقایسه سه پایگاه داده MySQL و PostgreSQL و Oracle .
فایل های پیوست شده
نوع فایل: pdf DB_Comparision_report.pdf (100.1 کیلو بایت, 43 نمایش)
admin آنلاین نیست.   پاسخ با نقل قول
قدیمی Friday 4 December 2009, 10:15 AM   #9
admin
مدير سایت - مهرداد تاجيك
 
admin آواتار ها
 
تاریخ عضویت: Thursday 30 June 2005
محل سکونت: تهران
نوشته ها: 810
با تشکر: 20
تشکر شده 1,339 بار 297 پست
admin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخارadmin کاربر بسیار پر افتخار
Post SQL Server Or Access

تحقیقی در باره موارد استفاده SQL Server Or Access

برای دانلود متن تحقیق اینجا را کیک کنید
admin آنلاین نیست.   پاسخ با نقل قول
این کاربران admin برای پست مفیدتان از شما تشکر کرده اند
Sonya (Monday 28 December 2009)
قدیمی Saturday 26 December 2009, 08:10 AM   #10
7379237
كاربر عادي
 
تاریخ عضویت: Wednesday 19 October 2005
نوشته ها: 265
با تشکر: 73
تشکر شده 140 بار 60 پست
7379237 کاربر عادی
پیش فرض مقایسه دیتابیس ها

مقایسه بین SQL Server و Oracle

مقایسه بین 2005 SQL Server و Oracle

مقایسه دیتابیس ها

مقایسه بین SQL Server و Oracle
7379237 آنلاین نیست.   پاسخ با نقل قول
این کاربران 7379237 برای پست مفیدتان از شما تشکر کرده اند
Sonya (Monday 28 December 2009)
پاسخ

ابزارهای موضوع
نحوه نمایش

قوانین ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
کدهای HTML غیر فعال است
انتخاب سریع یک انجمن


اکنون ساعت 01:34 AM برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد.





Powered by vBulletin Version 3.7.3
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.

Persian Language By Persian Forum Ver 1.0