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

مسعود طاهری

مسعود طاهری

عاشق علیرضا (پسرم) و همسرم. در ضمن SQL Server را هم دوست دارم.

75 دیدگاه

  1. hamid asri

    hamid asri

       حمید عصری هستم
    کار شناس اموزش نرم افزار مالی حسابداری
    از sql 2008R2 استفاده میکنم
    به دلیل جدا بودن تیم تولید دخالتی در دیتا بیس محصول ندارم
    اما خوب برای اشنایی و ارتقای خودم همیشه اموزش های شما رو پیگیری میکنم
    گه گداریم دستی به کوئری نویسی و طراحی گزارش برای مشتریان می برم که نکات شما خیلی کمکم می کنه

    مرسی از تیم نیک اموز

    پاسخ
  2. محمدا لماسی

        سلام آقای طاهری تشکر از سایت خوبتون من در قسمت پشتیبانی یه شرکت کار میکردم ولی به خاطر اینکه با کدنویسی کمتر مشغول بودیم تصمیم گرفتم بدنبال یه کار برنامه نویسی باشم داخل شرکت از کوری های ساده استفاده میکردیم(آپدیت.اینزرت و….).

    پاسخ
  3. طهماسبي

      دوستان عزیز، Ranking معتبر در رابطه با RDBMSها رو می تونید در لینک زیر مشاهده کنید

    http://db-engines.com/en/ranking

    پاسخ
    1. مسعود طاهری

      مسعود طاهری

          سلام

      آمار گارتنر اعتبار خوبی بین سازمان ها دارد. در ضمن یه سری به tpc.org بزنید مهاجرت از اوراکل به SQL Server به علت قابلیت های بالا و هزینه کم شروع شد. هزینه لایسنس در کشورهای دیگر خیلی خیلی مهم است SQL Server با کمترین هزینه نسبت به اوراکل قابلیت های خوبی در اختیار سازمان ها می گذارد.
      Memory Optimized , Column Store Index دو قابلیت خیلی مهمی هستند که می توانید در SQL Server بهترین کارایی را از آن تحویل بگیرید
      پاسخ
    2. سعید ر

       من این سایت را چندین ساله که پیگیری می کنم. و امارش واقعا دقیق است.

      پاسخ
    3. سعید ر

      منظورم دقت زیاد سایت

      http://db-engines.com/en/ranking

      است. که همیشه در گوگل نیز رنکیک بالاتری نسبت به سایر سایت ها داشته است.
      پاسخ
      1. مسعود طاهری

        مسعود طاهری

        بله اما 

        معتبر تر از اون دو سازمان غیر وابسته 
        گارنتر و TPC هستن به امارهای اونها هم توجه داشته باشید
  4. شهرام اکبرزاده

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

    نکته ای که پیرامون نمودار Gartner نوشته بودید کامل نبود، بلکه Sql Server در هوش تجاری(BI) توانسته بالاتر از Oracle قرار گیرد.

    Sql Server هیچگاه قادر نخواهد بود در سطح DBMS از Oracle جلو بزند.لطفا نگاه کوچکی به جداول سیستمی Oracle بیاندازید تا به خوبی این موضوع مشخص شود.
    – آیا Sql Server امکان Self Tuning دارد؟
    – آیا Sql Server می تواند بسته به نوع Query تصمیم بگیرد که از Index استفاده کند یا نه؟
    – آیا Sql Server می تواند همانند Oracle مانع Dirty Read چند Transaction همزمان شود؟
    – آیا Sql Server می تواند همانند Oracle مانع از Lock Escalation شود؟
    – آیا Sql Server  همانند Oracle امکان اجرای Parallel یک Query را دارد؟
    – ……..

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

    پاسخ
    1. مسعود طاهری

      مسعود طاهری

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

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

      منتظر باشید جواب تکمیلی برایتان ارسال می کنم
      موفق باشید
      پاسخ
    2. mehdi

         “Sql Server هیچگاه قادر نخواهد بود در سطح DBMS از Oracle جلو بزند”
      این جمله شما هر خواننده ای را نسبت به پایه و اساس علمی داشتن نوشتتون به شک می اندازه.متاسفانه پر است از تعصب. لطفاً در صورتی که به گفته این عزیزان که با استناد به یه منبع معتبر بیان شده صحبتی دارید بر اساس یک الگوی مقایسه ای درست از جنبه های مختلف (سرعت،قابلیت ها،کارایی،…..)این دو پایگاه داده را مقایسه کنید. تا دلیل برتری که هنوز هم اوراکل نسبت به sql server  داره را درک کنیم ممنون. در ضمن مطمئناً اوراکل در بعضی از زمینه ها از sql server سرتره و در بعضی زمینه ها sql server  از اوراکل ، جمع این مزایا و نقاط ضعف مد نظر هستش نه موردی بیان کردن این مزایا و نقاط ضعف.

      پاسخ
      1. مسعود طاهری

        مسعود طاهری

            سلام مهدی جان

        این آمار برا اساس منبع معتبری است گارتنر (در صحت آمار اون شکی نیست).
        دو قابلیت بسیار بزرگ اون که اوراکل به گرد اون هم نمی رسه memory Optimized Table و Columnstore Index است. 
        آیا می دونی در اوراکل کل دیتا Columnstore Index در RAM است و این یعنی فاجعه؟
        آیا می دونستی Memory optimized  مربوط به SQL Server کاملا Latch Free و Lock Free است و در سطح Table عمل می کند و کاملا با ACID مچ است. اوارکل TimeTen لاک روی اون داره و…
        تکنولوژی شبیه به memory Optimized  دراه که هنوز در ابتدای راه است. 
        در زمینه BI هم که مایکروسافت یک سرو گردن بالاتر است
        مقایسه های که خیلی از دوستان اوراکل کار انجام می دهن مربوط به مقایسه قابلیت های SQL Server 2000 با اواکل 12C است.
        و….
        چند روز دیگه یک فیلم برای مقایسه یکسری قابلیت های جدید SQL Server 2014,2016 ارائه خواهیم داد که معادل این قابلیت ها را با اوراکل , DB2 , SAP بررسی خواهیم کرد.
      2. مسعود طاهری

        مسعود طاهری

            مهدی جان ضمنا یک نگاهی به لینک های زیر هم بکنید بد نیست

        یک آزمایش کاملا علمی و نتیجه جالب اون 
        این همه نسخه جدید آمار TPC
        در زمنیه امنیت هم SQL Server امنیت بالاتری نسبت به سایر DBها داره این مورد هم از آمار گارتنر استخراج شده (تعداد پچ ها و… امنیتی که برای سایر دیتابیس ها منتشر شده را نگاه کنید و…)
        تمامی این موسسات (گارتنر، TPC) جزء تراز اول های دنیا  در کار خودشون هستند
        حتما این محصول ارزش داشته که خیلی از شرکت های بزرگ از اون دارن استفاده می کنندو
        1- حداقل هزینه نسبت به اوراکل
        2- قابلیت های جدید و پشتیبانی عالی از VLDB
        3- پشتیبانی از هادوپ 
        4- سادگی کار با این محصول 
        و….
      3. حسین

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

      4. مسعود طاهری

        مسعود طاهری

        سلام
        بلی اما چند تا نکته
        1- در SQL Server 2019 مواردی شبیه به RAC اوراکل در حال اعمال شدن است
        2- در زمینه امنیت SQL Server چندین سال است که یکی از امن ترین دیتابیس ها است (مطابق نظر NIST ناموس دوستان امنیت)
        3- هزینه SQL Server به مراتب پایین تر از اوراکل است
        4- تا چند سال پیش اوراکل در Benchmarkهای TPC.org جایگاه ویژه داشت اما نمی دونم چه شد که به یک بار خداحافظی کرد (دلیل رسیدن به پرفورمنسی در معادل SQL Server هزینه ای به مراتب بالا به روش مایکروسافتی داشت بنابراین مجبور به خداحافظی شد …. )
        5- آخرش هر دوشون را دوست دارم

    3. مسعود طاهری

      مسعود طاهری

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

      – آیا 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 کوئری هاتون سری بزنید.

      موفق باشید
      پاسخ
      1. سعید ر

        با سلام و خسته نباشید،

        جناب آقای طاهری در جایی اشاره کرده بودید پروتکل همروندی اوراکل Timestamp است، که این گونه نیست. پروتکل مربوطه MVCC یا Multi Version می باشد که ترکیبی از پروتکل ها می باشد و بسیار دز زمینه کنترل همروندی کارا عمل می کند.
        موراد اشاره نموده در مورد Performance که جدیدا به Sql Server اضافه شده اند همه در واقع از اوراکل الگو گرفته شده است.
        ضمنا هم اکنون ذوران پایگاه داده های رابطه ای در زمینه ابر به پایان رسیده و NoSql بر این گونه پایگاه داده ها پیشی گرفته است. که ارواکل با ارایه نسخه 12C که Sql , nosql را همزمان در نظر گرفته انقلابی در زمینه پایگاه داده ها ایجاد کرده است.
    4. سعید ر

      در یک شرکت مخابراتی کار می کنم. با هر دو پایگاه داده کار کردم. SQL Server با تمام قابلیت هایی که اخیرا اضافه کرده است از لحاظ کارایی به پای اوراکل نخواهد رسید. شک نکنید.

      پاسخ
      1. مسعود طاهری

        مسعود طاهری

        سعید جان 

        خیلی ها این رو می گن که به پای اوراکل نخواهد رسید بیشتر مقایسه ها بر اساس SQL 2000  استوار است.
        همین امشب در شرکتی بودن که بانک اواکل شون را به رخ SQL می کشیدن و…
        سناریو هم توی SQL این بود یک جدول با یک و نیم میلیارد رکورد 9 ایندکس افتضاح و می گفتن بسیار کارایی پایین است.
        نگاه کاملا Hello World به SQL داشتن و همین رو با اوارکل خودشون مقایسه می کردن. 
        هر بانکی برای خودش قابلیت هایی دارد و مهم تر از همه کاربران هستند که از اون قابلیت ها کار بکشند. 
        این جا است که نقش سازمان های انتفاعی مشخص میشه میان قابلیت های هر بانک اطلاعاتی را  در نظر می گیرند و بهترین ها را انتخاب می کنند 
        روند پیشرفت SQL Server از نسخه 2012 شروع شده است. و واقعا حرف برای گفتن دارد.
        Memory Optimized Table
        Columnstore Index
        ,…
      2. مسعود طاهری

        مسعود طاهری

        سعید جان مطلب خوبی گذاشتی متشکرم

        اما فکر کنم Memory Optimized مربوط به اوارکل انتهای قضیه زمان Insert باید Lock را اعمال کنه و بخش مورد نظر (رکورد، بلاک و یا هر چیز دیگر) را لاک کنه در صورتیکه Memory Optimized مربوط به SQL Server این مشکلات را نداره
        Oracle provides locking mechanisms at row, table, and database levels, which can be
        configured at the time of connection. This method often leads to concurrency bottlenecks. SQL Server
        has no locks because it provides optimistic concurrency. Thus, it provides a friction-free scale-up
        فردا فیلم آموزشی دوم ما را حتما نگاه کنید
      3. arian arab noori

            لطفا سمت خودتون رو هم بنویسید.

        همچنین بنویسین تو کدوم زمینه oracle کار شما رو بهتر راه انداخته
  5. بختیاری

        با سلام من قبلا یک سایت با موضوع معرفی اشخاص با sql و دات نت طراحی کردم ولی از سایت شما را به خاطر آموزشهای خوبتون هر روز نگاه می کنم مطالب سایت شما خیلی آموزنده است دوست دارم به صورت پیشرفته sql را یاد بگیرم ولی هزینه های آموزش ها که در تلگرام گذاشته بود بالا ست
    ممنون

    پاسخ
  6. علی رحیمیان

    علی رحیمیان

    علی رحیمیان مهندس نرم افزار هستم.
    در حال حاضر در یک موسسه در حال طراحی و تولید انواع نرم افزارها اداری هستم.
    ضمنا یکی از وظایفم طراحی و نگهداری از بانکهای اطلاعاتی هست.

    کار با Sql را با Sql 2000 شروع و در حال حاضر از Sql Server 2014 استفاده می کنم.

    در حال حاضر روی بهینه سازی بانک های اطلاعاتی مشغول هستم.
    از انواع ایندکس ها (Clustered, Non-Clustered, Columnstrore) و Full-Text Search , Statistcs برای ارتقای کارایی بانک ها استفاده می کردم. به صورتی که اجرای کوئری در یکی از بانک های موسسه بیشتر ار 15 دقیقه طول می کشید بعد از بهینه سازی به کمتر از 5 ثانیه رسید.

    پاسخ
  7. MEHDI

    MEHDI

      مهدی یزدان پناه هستم
    اول تشکر میکنم برای این ویدیو خوبتون خیلی استفاده کردم و متوجه شدم ک VariableLengh رو باید به جا استفاده کرد نکته ای ساده ای که هیچ وقت بهش توجهی نمیشه.
    در شرکتی کار نمیکنم و سمتی ندارم.راستش بیشتر به خاطر علاقه ای که به یادگیری SQL و زبانهای برنامه نویسی دارم تصمیم به یادگیری دارم.

    پاسخ
  8. هادی جباری دارستانی

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

    با سلام

     

    هادی جباری دارستانی هستم متخصص SQL Server و برنامه نویس .Net

    تعدادی از ویژگی هایی که در SQL Server از آنها استفاده کرده ام را در پایین لیست کرده ام

    1- استفاده از Memory Optimized Table برای جداولی که select های زیادی روی آنها زده میشود

    2- استفاده از Partitioning در جداول بزرگ برای افزایش سرعت کوئری ها

    3- استفاده از File Table برای صرفه جویی در مصرف حافظه و افزایش سرعت کوئری ها برای
    جداولی که داده های 
    BLOB دارند

    4- استفاده از Selective XML Index برای افزایش سرعت کوئری هایی که با XML کار
    میکنند.

    5- استفاده از Service Broker برای درج تعداد زیاد رکورد و استفاده از مکانیزم صف

    6- استفاده از Compression در جداول حجیم برای افزایش سرعت کوئری ها

    7- استفاده از always On برای High available نگه داشتن دیتابیس ها

    8- استفاده از Full Text Search برای سرعت بخشیدن به جستجو ها

    9- استفاده از CLR Function

    10- استفاده از Syntax های جدید کوئری نویسی مانند Window Function و OFFSET FETCH


    با تشکر

    پاسخ
  9. m

    m

       محمد زکی زاده
    کارشناس پشتیبانی فنی و توسعه نرم افزار
    در دو جای مختلف با2014 sql server کار میکنم برای مواردی از جمله:
    سیستم حضور و غیاب – انبارداری و امور مربوط به مسایل مالی
    ایندکس گذاری و کلاسترینگ

    پاسخ
  10. نسرین اکبری

        سلام ، نسرین اکبری هستم . چندین سال مداوم در زمینه پشتیبانی فعالیت داشتم که مستقیما با کوئری نویسی در دیتابیس حل مشکل می کردم . الانیک سالیه که فاصله گرفتم اما آموزشها و نکات شما رو دنبال می کنم . عالین . خسته نباشید .

    پاسخ
  11. امیدرضا اسدی

    با سلام. از سایت خوبتون بسیار تشکر می کنم. مطالبتان بسیار عالی است.
    برنامه نویس هستم. با .net و sql server کار می کنم.

    پاسخ
  12. احمد رضاپور

        با سلام

    با سپاس از آموزشهای خوب شما.
    برنامه نویس نرم افزارهای مبتنی بر پایگاه داده اسکیوال هستم. بدون دانش کافی شروع به نوشتن یک نرم افزار بازرگانی و انبارداری برای یک شرکت بزرگ کردم. با تلاش فراوان و کمک یکی از دوستان خوشبختانه توانستم کار رو به پایان برسونم. پس از حدود 7 ماه که از نرم افزار استفاده میشود، بدلیل ثبت زیاد رکورد و استفاده از کوئری های با پرفورمنس پایین، بعضی گزارشها با سرعت پائین اجرا میشوند. میخواهم از پارتیشن بندی و سایر تکنولوژیهای کارآمد اسکیوال استفاده کنم اما بلد نیستم.
    پاسخ
    1. علی یگانه مقدم

      علی یگانه مقدم

         برای اون چیزی که شما دنبالشی من دو محصول معرفی میکنم
      یکی جنون سرعت هست  و دیگری که قابلیت های sql مفصل تر توضیح داده شده دوره آموزشی sql server ویژه برنامه نویسان هست که شامل سه سطح میشه

      پاسخ
  13. شهرام اکبرزاده

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

    – مهدی جان، منبع معتبر من همان http://db-engines.com/en/ranking است که پیشتر توسط یکی از دوستان اشاره شده بود.نظر شما را به یکی از ویژگی های دیگر Oracle جلب می کنم تا بدانید برای چه ادعای نرسیدن Sql Server به

    Oracle را مطرح کردم. منظورم از طرح این مسئله موردی مطرح کردن مزایا و معایب نیست اما به نظر من طراحان Oracle بسیار دقیقتر از طراحان Sql Server عمل کرده اند:

    کلیه DBMSها دستورات ارسالی شما را آنالیز(Parse) می کنند و سپس اقدام به اجرا آن می کنند. حالOracle کلیه دستورات  شما در بخش خاصی از حافظه(SHARED POOL) ذخیره می کند تا چنانچه فرد دیگری همان دستور را ارسال کرد دیگر نیازی به آنالیز(برخی

    مواقع عملیات سنگینی است) نباشد. البته اطلاعات دیگری هم همراه با آن ذخیره می شوند مانند Execution Plan. یکی دیگر از مهمترین اهداف آن نیز این است که چنانچه برای Oracle میسر باشد، دستورات پیچیده را به گونه ای تغییر دهد تا با کارایی بیشتر کار کنند.
    http://www.akadia.com/services/ora_interpreting_explain_plan.html

    – مسعود جان، memory Optimized Table (خیلی پیشتر در Oracle وجود داشت) در Sql Server محدودیتهایی دارد. به عنوان نمونه، اینگونه جداول نمی توانند دارای foreign key باشند. و یا حجم RAM قابل توجه نیاز دارند.لینکهای

    زیر را مشاده کنید:
    http://www.sqlpassion.at/archive/2015/03/11/dont-yet-recommend-memory-oltp-customers/
    https://www.simple-talk.com/sql/performance/the-promise—and-the-pitfalls—of-in-memory-oltp/
    بعلاوه واضح است که هنگام Join با سایر جداول، دیگر کارایی سابق را ندارند. در Oracle ویژگی  memory Optimized Table به صورت transparent  بوده و می توان بدون تغییر در جداول آنها را memory Optimized

    Table نمود.

    Oracle می تواند بر حسب Query تصمیم بگیرد که باید Index Scan را انجام دهد و یا Full Table Scan. لطفا به این مثال دقت کنید:
    فرض کنید لیست کلیه دانشجویان دانشگاه تهران را از ابتدای تاسیس تا امروز در جدولی وجود دارد که تاریخ ورود دانشجویان نیز Index شده است.حال چنانچه بخواهیم لیست دانشجویان ورودی سال 1393 به بعد را بدست آوریم Oracle دو بار به هارد رجوع می کند : بکبار

    برای جستجو در Index و بار دیگر برای خواندن اطلاعات از  Table. حال چنانچه بخواهیم لیست کلیه دانشجویان ورودی سال 1320 به بعد را بدست آوریم، Optimizer اراکل با هوشمندی کامل تشخیص می دهد که اگر Full Table Scan انجام دهد

    Cost کمتری به دیتابیس تحمیل می کند لذا اینبار تنها به Table رجوع می کند.

    Lock Escalation در Sql Server وجود دارد در حالی که Oracle فاقد Lock Escalation است.

    مسعود جان، Sql Server در ایجاد Parallel Query محدودیتهای دارد. به عنوان مثال در نسخه های اخیر Sql توصیه شده که مقدار پیش فرض آن تغییر پیدا نکند.
    به خاطر آنکه نظرم خیلی طولانی شد، لطفا این دو لینک را مطالعه کنید:
    https://support.microsoft.com/en-us/kb/2806535
    http://www.dba-oracle.com/art_opq.htm

    من در دو روز گذشته نتوانستم مطلب Gartner را مطالعه کنم اما مطمئن هستم پارامترهایی نظیر قیمت نیز در آن تاثیر داشته اند. در غیر اینصورت اگر تمامی پارامترهای آن فنی بوده باشند آیا نباید منتظر ورشکستگی اراکل باشیم؟؟؟؟؟؟

    شاد و پیروز باشید.

    پاسخ
    1. مسعود طاهری

      مسعود طاهری

      سلام مجدد به شهرام عزیز.متشکرم از لینک ها و جواب های خوب شما

       memory Optimized Table (خیلی پیشتر در Oracle وجود داشت)
      نمی دانم منظور شما درباره Timetens اوراکل می باشد این رو بگم که در معماری Internal اون اگر بخونید می بینید هنوز Lock را داره اما Memory Optimized مربوط به SQL نه این معماری به صورت Lock Free و Latch Free است. و این موضوع یکی از مواردی است که باعث میشه شما بتوانید حجم زیادی از درخواست ها را پاسخ بدید.
      در Sql Server محدودیتهایی دارد. به عنوان نمونه، اینگونه جداول نمی توانند دارای foreign key باشند. و یا حجم RAM قابل توجه نیاز دارند.
      بله اما در نسخه 2016 این مشکلات رفع شده Relation امکان پذیر است. حجم تا 2TB و کلی قابلیت دیگر + Native Compiled Procedure + Native Compiled Function 
      در ضمن قرار نیست که ما کل دیتا را Memory Optimized کنیم می توان hot Data را در حافظه و… کمپانی های بزرگ نظیر BWIN و Nasdaq از این تکنولوژی استفاده می کنند و می توانند در ثانبه به درخواست های زیادی جواب دهند
      BWIN : استفاده از Memory Optimized جواب دادن به بیش از 250 هزار درخواست در ثانیه
      Nsadaq : استفاده از Memory Optimized + Columnstore ایندکس + حجم 2 پتا بایت دیتا پاسخ یک میلیون درخواست در ثانیه 
      Case Study مربوط به اونها در اینترنت است و در سایت چند بار روی اونها بحث شده 
      تغییرات نسخه 2016 واقعا عالی بوده و این در ارزیابی گارتنر هم مورد توجه قرار گرفته است
      برای کسب اطلاعات بیشتر در خصوص تغییرات SQL Server 2016 می توانید به لینک زیر مراجعه کنید
      پاسخ
    2. مسعود طاهری

      مسعود طاهری

          Oracle می تواند بر حسب Query تصمیم بگیرد که باید Index Scan را انجام دهد و یا Full Table Scan. 

      یکی از مهمترین آیتم هایی که در تصمیم گیری این موضوع به SQL کمک می کند Statistics است. + البته به همراه سایر پارامترها. 
      منظورتان از دوبار مراجعه فکر می کنم همان Lookup است که ما هم در SQL آن را داریم. همچنین اگر بخواهیم Cost مربوط به دوبار مراجعه را حذف کنیم می توانیم از Cover Index استفاده کنیم. که فکر کنم اوراکل این مورد را ندارد.
      یک نکته دیگر هم اشاره کنم که تاثیر اون رو خیلی خوب دیدم 
      ایندکس ها Columnstore واقعا نعمت هستند در SQL Server دیتا اون در دیسک به صورت فشرده و… ذخیره میشه اما اوراکل کل دیتا را در RAM قرار می دهد و این یعنی فاجعه. در ضمن SQL صرفا دیتای که نیاز داره به RAM میاره و…
      این مثال را در نظر بگیرید اگر از Columnstore ایندکس در اوراکل استفاده کنید دیتا ورهاوس که جدول فکت آن N ترابایت است باید در حافظه باشه اما در SQL این طور نیست. در ارواکل اگر سرور توی این سناریو Restart بشه باید کلی منتظر باشید تا کل N ترا دیتا به حافظه منتقل بشه و ایندکس ساخته بشه اما SQL این طور نیست.
      فقط به این مقایسه نگاه کنید تعداد کوئری هایی که اجرا شده را نگاه کنید یک سرور نسبتا ارزان قیمت (نسبت به سرورهای اوراکل ) 
      توی لینک مثال بالا هیچکدام پارتیشن نشده اند. این خیلی جالب است. 
      در ضمن Columnstore ایندکس در 2016 می توانه به Memory Optimized Table ترکیب بشه و حالت Non Clustered Columnstore اون می تونه دیگه Readonly نباشه و Filtered باشه که واقعا یک قابلیت ارزنده است و مطمئن باشید که در سرعت اجرای کوئری ها به شدت موثر خواهد بود.
      پاسخ
  14. حمیدقلیپور

    حمیدقلیپور

       با سلام و احترام

    قلی پور هستم برنامه نویس و طراح بانک اطلاعاتی(قبلا تصور میکردم اوراکل برترین دیتابیس هست)
    1. از SQLServer 2014 استفاده میکنم.
    2.بشدت به دنبال راهکارهای افزایش سرعت کوئری ها در نرم افزار های تولیدی هستم.
    3.تلاش میکنم Stored Procedure  ها و Function های بسیار بهینه ای تولید کنم.
    4.از Clustred Index و Unique Index در طراحی جداول استفاده میکنم.
    پاسخ
  15. رقيه حجازی

    رقيه حجازی

    با سلام و خسته نباشید
    من ابتدا به عنوان کارشناس پشتیبان مشغول به کار شدم و از اونجایی که یکی از وظایفم کار با SQL بود، شروع به یاد گرفتن در این زمینه کردم. بعد از یادگیری و سعی و تلاش فراوان کارم رو با کارشناس فنی ادامه دادم.
    فعالیت هایی که در زمینه SQL دارم عبارتند از :
    1- کار با برنامه Profiler برای استخراج query ها و یا procedure هایی که دارای Duration های بالا و یا دارای خطا می باشند است و حل مشکلات آنها.
    2- استفاده از Execution Plan برای بررسی اجرای Queryها.
    3-تهیه Query با استفاده از CTE های تودرتو، WindowFunction،Pivot, …
    4-   انجام فعالیت های کوچک در زمینه Admin
    و ….

    پاسخ
  16. رقيه حجازی

    رقيه حجازی

     یک سوال از استاد طاهری داشتم. علت اینکه SqlServer یک Offset دو بایتی برای نوع داده های Variable در نظر می گیره چیه؟

    پاسخ
    1. مسعود طاهری

      مسعود طاهری

          برای مشخص شدن محل دیتا برای هر دیتا تایپ Variable Length این 2 بایت در نظر می شود.

      دیتا Variable Length شما از چه آدرسی تا چه آدرسی در Page ذخیره شده. البته این آفست محل پایان را مشخص می کند.
      چون دیتا تایپ های Variable Length کنار هم ذخیره می شوند ابتدا این آفست های 2 بایتی به ازای هر فیلد ایجاد میشه که محل پایان مقادیر فیلد را مشخص می کنه و بعدش خود مقادیر فیلدها نمایش داده می شود. البته من خیلی از این مبحث Internal را خلاصه گفتم
      پاسخ
  17. ali

    ali

     علی نبی خانی
    طراح و پشتیبان  sqlserverهستم
    بیشتر هم از این موارد استفاده میکنم:
    Compression
    always on
    Partitioning

    پاسخ
  18. احمد رضاپور

       جناب آقای علی یگانه مقدم

    لطفا در مورد سرفصلهای این دوره سه سطحی اسکیوال توضیح دهید. نیز بفرمائید در کدام آموزشگاه تدریس میشود؟

    با تشکر

    پاسخ
    1. علی یگانه مقدم

      علی یگانه مقدم

      در همین سایت در بخش محصولات sql server میتوانی بیابید
      آقای طاهری مدرس این دوره هستند و خودم هم از هر دوره استفاده کردم و به شدت راضی هستم.
      حتی دوره افزایش سرعت کوئری ها هم هست که از آن هم راضی بوده ام .

      پاسخ
  19. سعید ر

    با سلام،

    این که SQL Server در بسیاری از موسسات و (از جمله در ایران) و انهم بدلیل این که محصول مایکروسافت است استفاده می شود، دلیل بر پیشی گرفتن از سایر پایگاه داده ها نمی شود.
    قضاوت در این مورد و عنوان “پیشی گرفت” بسیار سطحی است.
    بهتر است مشتریان Oracle و SQL Server را هم مقایسه کرد. بسیاری از شرکت های معروف و بزرگ مخابراتی، ارتباطی و … چاره ای جز استفاده از محصولات اوراکل را ندارند. SQL Server بیشتر در سازمان های متوسط کارایی دارد. و بدلیل تعداد زیاد این سازمان ها محصول پرفروشی است…
    پاسخ
    1. علی یگانه مقدم

      علی یگانه مقدم

      طبق اخباری که در سایت هایی نظیر tpc و … منتشر میشه اکثر شرکت ها یا از sql استفاده می کنند یا دارن از اوراکل به سمت sql server مهاجرت میکنند و کردند
      همچنین بد نیست نگاهی به بزرگترین دیتابیس های جهان بندازیم که چندتای اول به خوبی به یاد دارم از sql server استفاده میکردند
      در صد جدول ناسا قرار داره

      پاسخ
  20. مسعود طاهری

    مسعود طاهری

    سعید جان قضاوت ما سطحی نیست

    بر اساس آمار گارتنر + TPC 
    اونها بهترین در دنیا هستن همه چیز را در نظر می گیرند تعداد  کاربر استفاده کننده + قیمت و از همه مهمتر قابلیت ها + کارایی
    بهتر اعتبار آمار این دو سازمان را زیر سوال نبریم سازمان های بزرگ و معتبر.
    باور این موضوع برای خیلی ها سخت است اما واقعیت تلخ است.
    گذر زمان همه چیز را نشان خواهد داد. 
    موفق باشید
    پاسخ
  21. حمید صادق

      با سلام
    حمید صادق هستم
    یک نرم افزار تولیدی بر اساس sql server نوشتم که به زودی وارد بازار فروش می شود می خواهم قبل از ورود برنامه به بازار،دیتابیس برنامه را به نسخه sql server 2016 ارتقا بدهم تا از امکانات جدید آن استفاده کنم چون با توجه به پیچیدگی نحوه کار برنامه دیتابیس برنامه برای کاربر نهایی حجم بزرگی را خواهد داشت و سرعت و میزان حجم دیتابیس مهم است.
    یک سوال هم داشتم که ممنون می شوم راهنمایی بفرمایید:
    در حال حاظر من از نسخه کرک شده sql استفاده می کنم و می خواهم برای نسخه نهایی از لایسنس اصلی استفاده کنم آیا می توانم با خرید یک لایسنس همان نسخه را برای مشتریان استفاده کنم یا باید برای هر مشتری از یک لایسنس جداگانه استفاده کرد؟
    از آموزشهای خوب شما متشکرم و امیدوارم بتوانم از آموزشهای شما در بهتر شدن برنامه استفاده کنم

    پاسخ
  22. سعید ر

    جناب آقای طاهری با تشکر از توجه شما،

    سوالی داشتم که ایا موارد زیر (که تقریبا در اکثر نسخه های اوراکل Native می باشند)  در نسخه های جدیذ Sql Server اضافه شده اند:
    – امکان وب سرویس داخلی و بومی دیتابیس از Package ها
    – امکان ذخیره json به عنوان نوع داده و البته کوری اسان در دیتابیس از همان نوع داده بدون پردازش اضافی
    – امکان Plagable بودن دیتابیس های مختلف
    – لاگ برداری از همه کوری های اجرا شده در پایگاه داده و تجزیه تحلیل و Tune اتوماتیک توصیه شده
    – امکانات مقیاس پذیری پایگاه داده
    – استفاده از زبان برنامه نویسی جاوا در پایگاه داده
    – امکان تعریف ابجکت های مختلف پایگاه داده در حافظه جهت دسرسی سریع در همه سطوح (جدول، ویو، فضای جدولی و …)
    – …
    ضمنا Oracle Application Express یا Apex نسخه 5 با معماری MVC که کاربر بدون داشتن کمترین تجربه کدنویسی در سطح اپلیکیشن (نه کوری و پایگاه داده) می تواند برنامه های سطح وب و موبایل فوق العاده حرفه ای در سریع ترین زمان ممکن ارایه دهد که از امکانات داخلی پایگاه داده است. 
    پاسخ
    1. مسعود طاهری

      مسعود طاهری

      سلام 

      قبول تمام این موارد تازه اضافه شد.
      اما Ranking چی بعد از چند سال جابجا شد. (این نکته مهم )
      – امکان وب سرویس داخلی و بومی دیتابیس از Package ها
      این مورد در نسخه 2008 وجود داشته اما توصیه میشه از VS و WCF استفاده کنید.
      قدرت اون در حدی است که Nasdaq + BWIN داره باهاش کار می کنه و حجم زیادی درخواست را کمترین هزینه جواب میده
      – امکان ذخیره json به عنوان نوع داده و البته کوری اسان در دیتابیس از همان نوع داده بدون پردازش اضافی
      در 2016  اضافه شده و قبل از اون XML در 2005 وجود داشته. فکر می کنید چقدر از پروژه ها به سمت JSON میره هر نوع Engine باشه (چه اوراکل یا SQL) و با هر تکنولوژی کار کنه ذخیره + ایندکس گذاری و… این داده ها دارای چالش بزرگی در RDBMS ها است. فرض کن تراکنش های بانکی یک بانک به فرمت JSON در اوراکل ذخیره بشه (RDBMS) به نظر شما آیا با اعمال بهترین ایندکس ها باز هم سرعت اون به انداز سایر حالت های ذخیره سازی است (Row Based + Columnstore)
      مثال 10 میلیارد رکورد در Columnstore ذخیره بشه و همون حالت را JSON کنید.
      – لاگ برداری از همه کوری های اجرا شده در پایگاه داده و تجزیه تحلیل و Tune اتوماتیک توصیه شده
      SQL برای انجام اینکار کلی DMF و DMV داره که از نسخه 2005 اضافه شده حالا چند سالی است که اون ها را ویژوالی کرده وگرنه از قبل وجود داشته و با Command کلی کار می شد انجام دارد
      Extended Event + Trace File + DMV+ DMF +System SP + Audit Log و….
      – امکانات مقیاس پذیری پایگاه داده
      Always ON + PDW +SQL Azure
      – استفاده از زبان برنامه نویسی جاوا در پایگاه داده
      استفاده از CLR در SQL Server
      – امکان تعریف ابجکت های مختلف پایگاه داده در حافظه جهت دسرسی سریع در همه سطوح (جدول، ویو، فضای جدولی و …)
      اجازه بدین در فیلم دوم بررسی کنیم
      و کلی قابلیت دیگه که در Feature Packها وجود داردمثل 
      External Activation SSSB
      Stream Insight
      و…
      در حوزه BI + DW واقعا حرف اول را می زنه (آمار گارتنر + TPC)
      SSIS
      SSAS (Multi Dimensional , Tabular Model)
      SSRS
      Power BI
      و…
      آینده خیلی مهم است. مطمئن باشید اوراکل هم بیکار نخواهد نشست چون برای اون RANK مربوط به TPC و گارتنر مهم است. هر دو محصول در حال اضافه کردن قابلیت های جدید هستند
      پاسخ
  23. محمدحسین عبدالهی

    محمدحسین عبدالهی

    با سلام
    با sql server کار می کردم و می کنم و خواهم کرد…
    عاشق قابلیت Columnstore ایندکس در SQL 2016 به همراه  Memory Optimized
    Table هستم که تا بی نهایت سرعت رو به اوج می رسونه!

    خاطرتون باشه اگر دو تا کوچولو رو بخوایم با هم مقایسه کنیم قطعاً یکی از موارد سنجش سن هست.

    1989 کجا و 1980 کجا !؟!

    حالا – یعنی از 2014 – اس کیو ال با تکنولوژی هاش تازه جون گرفته.

    اینا به کنار سهولت کار با محصولات مایکروسافتی کجا و … بی خیال

    فقط امیدوارم زمانی که با اوراکل کار می کنین دیگه حداقل در ویندوز مایکروسافت نباشین (شوخی بود)

    و در پایان تشکر از تیم نیک آموز به رهبری جناب طاهری

    پاسخ
  24. شهرام اکبرزاده

               با سلام خدمت همه دوستان گرامی و بویژه اقای مسعود طاهری عزیز
    نکات
    متفاوتی در این Page مطرح شده که پاسخگویی به آنها مستلزم زمان است و ممکن
    است قدری پراکنده گویی هم در جملات من وجود داشته باشد به همین جهت از
    همگی عذرخواهی می کنم.
    مسعود جان، اراکل و یا هر DBMS دیگری که ادعای
    کارکردن با اطلاعاتی در حد گیگا بایت و یا ترابایت دارد هیچگاه کل DB را به
    حافظه نمی آورد بلکه همانگونه که خود شما اشاره داشتید Hot Page را به RAM
    می اورد.تا آن حد که من می دانم آلگوریتم بیشتر DBMSها نیز MRU است(Most Recently Used).
    مهمترین
    ویژگی Memory Optimized Table  این است که اطلاعات آن در RAM حفظ می شوند و
    این درحالی است که اراکل چندین سال قبل مکانیزم Keep Pool را معرفی کرد که
    به شکل مشابه سبب حفظ شدن اطلاعات جداول و یا اندکس ها در می شود:
    http://www.acehints.com/2012/04/advantage-of-caching-pinning-keeping.html
    بعدها  اراکل مکانیزمهایی نظیر Timetens معرفی کرد.
    بعلاوه
    Lock Free بودن Memory Optimized Table سبب سرعت بالاتر نمی شود بلکه به
    دلیل باقی ماندن اطلاعات این جداول در RAM است که سرعت بالاتر دارند.لطفا
    لینک زیر را ببینید تا مشخص شود Lock Free به معنای optimistic locking
    است.البته مطمئنا ماکروسافت در عملکرد آن اصلاحاتی انجام داده است:
    http://sqlmag.com/sql-server-2014/application-performance-inmemory-oltp-database-engine

    اگر
    بخواهم به سوال “آیا دوران پادشاهی اوراکل در حوزه ی مدیریت پایگاه داده
    های عملیاتی به پایان رسیده است؟” پاسخ بدهم جواب من “خیر” است. من نیز
    همانند یکی از دوستانمان امکان استفاده از زبان جاوا در اراکل را یک مزیت
    بزرگ به حساب می آورم.فراموش نکنید برای استفاده از ویژگی CLR لازم است یک
    DLL در Sql Server رجیستر شود.حال آیا هر یک از شما به عنوان مسئول امنیت
    یک سازمان حاضر هستید DLL تولید شده توسط هر فردی را در بانک اطلاعاتی خود
    رجیستر کنید؟ اراکل دارای Self Tuning است و این به معنای آن است که بر حسب
    شرایط می تواند خود را به گونه ای تنظیم کند که بالاترین کارایی را داشته
    باشد. در حال حاضر Sql Server فاقد این ویژگی است.

    درست است که
    شرکتهایی نظیر BWIN توانسته اند به بهترین نحو ممکن به درخواستها پاسخ دهند
    اما این مطلب به معنای این نیست که فقط و فقط Memory Optimized Table این
    امکان را برای آنها فراهم کرده است بلکه طراحی،برنامه نویسی، عملکرد عالی
    شبکه و عملکرد عالی سیستم عامل نیز در کنار بانک اطلاعاتی این امکان را
    برای آنها فراهم کرده است (به دلیل اصلاحاتی که Memory Optimized Table در
    نسخه بعدی Sql انجام می شود بعید نیست
    طراحی و برنامه نویسی این شرکت
    نیز دستخوش تغییر شود).بدیهی است عملکرد بد سیستم عامل، تاثیر زیادی بر
    عملکرد بانک اطلاعاتی دارد. در طی مدتی که من مطالب آقای طاهری را دنبال می
    کنم هیچگاه ندیدم که ایشان به بررسی سیستم عامل بپردازند.پس به این بهانه
    از ایشان خواهش می کنم به این نکته نیز اشاره کنند که سیستم عامل مناسب Sql
    Server باید چه ویژگی هایی داشته باشد( به عنوان مثال نوع RAID، میزان RAM
    اختصاص یافته و …) و چگونه می توان متوجه شد که سیستم عامل عملکرد مناسبی ندارد.

    برای آنکه مطلب بیش از این طولانی نشود به همین جا ختم می کنم اما مطمئنا بحثی مثل Tuning یک دنیا مطلب دارد و نمی توان در چند خط همه چیز را بیان کرد.

    شاد و پیروز باشید

    پاسخ
    1. سعید ر

      ممنون از مطالب مفیدتان.

      شخصا هر موقع بحث مقایسه دو پایگاه داده پیش میاد این لینک رو توصیه می کنم:
      پاسخ
      1. مسعود طاهری

        مسعود طاهری

            سعید جان سلام مقایسه برای سال 2011 است 

        قابلیت های جدید را در نظر بگیرید وجود قابلیت های جدید باعث شده که گارنتر SQL Server را به عنوان رهبر DBMS و BI انتخاب کند.
    2. مسعود طاهری

      مسعود طاهری

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

      درباره لود دیتا در حافظه ……
      در اینجا بحث من بر روی Columnstore است.
      همانور که می دانید Columnstore ایندکس در اوراکل هم وجود دارد. نکته مهمی که درباره اوراکل وجود این است که این ایندکس در حافظه ساخته می شود. و اگر شما سرورتان را Restart کنید باید منتر باشید تا ساختار این ایندکس در حافظه بازسازی شود و در این حالت کسی نمی تواند از آن ایندکس استفاده کند. اما در SQL Server این نوع ایندکس ها ساختارشان در Storage ایجاد می شود. برای مثال یک جدول Fact را در نظر بگیرید بیش از 60 میلیارد رکورد دارد حالا این ایندکس Columnstore را در اوارکل ایجاد کنید و سرور را Restart کنید تا زمانی که ساختار ایندکس مجددا در حافظه ساخته نشود این نوع ایندکس در دسترس نخواهد بود. (زیاد جالب نیست درسته)
      بعلاوه Lock Free بودن Memory Optimized Table سبب سرعت بالاتر نمی شود ….
      ترکیب Lock Free + Latch Free باعث افرایش کارایی می شود زمانی که شما کوئری اجرا می کنید و بلاک نمی شوید به نوعی کارایی سیستم شما بالا می رود (Lock Free) (البته مثال خیلی ساده ….) و زمانی که درخواست های زیادی به سرور می آید و جدول شما در گیر Latch نیست به راحتی می تواند در کسری از ثانیه به درخواست های کابر (Insert,…) پاسخ دهد.گ


      درباره CLR…
      مسلماً هیج ادمینی اسمبلی دات نت را بدون بررسی و… در سرور رجیستر نمی کند تازه برای این مورد هم محدودیت های امنیتی می توان اعمال کرد که DLL صرفا عملیات Safe انجام دهد و کارهای UnSafe (مانند دسترسی به منابع OS …) نداشته باشد. 

      درباره BWIN ….
      چنانچه Case Study و مستندات BWIN را بررسی کنید متوجه خواهید شد که دوستان BWIN کل کارها را سمت SQL Server انجام داده اند . ایجاد جداول Memory Optimized + SP و…
      البته قبول دارم رفتن به این سمت ممکن است تغییرات ایجاد نمایید. در یکی از پروژه هایمان برای حوزه بانکی از این قابلیت استفاده کرده ایم و عالی جواب گرفته ایم. با جرات می توانم بگم اگر سویچ بانک مرکزی از این قابلیت SQL Server  استفاده کند به هیچ عنوان کم نمی آورد. البته تولید APP بانک (مثل سویچ ) معماری و… خودشون را دارد. استفاده از Queue و…
      به نظر شما Requestهایی که به سمت سویچ شتاب می آید در ثانیه بیش از یک میلیون است و حتی بالاتر ….
      مطمئن باشید Memory Optimized Table اگر مناسب و به خوبی استفاده شود کارایی آن بسیار بسیار بالا است و سناریوهایی از این دست را جواب می دهد.

      بررسی سیستم عامل + RAID و..
      این موارد هر کدام برای خودشان موضوعی مفصل دارند.
      تنظیمات OS تاثیر مثبتی در عملکرد SQL دارند کوچکترین نمونه آن
      در ضمنا SQL برای کار با OS …. در معماری خود یک شبه سیستم عاملی به نام SQL OS دارد. … این موضوع را در اینترنت سرچ کنید و ببینید چه قابلیت هایی دارد (البته تعریف من خیلی ساده است در حد Hello World)

      یکی از بهترین RAIDها توصیه شده برای SQL استفاده از RAID 10 است البته با تنظمیماتی خاص و….
      جدا کردن RAID مربوط به دیتا و لاگ +تنظیم  دسترسی Sequential هنگام کار با لاگ فایل ها در دیسک+ استفاده از RAID کنترل های جداگانه برای دیتا و لاگ
       (البته هر کدام از این موارد شرای خاص خودشان را دارند و جایی که لازم است باید استفاده کنیم.)
      بخشی از این موارد را تا جایی که توانستیم در دوره Performance بررسی خواهیم کرد (دوره جدید با رویکرد جدید)

      درباره حافظه هم باید این نکته را اشاره کنم که خیلی ها می گن که SQL حافظه را زیاد مصرف می کنه.
      باید این نکته را در نظر داشته باشید که حافظه SQL به قسمت های مختلفی تقسیم میشه که میتوانید با دستور DBCC MemoryStatus آن را بررسی کنید بزرگترین قسمت که حافظه به خود تخصیص داده Buffer Pool است. که  Pageها مختلف مثل Data Page,Index Page و… در آن قرار گرفته است. پس  این رو در نظر داشته باشید که این حافظه مصرف می شود (دیتا در آن کش می شود ) تا نیاز به IO فیزیکی نباشد و هر چقدر لازم باشد این دیتا در حافظه باقی می ماند تا اینکه تحت شرایطی (مانند کمبود حافظه و…) از روی رم خارج شود. بنابراین قرار نیست Memory  را در ویندوز سرور مانیتور کنید و بگید که چرا از ظرفیت حافظه کم نمی شه. اگر هر دقیقه این دیتا از حافظه خارج شود نیاز به IO فیزیکی است و….
      البته باید اشاره کنم که در SQL Server 2014 قابلیت به نام Buffer Pool Extension وجود دارد که از SSD به عنوان بافر Pool استفاده می کند….

      مطمئن باشید تمام مواردی که ذکر شده در بررسی کارشناسان گارتنر در نظر گرفته شده که SQL Server رابه عنوان رهبر انتخاب کرده اند. 
      در ضمن اگر Case Study دارید و می خواهید Memory Optimized+ Columnstore و… را چک کنید خوشحال می شوم بتوانیم با هم اینکار را انجام دهیم و با SQL مقایسه کنید.
      در آخر واقعا جواب های خوبی می دهید از شما و سعید عزیز متشکرم از هر دو شما
      پاسخ
  25. شهرام اکبرزاده

       با سلام خدمت همه دوستان گرامی
    مسعود عزیز، از شما به دلیل اینکه با نهایت دقت و بزرگواری به سوالات مطرح شده پاسخ می دهید، بسیار سپاسگذارم. لازم است از سعید عزیز هم تشکر ویژه داشته باشم که از مطالب ایشان نیز استفاده کرده ام.
    مسعود جان، جمله آخر شما در خصوص رهبر بودن Sql Server مرا وادار کرد تا به دنبال رد پایی از پارامترهای مورد ارزیابی گارتنر باشم. اما به موارد ضد و نقیضی برخورد کردم!! در یک جا MongoDB به عنوان رهبر Operational Database Management Systems معرفی شده است، در جای دیگر InterSystems و در سایتی دیگر EnterpriseDB و یا Microsoft. لطفا شما یا سایر دوستان اگر در این خصوص مطلبی دارید، بسیار متشکر خواهم شد که آنرا در این صفحه بیان کنید.

    http://www.marketwired.com/press-release/mongodb-recognized-as-leader-gartner-2015-magic-quadrant-operational-database-management-2063905.htm

    http://www.businesswire.com/news/home/20151016005119/en/InterSystems-Recognized-Leader-2015-Gartner-Magic-Quadrant

    http://www.marketwired.com/press-release/enterprisedb-is-recognized-second-consecutive-year-as-leader-2015-gartner-magic-quadrant-2064286.htm

    https://info.microsoft.com/CO-SQL-CNTNT-FY16-09Sep-14-MQOperational-Register.html?ls=Website

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

    پاسخ
    1. مسعود طاهری

      مسعود طاهری

          سلام

      دیتابیس هایی که در مربع بالا سمت راست هستند به عنوان Leader در نظر گرفته می شوند اما رهبر اصلی (leader ship) یا همون سرکرده به اصظلاح عامیانه SQL Server است.
      چندین سال بود که اوراکل رهبر اصلی بود بافاصله زیاد و امسال SQL Server شد ممکن است دوباره سال آینده چند دیتابیس دیتابیس دیگر وارد مربع بالا گوشه سمت راست شوند.
      MongoDB هم گوشه سمت راست مربع بالا قرار دارد و جزء رهبرها است اما سرکرده اصلی امسال SQL Server شده است.
      موفق باشید.
      پاسخ
  26. سعید ر

        سلام دوباره و خسته نباشید خدمت جناب طاهری،

    در این که Sql Server در نسخه های جدید قابلیت های مفیدی ارائه کرده است شکی نیست و رقیب سر سختی برای اوراکل خواهد بود. 
    البته سوالات زیادی همچنان وجود دارد:
    – از آنجا که محصولات اوراکل در زمینه پایگاه داده بسیار زیاد و متنوع است و منحصر به یک محصول نمی باشد. در همین نمودار گارتنر وب سرویس آمازون متعلق به اوراکل می باشد یا MySql (که در این نمودار جایی ندارد و بسیار جای تعجب است) خود محصول اوراکل است (البته محصولی که اوراکل خریداری کرد و در پایان سال 2015 کاملا یک محصول اوراکلی است و هم اکنون در حال توسعه آن است) لینک http://www.mysql.com (پائین صفحه سمت چپ)
    – اوراکل معمولا برای هر سناریویی Sollution خاصی ارائه می دهد. مثلا برای ابر Oracle NoSql برای پاسخ سریع و انلاین به درخواست ها Oracle Timesten , … که خود بحث های مفصلی می طلبد.
    –  آخرین محصول اوراکل (Oracle 12c) مربوط به سال 2013 می باشد که در زمان خود محصول بسیار موفقی بوده است و هم اکنون کار بر روی نسخه جدیدی که ارائه خواهد شد ادامه دارد.
    (به نظر بنده محصول 2016 Sql Server مایکروسافت یک کپی برداری از قابلیت های 12c اوراکل
    می باشد)
    – و اما بحث Parallel Sql که در اوراکل دنیایی است و مختص به یک تنظیم خاص نیست بلکه پازامترهای فراوان و انعطاف پذیری دارد که در سطح حتی یک مرتب سازی کاربر می تواند Hint مربوطه را قرار دهد و قسمت خاصی از پرس و جو را موازی کند. 
    و بحث های فراوان دیگر…
    با تشکر.
    پاسخ
  27. شهرام اکبرزاده

          سلام بر همه دوستان، بویژه اقای مسعود طاهری عزیز
    عنوان این صفحه که شکست اراکل برابر ماکروسافت بود، آنقدر عجیب بود که نمی شد به سادگی آنرا قابل قبول کرد.در واقع بهترین کارایی اراکل بر بستر Linux است از اینرو شکست اراکل به معنای شکست Linux برابر Windows هم محسوب می شد!!!!!

    اگر پارامترهای گارتنر را بررسی کنیم این واقعیت روشن می شود که ارزیابی گارتنر مقایسه فنی نبوده بلکه به معنای برنامه ها و اهدافی است که هر یک از شرکتها برای خود ترسیم کرده و به آنها رسیده اند. به عبارت دیگر ماکروسافت به این دلیل در رتبه اول قرار گرفته که توانسته است به برنامه هایی که برای آینده خود ترسیم کرده بود برسد. به همین دلیل است که اثری از MySQL دیده نمی شود(این شرکت دیگر وجود ندارد به همین دلیل نتوانسته برای خود اهدافی تعیین کند).لینک زیر گرچه برای تولیدکنندگان DBMS نیست اما صحت این موضوع را بیان می کند:
    http://www.systemgroup.net/news/1607

    ماتریس گارتنر از دو معیار بینش(Completeness of Vision) و قابلیت اجرا(Ability to Execute)
    تشکیل شده است. جزئیات پارامترهای مورد سنجش در هر کدام از این دو معیار فنی نیستند و بیشتر بحث Marketing را در بر می گیرند. این پارامتر ها در سایت رسمی گارتنر ثبت شده اند https://www.gartner.com/doc/486094

    شاد و پیروز باشید

    پاسخ
    1. مسعود طاهری

      مسعود طاهری

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

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

       با سلام دوباره بر همه دوستان
    مسعود جان، جا دارد بازهم از شما به خاطر آنکه با نظرهای مخالف من اینقدر با احترام و بزرگواری برخورد می کنید، تشکر ویژه داشته باشم. به جرات میگویم این بحث فنی با شما برایم بسیار جذاب و فراموش نشدنی است. امیدوارم همواره در زندگی و کار پیروز باشید.

    در Note سوم  مشخص می شود که گارتنر بر اساس رای گیری از مشتریان همان شرکتها عمل کرده است. لطفا به این جمله توجه کنید:

    we sought the views of vendors’ reference
    customers — details of whom were supplied by the vendors — via an online survey conducted
    in July 2015

    در مورد امنیت نیز امیدوارم نظر مرا قبول کنید:
    اراکل امکانات بسیار زیادی دارد.از این رو بدیهی است مشکلات امنیتی بیشتر هم داشته باشد. اراکل چند صد پارامتر دارد که حتی بسیاری از آنها Document نشده اند و توسط شرکتها و تیم های دیگر کشف می شود. البته مخفی بودن این پارامترها دلیلی بر مشکلات امنیتی نیست بلکه خود کمپانی آنها را برای برخی بررسی های آینده در داخل DB قرار داده. آیا قبول دارید امنیت Access از همه دیتابیس ها بیشتر است؟

    پیروز باشید

    پاسخ
  29. مسعود طاهری

    مسعود طاهری

        سلام دوباره بر شهرام عزیز

    بلی پارامترهای ارزیابی بر اساس نظرات مشتریان است. و باید این رو بدونیم که مشتریان هر دو DB هم مشتریان بزرگی بوده اند و تا جایی که امکان داشته است از بهترین قابلیت ها و… استفاده کرده اند. در این بین چند سال اوارکل تراز اول بوده (با فاصله بسیار زیاد) اما امسال بر اساس بررسی ها و… SQL Server به عنوان برترین شناخته شده است. 
    باید در نظر داشته باشید مشتری هایی که بر این نوع ارزیابی ها انتخاب می شوند و اقعا مشتری و استفاده کنند درجه 1 از قابلیت های هر بانک اطلاعاتی هستند.
    در صنعت IT برای این نوع بررسی ها قطعا استانداردها و همچنین شرکت های معتبری وجود دارد که نتیجه برررسی این شرکت ها معیار پذیرش خواهد بود. 
    معمولا مقایسه هایی که بین ما کارشناسان بر اساس یکسری از حالت ها و… می باشد اما نظرات این نوع شرکت ها هم خیلی مهم است.
    اعتبار گارتنر و مشتریانی که آنها مورد ارزیابی قرار می دهند خیلی بالا است. باید دید که در آینده آیا اوارکل می تواند دوباره به عنوان leadership در نظر گرفته شود.
    پاسخ
  30. مسعود طاهری

    مسعود طاهری

     لازم یادآوری کنم مشتریانی که از آنها رای گیری شده است عملیات زیر را بر دیتابیس انجام داده و بر اساس نتایج SQL به عنوان Leadership انتخاب شده است. 

    DEFINITION OF AN OPERATIONAL DBMS WORKLOAD
    For the purposes of this evaluation, the workloads we expect to be managed by an operational DBMS include batch/bulk loading, real-time or continuous data loading, concurrent online and Web-based new and update transactions, operational reporting, and management of externally distributed processes such as “look-aside” queries. Operational DBMS products must provide the ability to prioritize these multiple workloads to ensure SLAs are met when they operate concurrently.
    ضمنا در نظر داشته باشید که مشتریانی که در این رای گیری شرکت کرده اند واقعا مشتری بزرگ و… هستند
    پاسخ
  31. شهرام اکبرزاده

       بله فرمایش شما درست است و انتظار می رود گارتنر به سراغ مشتریان بزرگ برود اما این نکته را نیز فراموش نکنید که ارزیابی های غیر فنی هم زیاد بوده اند.
    نکته دیگری هم در این میان وجود دارد. طی جستجویی که طی امروز انجام می دادم، برایم جای تعجب بود که چرا دنیای IT واکنش خاصی نسبت به این موضوع نداشته است!! به عبارت دیگر یا نتایج گارتنر در دنیای IT تاثیر گذار نیستند و یا اینکه هنوز برای نتیجه گیری خیلی زود است.
    البته لازم است این را بگویم خود من هم طرفدار Sql Server هستم و به همین دلیل به مطالب نوشته شده در نیک آموز دقت می کردم اما اراکل چیز دیگری است

    موفق باشید

    پاسخ
  32. علی موسوی

    علی موسوی

       سلام
    علی موسوی هستم با برنامه نویسی c# و sql server در حد متوسط اشنا هستم.
    توی یه موسسه ی اموزش عالی خصوصی فعالیت میکنم.
    از اونجا که پایگاه داده ی کار آمد وبرنامه ی مناسبی جهت امور دانشجویی وکارمندیشون نداشتن من داوطلب شدم این کار رو انجام بدم (بیشتر برای یادگیری خودم).
    از محصولات اموزشیتون بی نهایت استفاده کردم اگه اموزشهاتون نبودن واقعا خیلی کارم سخت بود.
    تشکر

    پاسخ
  33. حمیدقلیپور

    حمیدقلیپور

       با سلام و احترام 

    دوستان منتظر اعلام نتیجه مسابقه هستند.
    با تشکر
    پاسخ
    1. فرید طاهری

      فرید طاهری

         با سلام خدمت شما دوست عزیز
      فردا نفرات برنده در همین صفحه مشخص خواهند شد.

      با تشکر

      پاسخ
  34. حسن سیدی

        سلام

    آقای طاهری امیدوارم حالتون خوب باشه ممنون میشم این کوئری رو تست کنید.
    DELETE FROM TB_FixedLength
    GO
    DELETE FROM TB_VariableLength
    GO
    INSERT INTO TB_FixedLength (FirstName) values (‘hhhhhhh’)
    GO 10000
    INSERT INTO TB_VariableLength(FirstName) values (‘h’)
    GO 10000
    SP_SPACEUSED TB_FixedLength
    GO
    SP_SPACEUSED TB_VariableLength
    GO
    پاسخ
  35. قاسم گل میری

      جناب آقای شهرام اکبرزاده فکر کنم شما اطلاعاتتون راجع به sql server کم است چون همه این قابلیتها رو یه کاربر متوسط sql server ازش استفاده میکنه. و خیلی روان تر از  DBMS های دیگر

    پاسخ
  36. jahany.amir

    jahany.amir

    با سلام خسته نباشید خدمت شما استادان محترم بنده در حال نوشتن سیستمی بزرگ هستم می خواستم ببینم sql server 2016 به تکنولوژی های nosql یا از ان بهتر newsql بهره مند است یا خیر چون بری بنده بسیار این مبحث مهم است . بنده دیتا بیسی دارم که حدود 16 ملیون رکورد دارد و با محصولات sql که کار میکنم به سرعت کم ان در خواندن و نوشتن پی برده ام که این مشکل را با usql شرکت میکروسافت حل کردم ولی باز هم نیاز دارم ببینم که این مشکلات در sql server 2016 مرتفع شده اند یا خیر باتشکر.

    پاسخ
    1. مسعود طاهری

      مسعود طاهری

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

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

      پاسخ
  37. علی

    سلام می خواستم بدونم بازار کار sql server چه طوریه؟
    یعنی اگه اس کیو ال سرور رو یاد بگیرم ، می تونم در آمد چند میلیونی با ساخت نرم افزار شرکت ها و ادارات داشته باشم؟
    اصلا مگه شرکت ها چه قدر نیاز به نرم افزار دارند؟
    آیا برنامه نویسی ویندوز با سی شارپ و sql توی ایران کاربرد داره؟
    ممنون از سایت خوبتون …

    پاسخ
    1. فرید طاهری

      فرید طاهری

      سلام دوست عزیز | بازار کار برنامه نویسی انقدر خوب هست که هیچ وقت توش بیکاری بوجود نمیاد.
      الان بازار کار برنامه نویسی SQL Server یا سی شارپ و… بسیار داغ است، کافی است نگاهی به آگهی های سایت ها و یا روزنامه ها بکنید.
      برنامه نویسی ویندوز پیش نیاز ورود به برنامه نویسی ASP.NET MVC هستش (البته اگر هم ویندوز کار نکرده باشید می توانید مستقیم وارد وب شوید – بستگی به شما دارد)

      موفق باشید

      پاسخ
  38. فرهاد

    سلام
    در فیلم گفتن از آدرس nikamooz.com/pfilm1 قسمت اول را دانلود کنید اما چنین آدرسی یافت نشد

    پاسخ
    1. آرزو محمدزاده

      آرزو محمدزاده

      با سلام و عرض ادب

      لینک مورد نظر اصلاح شد مجددا تست فرمایید

      با تشکر

      پاسخ
  39. وحید

    خیلی عالی بود

    پاسخ

ارسال یک نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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

کمپین پایان بهار | ۳۰ درصد تخفیف ویژه پرفروش ترین محصولات
close-image