سلام مهمان گرامی؛
به کیان ست خوش آمدید برای مشاهده انجمن با امکانات کامل می بايست از طريق این لینک عضو شوید.
نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: آشنايي با Borland Interbase و مقايسه اجمالي آن با MySQL و Micro$oft SQL Server

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    مشتری سایت*** Borna66 آواتار ها
    تاریخ عضویت
    Oct 2010
    نوشته ها
    198
    تشکر ها
    38
    401 سپاس از181 پست

    آشنايي با Borland Interbase و مقايسه اجمالي آن با MySQL و Micro$oft SQL Server

    اينتربيس چيست ؟

    اينتربيس يك RDBMS محصول شركت بورلند است كه بخاطر footprint كوچك ، هزينه پايين و نيازمندي به ادمينيستريشن !! در حد صفر ، از ساير DMMS ها مجزا ميشود.و در دو نسخه سرور و دسكتاپ ، توسط بورلند عرضه ميشود .

    اينتربيس را كجاها ميتوان اجرا كرد ؟

    اينتربيس را ميتوان بر روي سيستم عاملهاي ويندوز( 2000، 2003 ، NT ، XP ) ، لينكس ( Redhat, SUSE‌( ، سولاريس ( 7و8و9) و پلتفرمهاي جاوا و دات نت ، اجرا نمود.

    چه IDE هايي از اينتربيس حمايت ميكنند ؟

    Delphi , Kylix, CPP Builder, C sharp Builder, J Builder بطور درون ساخت و مجتمع ، از اينتربيس حمايت ميكنند . براي مثال ، تصويرهايي از كامپوننتهاي كار با اينتربيس را در محيط دلفي ميتوان مشاهده نمود :

    علاوه بر آن ، حمايت اينتربيس از JDBC , ODBC باعث ميشود كه IDE هاي ديگري نيز از آن طريق بتوانند از آن استفاده كنند.

    Click here to enlarge

    ويژگيها . مزايا :

    اينتربيس داراي يك معماري MultiVersion است كه توسعه دهندگان را از نگراني درباره مسائل همزماني ، بازيابي از برخورد و مديريت حافظه ، رهايي ميبخشد.

    اينتربيس براي جايي طراحي شده كه هيچ ديتابيس ادميني حضور نداره ! crash recovery هاي اتوماتيك ، بك آپ هاي آنلاين ، مديريت اتوماتيك كاربران از جمله اين موارد است . بهينه سازي مبتني بر هزينه ي كوئري ها ، garbage collection خودكار و rebalance كردن ايندكسها بصورت اتوماتيك ، از جمله مواردي ست كه نياز به حضور ادمين را تقليل ميدهد.

    Cross Platform بودن ، از ديگر ويژگيهاي اينتربيس هست كه باعث ميشود بتوان آنرا در ويندوز ، جاوا ، دات نت ، لينكس و سولاريس ، اجرا نمود.

    Foot print پايين ، اين امكان را فراهم ميسازد كه بتوان اينتربيس را حتي بر روي سيستمي با 32 مگابايت فضاي RAM و 15 مگابايت فضاي ديسك سخت هم نصب و استفاده نمود.

    چه كساني از اينتربيس استفاده ميكنند ؟

    شركتهايي مانند متورولا ، نوكيا ، بوئينگ و بخشهايي از ارتش ايالات متحده و سازمان فضايي ناسا ، از جمله مشتريان اينتربيس هستند.

    اينتربيس و رقبا :

    اينتربيس و MySQL :



    مزاياي اينتربيس درمقابل MySQL را ميتوان بصورت فهرست وار زير ، ليست كرد كه در ادامه ، توضيح مختصري نيز درباره برخي از آنها ارائه خواهد شد :


    • تريگرها
    • Stored Procedure ها
    • رخداد هاي سمت كلاينت
    • پشتيبان گيري آنلاين
    • Crash Recovery سريعتر
    • ارائه انواع داده اي جهت محاسبات دقيقتر اعشاري
    • كنترل دسترسي آسانتر توسط Role ها
    • View ها
    • ارائه انواع رشته اي ساده تر و سازگارتر با استانداردهاي ANSI
    • Default Value هاي قدرتمندتر .
    • ابزارهاي Performane Monitoring كاراتر
    • Configuration Option هاي بسيار كمتر و ساده تر
    • N-way Replication



    پشتيبان گيري آنلاين :

    InnoDB يك موتور ديتابيس MySQL است كه امكان پشتيبان گيري آنلاين را فراهم ميكند ( و فكر ميكنم تنها گزينه ي موجود باشد ) ، براي استفاده از آن ، بايستي InnoDB Hot Backup را به قيمت سالانه ي 450 دلار و يا دائمي 1150 دلار خريداري نماييد . اين درحاليست كه چنين امكاني بصورت درون ساخت در اينتربيس موجود هست . IBConsole براي چنين روزهايي در اينتربيس بوجود آمده !

    سرعت ريكاوري :

    مدت زمان لازم براي ريكاور كردن يا ريستارت كردن يك MySQL ، به سايز لاگهاي تراكنشهايي بستگي دارد كه بايستي رولبك ! و .. شوند بستگي دارد كه حتي آن هم به نحوه كانفيگ كردن ديتابيس توسط ادمين بستگي پيدا ميكند.

    در حاليكه ريكاوري يا ريستارت بر روي اينتربيس ، بصورت * آني * صورت ميگيرد ، به اين دليل كه هيچ تغييري من جمله برگرداندن تراكنشها و ... لازم نيست كه بر روي ديتابيس صورت بگيرد . بلكه بجاي آن ، اينتربيس بسادگي يك بيت وضعيت را براي هر تراكنش ، ست ميكند ! و versioning engine بطور اتوماتيك ركوردهاي مزبور را درنظر نميگيرد . اين ركوردها هم در هنگام استفاده عادي از ديتابيس و بدون اينكه فشار جديدي به سيستم تحميل كنند ، بطور خودكار توسط Garbage Collector موجود در اينتربيس ، حذف ميشوند .

    Domain ها :

    موقعيتي را در نظر بگيريد كه ميخواهيد يكي از انواع داده اي فيلدهاي جداول را تغيير بدهيم . مثلا فيلدي براي شماره قطعات داشته ايم كه اكنون نياز به ذخيره اعداد بزرگتري داريم .... در هنگام استفاده از MySQL ، راه حل اين هست كه فيلد مزبور را در همه جدولهايي كه در آنها وجود دارد ، تغيير دهيم !

    ولي اينتربيس ، نوع داده اي بنام Domain تعريف كرده كه آنرا ميتوانيم بر حسب يكي از انواع داده اي موجود در اينتربيس ،‌تعريف كنيم . مثلا در موقعيت بالا ، فرض كنيم كه فيلد اوليه ، 10 رقمي بوده باشد ، پس در اينتربيس ، چنين تعريف شده :




    CREATE DOMAIN PART_NO_TYPE VARCHAR(1O) NOT NULL





    و اكنون كه ميخواهيم براي مثال ، سايز آنرا به 14 كاراكتر تغيير دهيم ،‌كافيست كه چنين عمل كنيم :





    ALTER DOMAIN PART_NO_TYPE VARCHAR(14)





    همين ! ديگه لازم نيست به سراغ تك تك جداول برويد و تغييرات را اعمال كنيد !

    ساير موارد :

    اينتربيس علاوه بر پروتكولهاي TCP/IP و NetBEUI كه توسط MySQL نيز پشتيباني ميشود ، از IPX/SPX نيز پشتيباني ميكند.

    ماكزيمم سايز ديتابيس در MySQL 4.1 alpha ، به ميزان 64000 گيگابايت ميباشد و اين سايز در اينتربيس ، * نامحدود * است

    اينتربيس بر خلاف MySQL 4,1 alpha داراي انواع داده اي بولين ، نامريك ، دسيمال و كاراكتارهاي استاندارد Ansi نيز ميباشد .

    اينتربيس بر خلاف MySQL 4.1 alpha ، از انواع Replication هاي N-way و سنكرون نيز حمايت ميكند.

    اينتربيس و Micro$oft SQL Server ‌:

    مزاياي اينتربيس نسبت به MsSQLServer عبارتند از :

    • Crash recovery سريعتر
    • مديريت ايونت ساده تر
    • سايز كوچكتر
    • هزينه هاي مالكيت و آموزش كمتر
    • نيازمنديهاي سيستمي كمتر
    • پشتباني Cross Platform
    • گزينه هاي Deployment متنوع تر
    • همزماني بيشتر در محيطهاي read/write

    هنگامي كه سرويسهاي data analysis به يك view يه با ثبات از ديتا در يك زمان خاص احتياج دارند ، مكانيزم SQL Server اين هست كه با فراهم كردن قفلها ، ساير كاربران را از دسترسي به اطلاعاته مورد تحليل باز ميدارد تا كار تحليل تمام شود . !!

    در حاليكه در اينتربيس چنين امكاني را بدون نياز به قفل كردن داده ها و مانع شدن از دسترسي كاربران به داده ها ، در اختيار داريم ، بدين صورت كه اينتربيس از ديتاهاي مورد نظر snap shot تهيه ميكند ...( و اگر اشتباه نكنم ، اين همان ايده اي است كه ماكروسافت بالاخره در SQL Server 2005 از آن تقليد كرده ! ) .

    نحوه رفتار با Lock ها :

    موقعيتي را در نظر بگيريد كه كاربر الف ، ركوردي را آپديت ميكند و سپس بدون كاميت كردن تراكنش مربوطه ، براي نماز و ناهار!! اتاقش را ترك ميكند . در همين حال ، كاربر ب ، دستور select ي اجرا ميكند كه حاوي ركورد قفل شده ي كاربر الف باشد !

    مواجه ي SQL Server : تراكنش كاربر ب ، تا هنگامي كه تراكنش كاربر الف ، آزاد نشده ، بايستي كه منتظر بماند !! راه حل ماكروسافت به اين مشكل ، اين بوده كه time out در نظر بگيرد كه توسط دستور SET LOCK_TIMEOUT اعمال ميشود . ولي نقطه ضعف اين راهكار در اين هست كه اين دستور ،‌همه تراكنشهاي كانكشن جاري را تحت تاثير قرار ميدهد .

    مواجه ي اينتربيس : اينتربيس سطوح ايزولاسيون تراكنش snap shot را فراهم نموده كه هميشه آخرين version از از سطري كه در زمان آغاز تراكنش ، commit شده بوده را ميخواند. كه نتيجتا" اخيارات زير را ممكن ميسازد :

    يك : ميتوان عليرغم وجود يك نسخه commit نشده ، آخرين نسخه ي commit شده از سطر مزبور را خواند.

    دو : ميتوان صبر كرد تا تكليف نسخه ي commit نشده ،‌معلوم شود !

    سه : ميتوان فورا يك وارنينگ! دريافت كرد كه ميگويد نسخه اي commit نشده از سطر مزبور ، موجود است .

    تنظيمات بالا ، در *سطح تراكنش* قابل تنظيم هستند . بنابراين انتخابي كه براي يك تزاكنش ميكنيم ، ساير تزاكنشها و بدتر از آن ، كل كانكشن را تحت تاثير قرار نميدهد.

    اينتربيس ، از تريگرهاي Before هم پشتيباني ميكند ، در حاليكه Sql Server چنين امكاني ندارد . در عوض ماكروسافت تريگرهاي Instead of را ارائه كرده كه باز هم دچار مشكلاتي ميشوند كه در صورتي كه علاقمند بوديد ، در فرصته بعدي ، يك مطالعه موردي در اين زمينه ، ارائه ميشود !

    سرعت ريكاوري بالاتر :

    ريكاوري ديتابيسهاي SQL Server ، بستگي به check point هايي داره كه ادمين تعريف كرده و يا بطور اتوماتيك توسط خوده ديتابيس ، لحاظ ميشه . در هرحال ، براي ريكاوري ، لاگهاي تراكنشها توسط Sql Server پردازش ميشه و هي اونقدر به عقب برميگرده تا به آخرين check point برسد كه امري ست زمان بر !

    در حاليكه اينتربيس براي ريكاوري ، از مكانيزم خشنگي استفاده ميكرد كه در بحث مقايسه اش با Sql Server به آن اشاره شد .

    هزينه ها :

    با فراموش كردن اين مطلب كه در ايران ميتوان نرم افزارها را به قيمت 350 تومان از حراجيهاي حوالي ميدان انقلاب و شايد داخل گاري ! تهيه كرد و با يادآوري اين مطلب كه * نرم افزار* در اون ور دنيا ، چيزي لوكس و تجملي نيست و حساب ، حسابه دودوتا چهار تا هست ! ، يك كم هم آمار و ارقام و هزينه هاي مالكيت را بررسي كنيم:

    براي مثال ، هزينه مالكيت اينتربيس براي 20 كاربر و دوپردازنده ، 3300 دلار و براي Sql Server ، 4500 دلار هست و يا براي مثال ، هزينه اينتربيس 200 كاربره و چهارپردازنده ، معادل 7200 دلار و براي Sql Server معادل 20000 دلار ميباشه .

    Deploy كردن ::

    مثلا در مورد MSDE :: معايب : در درون MSDE‌ ، توسط كارمندان بشر دوست ماكروسافت ، چيزي گذاشته شده بنام concurrency workload governor كه لطف ميكنه و باعث ميشه كه اگر تعداد concurrent batch workload هاي شما از پنج عدد بيشتر شد ، عمدا باعث كند تر عمل كردن سيستم بشه !! و هرچي از پنج تا بيشتر بشه ، سرعت سيستمتون را پايين تر مياره و كندتر ميكنه تا اونقدر شاكي بشيد و اشكتون دربياد كه * پول * بدهيد و نسخه گرانقيمتي از ماكروسافت خريداري كنيد !

    حداكثر سايز ديتابيس در MSDE ، 2 گيگ است ! همين ! تاكيد ميكنيم كه سايز كل ديتابيس ! نه فقط مثلا سايز جداول !

    ساير موارد :

    عدم وجود مشكل lock escalation در اينتربيس
    عدم وجود مشكل conversion deadlock در اينتربيس
    بهره مندي اينتربيس از تريگرهاي before
    توانايي اينتربيس در تعيين و كنترل نوبت اجرا شدن تريگرها
    Crash recovery آني در اينتربيس
    15 مگابايت فضاي ديسك سخت جهت نصب اينتربيس ،‌در مقابل حدودا 250 مگابايت فضاي مورد نياز Sql Server
    [CENTER]:1205219183:
    [B][FONT=Tahoma][SIZE=3][COLOR=#0000ff][URL="http://kiansat3.ir/showthread.php?t=47100"]فروش جدیدترین و کاملترین پکیج نرم افزاری و بازی و آموزشی و تعمیراتی انواع موبایل ها بصورت کاملا فارسی به همراه چندین اشانتیون[/URL][/COLOR][/SIZE][/FONT][/B]
    [B]:1205219183::فقط خودت باش نه کسی دیگر!
    :lay:
    [/B][/CENTER]

  2. نمایش تمام تشکر های Borna66 در این پست:

    ARIYA (5th May 2012)

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •