SQL Server اوراکل را پشت سر گذاشت! + آموزش و مسابقه

SQL Server اوراکل را پشت سر گذاشت! + آموزش و مسابقه

نوشته شده توسط: فرید طاهری
۲۷ مهر ۱۳۹۴
زمان مطالعه: ۲ دقیقه
۰
(۰)

در اکتبر ۲۰۱۵ SQL Server توانست رقیت دیرنه خود اوراکل را پشت سر بگذارد، بر اساس نمواداری که شرکت Gartner ارائه کرده است، این محصول به رهبری Database تبدیل شده است و یک بازار کار عالی در حال شکل گیری در کل دنیا است.

البته باید اذعان داشت که SQL Server محبوبترین پایگاه داده در بین ایرانیان نیز است.

sql-server-oracle

در ادامه این فیلم یک آموزش و مسابقه هم خواهیم داشت، البته شرایط کمی متفاوت است ولی پیشنهاد می کنم حتما فیلم را تا انتها ببینید.

آموزش در مورد یک نکته بسیار ظریف و مهم درباره افزایش سرعت و کارایی بانک اطلاعاتی است

به طور کلی در SQL Server برای کار با داده‌های رشته‌ای دو نوع Data Type (نوع داده) داریم.

۱- نوع داده Fixed Length (طول ثابت) : زمانی که شما یک فیلد از این نوع داده تعریف کنید یک فضای ثابت در حافظه با توجه به نوع داده، طول آن و… اشغال می‌کند.
برای مثال نوع داده Char، NChar هر دو از نوع Fixed Length هستند و حافظه تخصیص یافته به آنها به صورت زیر می‌باشد.

یک فیلد با (۵)Char عبارت است از : با توجه به طول رشته حافظه تخصیص یافته ۵ بایت می‌باشد. چه مقدار شما ۱ کارکتر باشد و چه ۵ کارکتر

(۵)NChar : با توجه به طول رشته و نوع آن (یونی کد بودن) حافظه تخصیص یافته ۱۰ بایت می‌باشد. چه مقدار شما ۱ کارکتر باشد و چه ۵ کارکتر. (حواستان باشد Data Type از نوع یونی کد بوده و هر کاراکتر آن ۲ بایت در حافظه اشغال می‌کند.)

۲- نوع داده Variable Length (طول متغییر) : زمانی که شما یک فیلد از این نوع داده تعریف کنید یک فضای متغییر در حافظه با توجه به نوع داده، طول آن و… اشغال می‌کند.
برای مثال نوع داده VarChar، NVarchar  هر دو از نوع Variable Length هستند و حافظه تخصیص یافته به آنها به صورت زیر می‌باشد
(۵)Varchar : با توجه به طول رشته حافظه تخصیص یافته حداکثر ۵ بایت می‌باشد. اگر مقدار شما ۱ کارکتر باشد طول تخصیص یافته ۱ بایت و اگر ۵ کارکتر باشد طول تخصیص یافته به آن ۵ بایت می‌باشد.

(۵)NVarChar : با توجه به طول رشته حافظه تخصیص یافته حداکثر ۱۰ بایت می‌باشد. اگر مقدار شما ۱ کارکتر باشد طول تخصیص یافته ۲ بایت و اگر ۵ کارکتر باشد طول تخصیص یافته به آن ۱۰ بایت می‌باشد. (حواستان باشد Data Type از نوع یونی کد بوده و هر کاراکتر آن ۲ بایت در حافظه اشغال می‌کند.)

خوب این چیزی بود که همگی از آن اطلاع داریم

اما داستان زمانی است که شما از این Data Type Variable Length (نوع داده با طول متغییر) مانند VarChar،NVarchar در جداول خود استفاده کرده‌اید در این حالت رفتار SQL Server در تخصیص فضا به ازای این نوع Data Type‌ها کمی دور از انتظار است

برندگان مسابقه بر اساس قرعه کشی:

۱- هادی جباری دارستانی

۲- حمید صادق

۳- محمد زکی زاده

دوستان بالا لطفا با شماره ۰۲۱۴۴۲۷۷۶۹۹ تماس بگیرند تا کوپن تخفیف برای این دوستان اعلام گردد.

با تشکر از همه دوستانی که در این مسابقه شرکت کردند.

چه رتبه ای می‌دهید؟

میانگین ۰ / ۵. از مجموع ۰

اولین نفر باش

title sign
معرفی نویسنده
فرید طاهری
مقالات
6 مقاله توسط این نویسنده
محصولات
8 دوره توسط این نویسنده
فرید طاهری

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

پروفایل نویسنده
title sign
دیدگاه کاربران

    • سلام
      بلی اما چند تا نکته
      ۱- در SQL Server 2019 مواردی شبیه به RAC اوراکل در حال اعمال شدن است
      ۲- در زمینه امنیت SQL Server چندین سال است که یکی از امن ترین دیتابیس ها است (مطابق نظر NIST ناموس دوستان امنیت)
      ۳- هزینه SQL Server به مراتب پایین تر از اوراکل است
      ۴- تا چند سال پیش اوراکل در Benchmarkهای TPC.org جایگاه ویژه داشت اما نمی دونم چه شد که به یک بار خداحافظی کرد (دلیل رسیدن به پرفورمنسی در معادل SQL Server هزینه ای به مراتب بالا به روش مایکروسافتی داشت بنابراین مجبور به خداحافظی شد …. )
      ۵- آخرش هر دوشون را دوست دارم

    • البته گارتنر ملاک های دیگه ای غیر از کارایی و مسائل فنی رو هم لحاظ میکنه در دادن این آمار و اصل برای اونها قابلیت سرمایه گذاری هست نه نکات فنی.
      من با هر دو تای اوراکل و مایکروسافت کار میکنم. مسائلی مثل RAC اوراکل هنوز توی محصولات مایکروسافت عملیاتی نیست.
      نباید متاصبانه به مسائل فنی نگاه کنیم.

    • سلام
      واقعیت این است که ۱۶ میلیون رکورد برای SQL Server چیزی نیست
      شما حتی با نسخه های پایین تر می توانید به سرعت بالایی برسیدن
      رسیدن به سرعت بالا مستلزم کوئری نویسی درست + ایندکس گذاری مناسب + طراحی مناسب دیتابیس است

      اما در خصوص NOSQL
      در ۲۰۱۶ شما می توانید با JSON کار کنید اما این NOSQL نیست (یه ویژگی کوچکی از اون است)
      یکی از بهترین قابلیت های ویژگی به نام Polybase است که شما می توانید با آن به هدوپ وصل شده و با دستورات TSQL با آن کار کنید
      اما تاکید می کنم حجم و عملیات شما در حد و حدودی نیست که به سمت NOSQL بروید

    • شهرام جان سلام

      خیلی عالی است که شما دنبال این موارد هستید یک نکاهی به لینک زیر بیاندازید
      صرفا معیاری Businessی مطرح نیست. گوشه سمت راست Noteها را بخوانید برخی از روش های تست فنی را گفته اند که چگونه است.قابلیت های هر بانک اطلاعاتی توسط شرکت ها و سازمان های مختلف و… تست شده و در بررسی گارتنر در نظر گرفته می شود
      راستی در حوزه امنیت هم SQL Server بر اساس آمار گارتنر اول است. یکی از معیارهای کوچک مقایسه تعداد Hotifxهای امنیتی منتشره شده سال های مختلف برای DBMSهای مختلف است که SQL Server از همه کمتر است….
      موفق باشید
    • شهرام جان سلام مجدد

      – آیا Sql Server می تواند بسته به نوع Query تصمیم بگیرد که از Index استفاده کند یا نه؟

      این مورد ساده ترین کاری است که یک DBMS بکه از قوانین ANSI تبعیت می کنه باید داشته باشه. Query Optimizer مربوط به SQL Server این کار را با هوشمندی هر چه تمام تر انجام می دهد. SQL Server از Statistics و… برای انتخاب ایندکس مناسب استفاده می کند و نسخه به نسخه به هوشمندی آن (الگوریتم های جدید) اضافه می شود. ایندکس های جدید و قابلیت های جدید در ایندکس ها کمک شایانی به انتخاب ایندکس مناسب می کنند مانند Filter Index ، فشرده سازی ایندکس ها ، Column store Index و….
      – آیا Sql Server می تواند همانند Oracle مانع Dirty Read چند Transaction همزمان شود؟
      Snapshot Isolation Level یکی از بهترین ها است و مشکلات  Dirty Read را ندارد 

      – آیا Sql Server می تواند همانند Oracle مانع از Lock Escalation شود؟

      کنترل Lock Escalation در SQL Server وجود دارد

      – آیا Sql Server  همانند Oracle امکان اجرای Parallel یک Query را دارد؟

      بابا این دبگه توی SQL Server جزء پیش پا افتاده ترین موارد است. کافی است به Execution Plan کوئری هاتون سری بزنید.

      موفق باشید
    •     شهرام جان سلام

      لینک اصلی را بخوانید خودتان متوجه بشوید
      گارتنر هر دو زمینه را تشخیص داده است (Operational Database Management , BI)
      تمام این چیزهایی که می گویید مباحث Hello World در زمینه DBMSهای پیشرفته است که SQL Server به خوبی از آنها پشتیبانی می کنند.

      منتظر باشید جواب تکمیلی برایتان ارسال می کنم
      موفق باشید
    •     مهدی جان ضمنا یک نگاهی به لینک های زیر هم بکنید بد نیست

      یک آزمایش کاملا علمی و نتیجه جالب اون 
      این همه نسخه جدید آمار TPC
      در زمنیه امنیت هم SQL Server امنیت بالاتری نسبت به سایر DBها داره این مورد هم از آمار گارتنر استخراج شده (تعداد پچ ها و… امنیتی که برای سایر دیتابیس ها منتشر شده را نگاه کنید و…)
      تمامی این موسسات (گارتنر، TPC) جزء تراز اول های دنیا  در کار خودشون هستند
      حتما این محصول ارزش داشته که خیلی از شرکت های بزرگ از اون دارن استفاده می کنندو
      ۱- حداقل هزینه نسبت به اوراکل
      ۲- قابلیت های جدید و پشتیبانی عالی از VLDB
      ۳- پشتیبانی از هادوپ 
      ۴- سادگی کار با این محصول 
      و….
هر روز یک ایمیل، هر روز یک درس
آموزش SQL Server بصورت رایگان
همین حالا فرم زیر را تکمیل کنید
دانلود رایگان جلسه اول
نیک آموز علاوه بر آموزش، پروژه‌های بزرگ در حوزه هوش تجاری و دیتا انجام می‌دهد.
close-link
وبینار رایگان SQL Server؛ مسیری به سوی فرصت‌های شغلی بی‌شمار       پنج‌شنبه 30 فرودین ساعت 15
ثبت نام رایگان
close-image