דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. ביצועי מסד נתונים על גבי הזיכרון

ביצועי מסד נתונים על גבי הזיכרון

מתוזמן נעוץ נעול הועבר ארכיון code613m
4 פוסטים 2 כותבים 343 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • א מנותק
    א מנותק
    ארכיטקט
    כתב ב נערך לאחרונה על ידי
    #1

    שלום לכולם, לאחרונה אני מנסה לחקור את הנושא של ביצועי מסד נתונים, האם האופטימייזר מעלה חומר לזיכרון כדי לזרז שאילתות סלקט ואיך עובד הסיפור הזה.

    השאלה הזאת נשאלת כלפי mysql ו SQL SERVER (מתנצל מראש על עוד 40 מסדי נתונים שלא הזכרתי את שמם... פשוט זה מה שיש בשוק הכי הרבה)
    ב mysql יש דבר מדהים, אפשר מראש לעשות טבלה שכל כולה קיימת רק בזיכרון (ממורי אנג'ין), כאשר עושים למשל ריסטרט לשירות של mysql כל הנתונים נמחקים מהטבלה הזו, זה חשוב מאוד כי זה עשוי לכסות מידע מידע שהוא שימושי רק בשביל הזמן שהדטה בייס/המשתמש "חיים" (נפוץ באפליקציות מסוג משחקים וכדומה) אולם אין מה לעשות איתם לאחר מכן ולכן אין שום צורך "להטריח" את הדיסק הקשיח בנושא.
    לגבי היכולת הזו ב SQL SERVER מצאתי מספר מאמרים אך לא הצלחתי להבין עד הסוף מה קורה שם, והאם זה תקף רק מגירסת 2014 ואילך, או גם בגירסאות נמוכות יותר. כמו"כ לגבי Mysql האם הוא עושה את העבודה הזאת גם עבור טבלאות רגילות שישנם בדיסק הקשיח או לא.
    מי שיוכל לשפוך אור על הנושא אשמח לשמוע כאן תמצית הדברים:

    סידרת מאמרים ב MSDN כפי הנראה בתוקף רק מ 2014 ואילך:

    בתודה מראש ליודעי האנגלית... גוגל לא יודע כל כך טוב.

    פורסם במקור בפורום CODE613 ב07/02/2015 19:09 (+02:00)

    אידיאולוגיות גדולות נכנסות למטחנה של עולם המעשה ויוצאות ממנו בפירורים (ווינסטון צ'רצ'יל, סתם סתם, זה שלי)

    תגובה 1 תגובה אחרונה
    0
    • S מנותק
      S מנותק
      softs
      כתב ב נערך לאחרונה על ידי
      #2

      תמקד יותר את השאלה כי בלינקים שהבאת יש הרבה מאוד חומר . . .

      בעיקרון זה אפשרות לטבלאות שיישבו רק בזיכרון ולא בדיסק (אבל יש כן גיבוי לדיסק) וזה נקרא In-Memory Tables
      הרעיון שונה מאוד מ SQL רגיל כי הוא משתמש בשיטה שונה לסנכרון בין קריאות לכתיבות ולכן (כמעט) לא מבצע נעילות על ה DATA (במקום להמתין הוא נותן לכל אחד ורסיה אחרת של השורה)
      וגם שומר את החומר בזיכרון במבנה יעיל יותר ולא בPages של 8KB (מוכוון קריאה כתיבה לדיסק) זה מייעל גם את האינדקסים והוא גם מעלה לזיכרון DLLים שמכילים את הלוגיקה ומבנה הנתונים על מנת שיהיה אפס I/O בזמן עיבוד השאילתה
      בעת גיבוי מסד הנתונים הטבלאות נשמרות בגלל שיש גיבוי לדיסק ולכן גם ישרדו נפילה של השרת או של ה Process

      פורסם במקור בפורום CODE613 ב08/02/2015 01:02 (+02:00)

      תגובה 1 תגובה אחרונה
      1
      • א מנותק
        א מנותק
        ארכיטקט
        כתב ב נערך לאחרונה על ידי
        #3

        תודה.

        אמקד את השאלה שלי ככה:
        א. האם היכולת הזו ב SQL SERVER קיימת רק מ 2014 ואילך?
        ב. האם זאת טבלה שצריך "לבנות אותה מראש" בצורה כזאת שתהיה אין ממורי, או שאין צורך, והאופטימייזר עושה את זה לבד.
        ג. לפי מה שהבנתי ממך יש גיבוי בדיסק הקשיח, פירושו שזאת טבלה לכל דבר, רק שהמידע שהיא מחזירה לא תמיד מדוייק, האם הבנתי נכון?

        פורסם במקור בפורום CODE613 ב08/02/2015 11:45 (+02:00)

        אידיאולוגיות גדולות נכנסות למטחנה של עולם המעשה ויוצאות ממנו בפירורים (ווינסטון צ'רצ'יל, סתם סתם, זה שלי)

        תגובה 1 תגובה אחרונה
        0
        • S מנותק
          S מנותק
          softs
          כתב ב נערך לאחרונה על ידי
          #4

          א. כן, (בגירסאות קודמות יש משהו שנקרא PINTABLE וזה אומר ל SQL להעלות מראש טבלה מהדיסק לזיכרון, אני לא יודע על זה מספיק)
          ב. כן, כמו טבלה רגילה רק אתה חייב ליצור את האינדקסים יחד עם הטבלה אי אפשר ליצור אינדקסים אחר כך, יש מגבלה על 8060 KB ל ROW, וצריך לבצע כמה שינויים ברמת ה DB
          ג. אתה יכול להחליט אם אתה רוצה גיבוי לדאטה/לסכמה/בכלל לא בעת יצירת הטבלה, הוא מגבה את זה ברקע בצורה שהיא לא מאוד יעילה מבחינת שטח דיסק (בגלל שהוא מוכוון IN MEMORY אבל נותן יכולת לשחזר אם רוצים.
          המידע שהיא מחזירה תמיד מדויק
          OTLP כולל יכולת ליצור גם פרוצדורות שיתקמפלו ויעלו לזיכרון כ DLLים על מנת לשפר ביצועים

          פורסם במקור בפורום CODE613 ב08/02/2015 12:25 (+02:00)

          תגובה 1 תגובה אחרונה
          1

          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

          • התחברו או הירשמו כדי לחפש.
          • פוסט ראשון
            פוסט אחרון
          0
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום