-
ايندكس و 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 كردن نيست.
-
05-16-2011 11:25 PM
# ADS
نشان دهنده تبلیغات
-
كپي پشتيبان و بازيابي اطلاعات
همانطور كه قبلاً نيز اشاره شد در نسخههاي قبلي 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ها توسط مدير سيستم كار آساني نيست.
کاربر مقابل پست Borna66 عزیز را پسندیده است:
mateni
-
امكانات ويژه 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