ABA


"מבחינת ביצועים, מה עדיף לטעון מידע מ- DB או מ- JSON?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #22471 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 22471
Lonjie  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 9.3.10
6516 הודעות, 2 פידבק, 3 נקודות
   16:34   10.09.22   
אל הפורום  
  מבחינת ביצועים, מה עדיף לטעון מידע מ- DB או מ- JSON?  
 
   היי חברים,
שאלה, לדוגמא יש אתר ecommerce עם 10000 מוצרים,
מבחינת ביצועים, איך טעינת המידע של המוצרים עדיפה, מתוך DB או מקבצי JSON?

תודה רבה.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  טעינה לתוך מה? dj_boy 10.09.22 17:59 1
     טעינת המידע לתוך העמוד. Lonjie  10.09.22 18:40 2
         שתף קצת יותר על המערכת dj_boy 10.09.22 22:04 5
             בגדול מדובר ב- 2 אתרים, Lonjie  11.09.22 10:53 7
                 JSON מיועד לשלב ההעברה ולא לשלב השימוש dj_boy 11.09.22 15:28 9
                     אוקי, קיבלתי, מעולה. Lonjie  12.09.22 10:39 12
  DB....... תחקור קצת כדי להבין את ההבדלים והשימושים. Along1 10.09.22 19:11 3
  במידה ומדובר באתר סטנדרטי שהמוצרים בו דינאמיים - אין ספק שעדיף DB Mr Andersson 10.09.22 19:17 4
     המוצרים כן השתנו (יותר נכון התוכן בהם), לא יודע עדיין באיזו תדירות. Lonjie  12.09.22 10:37 10
  כמו שאמרו, בכללי עדיף DB לדברים כאלו. Bar  11.09.22 07:41 6
     +1 נוסיף את עניין אינדוקס המידע ומהירות השליפה לעומת איטרציה על כל האובייקטים sza  11.09.22 14:54 8
         מקבל Lonjie  12.09.22 10:38 11
  שאלה נוספת חברים, איך עדיף לנהל את הכניסה למוצרים, Lonjie  12.09.22 10:41 13
     תלוי חחה dj_boy 12.09.22 12:19 14
     קח בחשבון שקריאה מDB תהיה מהירה בהרבה מאשר קריאת http מהשרת החוצה sza  12.09.22 16:48 15
         אני לא רואה כל כך את ההבדל דוקטור חייק  14.09.22 20:45 16
  DB ואם אתה ממש ממש מודאג ממהירות kickass 31.10.22 03:24 17

       
dj_boy
חבר מתאריך 16.4.18
418 הודעות, דרג אמינות חבר זה
   17:59   10.09.22   
אל הפורום  
  1. טעינה לתוך מה?  
בתגובה להודעה מספר 0
 
   כעיקרון כמה שפחות IO יותר טוב
אבל זה מאוד תלוי בצרכים המדויקים שלך


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Lonjie  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 9.3.10
6516 הודעות, 2 פידבק, 3 נקודות
   18:40   10.09.22   
אל הפורום  
  2. טעינת המידע לתוך העמוד.  
בתגובה להודעה מספר 1
 
   קריאה מתוך DB, או קריאה מתוך קבצי JSON

@dj_boy@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dj_boy
חבר מתאריך 16.4.18
418 הודעות, דרג אמינות חבר זה
   22:04   10.09.22   
אל הפורום  
  5. שתף קצת יותר על המערכת  
בתגובה להודעה מספר 2
 
   לא נתת מספיק מידע בשביל לקבל תשובה יעילה
סביר להניח ש־DB זה הדבר היחיד ההגיוני, אבל... זה תלוי מה בדיוק את עושה ואיך.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Lonjie  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 9.3.10
6516 הודעות, 2 פידבק, 3 נקודות
   10:53   11.09.22   
אל הפורום  
  7. בגדול מדובר ב- 2 אתרים,  
בתגובה להודעה מספר 5
 
   2 אתרים המבוססים וורדפרס,
אחד מהם הוא Scarper שקורא מידע ממקור חיצוני, מעבד, ואז דוחף לאתר הראשי.

האתר הראשי אמור להיות רזה ולהכיל רק את המידע על המוצרים בתצורת DB או JSON.
וורדפרס בכללי עובדת עם MySQL.

אז סתם עניין אותי, אולי שווה להחליף את העבודה עם MySQL עם קבצי JSON.

@dj_boy@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dj_boy
חבר מתאריך 16.4.18
418 הודעות, דרג אמינות חבר זה
   15:28   11.09.22   
אל הפורום  
  9. JSON מיועד לשלב ההעברה ולא לשלב השימוש  
בתגובה להודעה מספר 7
 
   DB מיועד לשלב השימוש במידע.
ציינת שאתה על וורדפרס ככה שבזיליון אחוז לא תרוויח דבר משמירה של מידע כזה ב־JSON


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Lonjie  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 9.3.10
6516 הודעות, 2 פידבק, 3 נקודות
   10:39   12.09.22   
אל הפורום  
  12. אוקי, קיבלתי, מעולה.  
בתגובה להודעה מספר 9
 
  

@dj_boy@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Along1
חבר מתאריך 30.8.20
1440 הודעות, דרג אמינות חבר זה
   19:11   10.09.22   
אל הפורום  
  3. DB....... תחקור קצת כדי להבין את ההבדלים והשימושים.  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Mr Andersson
חבר מתאריך 19.3.02
6525 הודעות, 1 פידבק, -2 נקודות
   19:17   10.09.22   
אל הפורום  
  4. במידה ומדובר באתר סטנדרטי שהמוצרים בו דינאמיים - אין ספק שעדיף DB  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Lonjie  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 9.3.10
6516 הודעות, 2 פידבק, 3 נקודות
   10:37   12.09.22   
אל הפורום  
  10. המוצרים כן השתנו (יותר נכון התוכן בהם), לא יודע עדיין באיזו תדירות.  
בתגובה להודעה מספר 4
 
  

@Mr Andersson@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Bar  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
24213 הודעות, 7 פידבק, 14 נקודות
   07:41   11.09.22   
אל הפורום  
  6. כמו שאמרו, בכללי עדיף DB לדברים כאלו.  
בתגובה להודעה מספר 0
 
   סיבה מובהקת:
בשביל לקרוא שדה מתוך JSON, צריך לטעון את כל הJSON במלואו מהדיסק לתוך הזיכרון, בעוד שבDB אתה מבצע שאילתא ספציפית עבור הערכים שאתה צריך, והקריאה של הערך מהדיסק קצרה יותר.

נשלח ע"י הסלולרי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sza  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 26.4.02
12895 הודעות, 22 פידבק, 43 נקודות
   14:54   11.09.22   
אל הפורום  
  8. +1 נוסיף את עניין אינדוקס המידע ומהירות השליפה לעומת איטרציה על כל האובייקטים  
בתגובה להודעה מספר 6
 
  


צחי.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Lonjie  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 9.3.10
6516 הודעות, 2 פידבק, 3 נקודות
   10:38   12.09.22   
אל הפורום  
  11. מקבל  
בתגובה להודעה מספר 8
 
   @Bar@
@sza@


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Lonjie  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 9.3.10
6516 הודעות, 2 פידבק, 3 נקודות
   10:41   12.09.22   
אל הפורום  
  13. שאלה נוספת חברים, איך עדיף לנהל את הכניסה למוצרים,  
בתגובה להודעה מספר 0
 
   ברגע שהלקוח הסופי נכנס למוצר רק אז לעשות קריאת API לשרת חיצוני,
או ברגע שהלקוח הסופי נכנס למוצר אז עושים קריאת DB לשרת שלי. (והקריאות ל- API החיצוני מתבצעות עם CronJob חיצוני על מנת ל"שאוב" את המידע)

בדרך הראשונה, אני בעצם לא שומר הרבה מידע על השרת שלי
בדרך השני, המידע נשמר אצלי ואז כמובן ה- DB יהיה בהתאם.

אשמח לשמוע את דעתכם בנושא.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dj_boy
חבר מתאריך 16.4.18
418 הודעות, דרג אמינות חבר זה
   12:19   12.09.22   
אל הפורום  
  14. תלוי חחה  
בתגובה להודעה מספר 13
 
   כעיקרון כמה שפחות לקרא מה־API יותר טוב
אם אתה יודע מה ה"תוקף" של המידע המתקבל מה־API
אז אתה צריך לקרא מה־API רק כשהתוקף עבר
אם לא, אם המידע לא יכול להיות שגוי בשופ"א אז אתה צריך לעשות בכל פעם קריאה
אם המידע יכול להיות "ישן" תעשה קריאה ל־API רק אם עבר חמש דקות (או כל פרק זמן הגיוני אחר עבורך) מאז הקריאה הקודמת

בעיקרון הקונספט הזה נקרא מטמון
תקרא על זה קצת api caching


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sza  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 26.4.02
12895 הודעות, 22 פידבק, 43 נקודות
   16:48   12.09.22   
אל הפורום  
  15. קח בחשבון שקריאה מDB תהיה מהירה בהרבה מאשר קריאת http מהשרת החוצה  
בתגובה להודעה מספר 13
 
  
ותחשוב שאם נכנסים עומס של משתמשים לדף מסויים, השרת שלך יבצע הרבה קריאות http החוצה.
רוב הסיכויים שבשביל חווית משתמש נורמאלית עדיף לך לשלוף את המידע ולהשאיר אותו על db לוקאלי (ברשת לוקאלית של השרת או על השרת עצמו ממש). ככה הכניסה לדף תהיה מהירה בהרבה עבור המשתמש.


צחי.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דוקטור חייק  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 14.12.06
40921 הודעות, 13 פידבק, 25 נקודות
   20:45   14.09.22   
אל הפורום  
  16. אני לא רואה כל כך את ההבדל  
בתגובה להודעה מספר 15
 
   ערכתי לאחרונה בתאריך 14.09.22 בשעה 20:48 בברכה, דוקטור חייק
 
יכול להיות שלא הבנתי אותו כמו שצריך,
אבל נראה לי שהוא שאל אם לשמור את המידע על ה- DB שלו, או שלא ושהמידע ישב על ספק חיצוני.

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

במקרה הזה, במידה ומדובר ב- SINGLE PAGE APPLICATION,
אז יהיה פניית http החוצה בשני האפשרויות, וחווית המשתמש צריכה להיות פחות או יותר זהה.
מבחינה ה- BACK או שהוא יפנה לשרת שלו, או של הספק החיצוני (או לשרת שלו שיהווה middleware לשרת החיצוני, אני לא רואה את כל התמונה אז אני לא יודע)

בכל אופן לא הבנתי כל כך את הסיטואציה,
אבל לא נראה לי שיהיה הבדל בין 2 הפתרונות, למה לדעתך DB לוקאלי יהיה יותר מהיר ? אולי השרת של הספק החיצוני יותר מהיר מהשרת שלו ?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
kickass
חבר מתאריך 22.3.02
1540 הודעות, דרג אמינות חבר זה
   03:24   31.10.22   
אל הפורום  
  17. DB ואם אתה ממש ממש מודאג ממהירות  
בתגובה להודעה מספר 0
 
   יכול להשתמש בMemcache על מנת לשמור בזכרון מידע. זה יעזור אם יש מוצרים יותר פופולריים ויחסוך טעינה מהדאטאבייס. אבל עם חומרה טובה ואינדקסים נכונים לא אמורה להיות לך בעיה בכלל


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       
דרג לפי חשיבות הנושא  דרג לפי חשיבות הנושא   



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net