עבור לתוכן

עדכון בסיס נתונים ממספר מקורות

Featured Replies

פורסם

אהלן,

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

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

ולכן רק שילוב של שניהם יתן לי תמונה מדוייקת של מה שקורה.

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

אשמח לשמוע רעיונות לפתרון :)

הערה, אני משתמש ב MySQL ו Java אבל השאלה לא קשורה לשפת כל שהיא.

תודה

פורסם

אני לא בטוח שהבנתי את הבעיה עד הסוף אבל מה דעתך לשמור time stamps לכל שורה/טור/טבלה ולעדכן רק את אלו שרלוונטים?

פורסם
  • מחבר

הפתרון הזה לא עובד.

אני אנסה להסביר שוב את הבעיה, נאמר שיש לי סכימה בטבלה A שיש לה 4 שדות a,b,c,d

A.a הוא המפתח.

אז מקור מידע ראשון (האיטי) מעדכן את a,b,c

והמקור מידע השני (האיטי) מעדכן את a,c,d

במצב הזה המידע ב b קיים אך ורק במקור הראשון והמידע ב d קיים אך ורק במקור השני, המידע הבעייתי הוא c שמשותף לשני המקורות.

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

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

והסיטואציה הזאת ממשיכה לקרות עד שהמקור האיטי מתעדכן.

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

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

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים