פורסם 2011 בספטמבר 714 שנים אהלן, יש לי בסיס נתונים ובתוכו טבלה שאותה אני מעדכן ממספר מקורות מידע שונים (לצורך הפשטות נאמר שני מקורות מידע). הצרה היא שמקור מידע אחד מתעדכן בקצב איטי יותר מהשני , והשני לא מכיל את כל המידע כמו הראשון. ולכן רק שילוב של שניהם יתן לי תמונה מדוייקת של מה שקורה. הצרה היא שעדכון מהמקור מידע האיטי יכול לדרוס מידע חדש שהגיע מהמקור המהיר, יש שדות שהערך בהם יכול להתקדם רק בכיוון מסויים ואז אין בעיה אבל יש שדות שלא וכאן אני נתקע קצת. אשמח לשמוע רעיונות לפתרון הערה, אני משתמש ב MySQL ו Java אבל השאלה לא קשורה לשפת כל שהיא. תודה
פורסם 2011 בספטמבר 814 שנים אני לא בטוח שהבנתי את הבעיה עד הסוף אבל מה דעתך לשמור time stamps לכל שורה/טור/טבלה ולעדכן רק את אלו שרלוונטים?
פורסם 2011 בספטמבר 1014 שנים מחבר הפתרון הזה לא עובד.אני אנסה להסביר שוב את הבעיה, נאמר שיש לי סכימה בטבלה A שיש לה 4 שדות a,b,c,dA.a הוא המפתח.אז מקור מידע ראשון (האיטי) מעדכן את a,b,cוהמקור מידע השני (האיטי) מעדכן את a,c,dבמצב הזה המידע ב b קיים אך ורק במקור הראשון והמידע ב d קיים אך ורק במקור השני, המידע הבעייתי הוא c שמשותף לשני המקורות.מקורות המידע שלי הם לצורך העניין קבצים שמתעדכנים בתדירות שונה (נאמר אחת לחצי שעה ואחת ל10 דקות) כדי לקבל את המידע הכי רלוונטי אני דוגם אותם כל דקה.הסיטואציה הבעייתית היא שהמידע בb השתנה והמקור המהיר מעדכן אבל בעדכון של המקור האיטי זה עוד לא נקלט ולכן מעודכן ערך ישן.והסיטואציה הזאת ממשיכה לקרות עד שהמקור האיטי מתעדכן.האידיאל זה אם היתה לי מעין פונקצית callback שאומרת לי מתי מקור מידע השתנה ורק אז לעדכן את הדטאבייס, וזה בערך מה שעשיתי.פתרתי את הבעיה על ידי שמירה לוקלית של המידע ואני מעדכן רק כשיש שוני מול הגירסא השמורה, ככה אני יודע שהמידע הוא הכי חדש.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.