דינאמי או סטאטי..

  • פותח הנושא xprt
  • פורסם בתאריך

xprt

New member
דינאמי או סטאטי..

הי, אני מתחבט בקשר לעיצוב מבנה נתונים קטנטן(שיכול להכיל מספר בלתי מבוטל של נתונים). הבעייה\הצורך- שמירת נתונים במבנה נתונים לא ידוע. מבנה נתונים שאינו ידוע עד רגע שמירת המידע. מבנה הנתונים יכול להשתנות לאחר ותוך כדי הכנסת מידע (עמודות "יורדות", נוספות -לא בתדירות גבוהה), וכמו כן אפשרות לניתוח מידע על פי המידע שנאגר. הפתרון, 1-בניית מבנה נתונים סטאטי שיתאים להגדרה הדינאמית. 2-בניית מבנה נתונים דינאמי ,כל שכל עמודה תהפוך לשורה. כלומר- שם עמודה ונתונים שלה. לדוגמא הגדרת טבלה: 1-ColumnName 2-ColumnVal 3- rowId יתרונות ל 2- ברורים, אין צורך להגדיר אף פעם מבנה נתונים וגם אם הוא משתנה זה שקוף. חסרונות- ביצוע דוחות מול מאגר נתונים דינאמי, "מורכב" יותר. מס רב של רשומות. חסרונות לאחד, בניית מנגנון דינאמי, שיודע להוסיף להעדכן עמודות. כולל , הסבת מידע,סוגי מידע. אשמח לשמוע רעיונות שלכם. (ברור שיש עוד יתרונות וחסורונות לכל אחד מהשיטות ,אבל העדפתי לציין את ה"כבדים"..) תודה, בני.
 

nattygur

New member
OODB

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

xprt

New member
כן,ש

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

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

xprt

New member
לא בדיוק נכון..

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

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

Admini

New member
XML לא בהכרח מתאים לזה

הוא איטי בהרבה מ-DB עלוב אפילו כמו אקסס.
 
ועל מה אתה מבסס את הטענה הזו ../images/Emo35.gif

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