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

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

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

אחסון קבצים במסד הנתונים עצמו

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

    אני לא יודע אם זה מתאים למקרה שלך, אבל יש מסדי נתונים שתומכים בקובץ (או סתם מידע בינארי) בתור data type של עמודה.
    יש כאלו שאפילו מתיימרים להיות יותר מהירים מהמערכת קבצים.
    https://www.sqlite.org/fasterthanfs.html

    (תודה ל @yossiz על שהראה לי את הקישור הזה)

    עריכה: אני רואה שיש מקום לדון בזה https://www.sqlite.org/intern-v-extern-blob.html

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

      @חגי נדירים המקרים בהם זה מתאים/חכם לשמור קבצים במסד הנתונים,
      ואז הייתי גם ממליץ להשתמש בשירות כזה בתשלום ולא להתעסק עם זה לבד.

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

        @dovid
        חוץ ממה שלא ניתן לארח קבצים כאלו כקבצים סטאטיים ע"י השרת, אילו עוד חסרונות יש בגישה הזאת שהופכות את ההתאמה שלה להיות נדירה?

        ElhananE dovidD 2 תגובות תגובה אחרונה
        0
        • ElhananE מנותק
          ElhananE מנותק
          Elhanan
          השיב לחגי ב נערך לאחרונה על ידי Elhanan
          #4

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

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

          באופן כללי אלו הבעיות המרכזיות, יש גם בעיות יותר קטנות כמו קושי בתחזוקה/הרחבה וגיבוי, וכן בגדול האחסון, לדוגמא נניח ותחליט לאחסן מסמך כטקסט, תצטרך לוגיקה שתמיר לBase64, שחוץ מזה שהוא לוקח 33 אחוז יותר מקום מקובץ המקור, תצטרך גם לוגיה לקריאה ולכתיבה, מגבלת גודל לכל ״מסמך״ שקיימת מרוב מסדי הנתונים (לדוגמא ב-MongoDB מגבלת הגודל היא 16 מגה למסמך אם לא משתמשים ב GridFS שמחלק את הקובץ לחלקים קטנים (255 kB אם אני לא טועה)), וכו׳.

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

          יש בSO נושא גדול בנושא, אולי יעניין אותך:
          https://stackoverflow.com/q/3748/20935697

          פורום איש את רעהו|חיתוך שירים|בלוג|מקצר קישורים|ביו

          dovidD תגובה 1 תגובה אחרונה
          4
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            השיב לחגי ב נערך לאחרונה על ידי dovid
            #5

            @חגי ראשית אני לא כ"כ יודע, בקושי ראיתי בחיי כאלו שמימשו את זה (וכמעט על מסד נתונים תומך בזה), וראיתי דבר או שניים.
            שנית, לא קשה לתאר בראש הרבה צרות... אני מצטרף לחלק ממה שכתב @Elhanan, בפרט הגירה לשרת אחר וכדומה שזה נהפך לקשה בהרבה.
            אך הבעיה ש@Elhanan כתב עם ההאטה, זה רק שמירה סתם בטבלה + הרגל מגונה של select *, בשמירה בטבלה ייעודית (שבלי קשר זה מתבקש מאוד כי יש לכל קובץ מאפיינים מינמליים) אז הבעיה הזו איננה.

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            תגובה 1 תגובה אחרונה
            3
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              השיב לElhanan ב נערך לאחרונה על ידי
              #6

              @Elhanan כתב באחסון קבצים במסד הנתונים עצמו:

              לדוגמא נניח ותחליט לאחסן מסמך כטקסט, תצטרך לוגיקה שתמיר לBase64, שחוץ מזה שהוא לוקח 33 אחוז יותר מקום מקובץ המקור

              מה פתאום הוא ירצה לשמור מסמך כטקסט? וכי בדיסק זה שמור כטקסט?

              מגבלת גודל לכל ״מסמך״ שקיימת מרוב מסדי הנתונים (לדוגמא ב-MongoDB מגבלת הגודל היא 16 מגה למסמך אם לא משתמשים ב GridFS שמחלק את הקובץ לחלקים קטנים (255 kB אם אני לא טועה)), וכו׳.

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

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

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

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

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