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

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

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

שאיבת נתונים מד"ב mysql ישירות לעומת מזכרון בתהליך nodejs רץ

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

    יש לי בממשק הניהול ללקוחות שלי (php-yii2) דף של רשימת תורים, שבו עלי להעביר לjs של הדף גם מערך של המנויים שלו, ומפעם לפעם אם יש שינויים והוספות אני אמור לרענן אותו.
    וזאת מלבד הנתונים העיקריים של הדף, בו מוצג רשימת תורים.
    יש לי 2 דרכים להעביר לphp היוצר את הjs את המידע, א. ע"י שליפת הנתונים מטבלת המנויים (חיבור ל mysql + פעולת סינון על עמודה פרוייקט-יש עליו אינדקס), ב. גישה לתהליך nodejs פנימי ע"י גישה לכתובת http://127.0.0.1:3030/getContacts והתהליך יחזיר מערך מוכן של הנתונים (בתהליך שמור לי בזכרון בלאו הכי כל טבלת המנויים בתוך אובייקט המכיל תתי איבייקטים על פי שם הפרוייקט, דהיינו אני שולף ס'ה res.send(myData.Contacts[projectName]).
    אציין שהרבה מהפעולות של המערכת הנ'ל מבוצעות בעיקר על ידי הנוד, אך רק התצוגה של הממשק שבדר'כ שולף הכל ישירות מהד"ב בנוי בphp.
    השאלה שלי מבחינת צריכת cpu ומבחינת איכות ומהירות, האם יש הבדל או בעיות העלולות לצוץ..
    תודה

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

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

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

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

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

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

        @dovid אמר בשאיבת נתונים מד"ב mysql ישירות לעומת מזכרון בתהליך nodejs רץ:

        הצורה הזאת שכל המערכת על הזיכרון של נוד היא לא מומלצת

        תודה על כל התוספת, נצטרך בעזה"י עם הזמן להגיע לזה.
        בכל מקרה עיקר הסיבה שאני על נוד ואני שומר נתונים בזיכרון היא בגלל צורת העבודה שלי עם המערכות בימות המשיח, שם לכל נתון יש לי קריאה חדשה בhttp ואבוי היה לי אם הייתי שולף לכל קריאה מחדש את כל הנתונים, יכולים להיות לי בדקה כמה מאות בקשות מיותרות לשליפת נתונים מהדאטהביס. (זה היה פעם, והcpu היה תמיד גבוה, לעומת המעבר לנוד שמאז הcpu עבור mysql עומד ברוב היום על אחוזים בודדים 2-5/10)
        אני מתפלא אם redis אמור לעזור לי בזה.

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

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

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

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

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

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

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

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