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

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

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

אם איזה DB נכון להשתמש?

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

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

    האם לתת לו אפשרות ליצור טבלאות ממש עבור כל משתמש?
    או לעבוד עם DB מבוסס אובייקטים (או אולי SQL עם אפשרות לשדה JSON)?
    אשמח לשמוע תגובות ורעיונות בהתבסס על כל הבחינות.

    תודה מראש.

    OdedDvirO תגובה 1 תגובה אחרונה
    0
    • OdedDvirO מנותק
      OdedDvirO מנותק
      OdedDvir
      השיב לש.ב.ח. ב נערך לאחרונה על ידי OdedDvir
      #2

      @ש-ב-ח אמרת:

      אשמח לשמוע תגובות ורעיונות בהתבסס על כל הבחינות.

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

      על כל פנים הנה השנקל שלי:

      האם לתת לו אפשרות ליצור טבלאות ממש עבור כל משתמש?

      באופן כללי, טבלה לכל משתמש זה נשמע כמו פרקטיקה גרועה מאוד.

      או לעבוד עם DB מבוסס אובייקטים (או אולי SQL עם אפשרות לשדה JSON)?

      אני לא מבין למה הכוונה "מבוסס אובייקטים". אני מנחש שכוונתך לNoSQL ושכאן אתה מנסה לפתור את הבעיה של הסכימה שאינה ידועה מראש. כאן דעתי נוטה לכיוון מונגו. SQL עם שדה JSON הרבה יותר מסורבל אם אתה הולך לשמור נתונים גם בJSON וגם במבנה רלציונאלי סטנדרטי.

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

        @odeddvir
        אני אנסה לפרט יותר
        מדובר בחברה שמנהלת עסקים (כלומר יועצים, ומנהלים בפועל כמו מזכירות וכדו')
        עד היום הם בנו לכל לקוח שלהם קובץ אקסל
        הוא מעוניין להחליף את הרעיון לתוכנה בשרת (הרווחים הם: וויזואל נקי וחוויתי, אפשרות לבצע שינויים בקוד מרחוק, עדכוני נתונים מרחוק, עבודה בצוות וכו', הוא בדק את google shhets וזה לא מתאים לו וגם לא מסייע בבעיה הוויזואלית)

        מקווה שעכשיו יותר ברור מה האפיון...

        בקיצור הסכימה גם היא דינמית ומשתנה מלקוח ללקוח (מזכיר לי יותר את מבנה הפוסטים של וורדפרס, למי שמכיר)
        וכאן השאלה עם לעבוד כמו וורדפרס או לעבוד עם מונגוDB (אני עובד עם laravel כך שאצטרך קומבינציה למונגו) או לעבוד עם SQL ושדה JSON או ליצור לכל משתמש db נפרד!!! ויצירת טבלאות נפרדות...

        OdedDvirO תגובה 1 תגובה אחרונה
        0
        • OdedDvirO מנותק
          OdedDvirO מנותק
          OdedDvir
          השיב לש.ב.ח. ב נערך לאחרונה על ידי
          #4

          @ש-ב-ח אני בכלל לא מכיר את וורדפרס ולא את Laravel, כך שאין לי דעה בענין.
          מנקודת מבט של תכנון ה- Backend, נראה לי שעדיף טבלה אחת גדולה, כי יש כאן חברת ניהול אחת לכל העסקים. עיין מה שכתבתי כאן: https://tchumim.com/topic/9394/תכנון-db/6
          אם היית מנהל כמה חברות כאלו, לכאורה הייתי משתמש ב-db נפרד לכל אחת, על אף שהלוגיקה העסקית זהה.
          יש כאן עוד דיון מעניין בנושא החלוקה לכמה בסיסי נתונים: https://dba.stackexchange.com/questions/1043/what-problems-will-i-get-creating-a-database-per-customer

          ש תגובה 1 תגובה אחרונה
          2
          • ש מנותק
            ש מנותק
            ש.ב.ח.
            השיב לOdedDvir ב נערך לאחרונה על ידי ש.ב.ח.
            #5

            @odeddvir
            בוורדפרס הפוסטים נשמרים באופן הבא:
            טבלת posts

            id   |   title    |  content    |   ...
            

            וטבלת postmeta

            id    |    post_id    |    meta_key    |    meta_value
            

            כך בעצם ניתן להוסיף כמה meta שתרצה.

            לא הבנתי, אתה מתכוון שאם היו לי כמה לקוחות כאלו, או שכוונתך שכיוון שהלקוח שלי מנהל כמה וכמה חברות כדאי שלכל אחד יהיה DB נפרד? (אגב חשבתי על זה מראש, זה נראה לך יותר נכון?)

            OdedDvirO תגובה 1 תגובה אחרונה
            0
            • OdedDvirO מנותק
              OdedDvirO מנותק
              OdedDvir
              השיב לש.ב.ח. ב נערך לאחרונה על ידי
              #6

              @ש-ב-ח נראה לי שלא הובנתי.

              השתמשתי במונחים שבהם השתמשת, כפי שאתה הגדרת אותם בשאלתך:

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

              הקו המנחה הוא פשוט:

              • היכן שיש צורך להתייחס לכל הנתונים בצורה גלובלית (למשל: שאילתת ניתוח הפעילות של כל העסקים ביחד) - עדיף לאגד הכל תחת db יחיד. לכן, אם אתה מתעסק מול חברת ניהול אחת שמנהלת כמה עסקים - תשתמש ב- db יחיד.
              • היכן שאין קשר בין הישויות (כלומר: אתה מתעסק עם כמה חברות ניהול נפרדות, שכל אחת מנהלת כמה עסקים) - תשתמש ב- db נפרד לכל חברת ניהול.
              תגובה 1 תגובה אחרונה
              4

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

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

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