הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   יעילות מסדי נתונים, SQL | MYSQL | ACCESS (https://hosts.co.il/forums/showthread.php?t=83923)

OrPol 21-07-10 21:59

יעילות מסדי נתונים, SQL | MYSQL | ACCESS
 
שאלה -
אני עובד על אפליקציה גדולה ורצינית בימים אלו, והיא מבצעת תיעוד לכל פעולה.
התיעוד כולל שמירה של שורה עם נתונים של ID, מחרוזת בת 170 תווים, TIMESTAMP, שני שדות INT, עם 10 תווים כל אחד, וTINYINT בודד של ספרה אחת.

המערכת מבצעת בערך 200,000 - 1,000,000 שורות בחודש.

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


בתודה מראש,
אור.

RS324 22-07-10 08:50

בשביל מה אתה צריך את התיעוד הזה ?
אתה גוזר ממנו נתונים אחר כך ?
אתה יכול לשמור עותק לוקאלי ברמה חודשית \ שבועית וכד'
ולרוקן את הטבלה

OrPol 22-07-10 09:30

ציטוט:

נכתב במקור על ידי RS324 (פרסם 772303)
בשביל מה אתה צריך את התיעוד הזה ?
אתה גוזר ממנו נתונים אחר כך ?
אתה יכול לשמור עותק לוקאלי ברמה חודשית \ שבועית וכד'
ולרוקן את הטבלה

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

~The_Sultan~ 22-07-10 10:13

אתה מתכוון שהשליפה לדעתך תהיה כבדה מדי בעבור השרת? אם כן, אתה יכול לנסות לחלק את זה לכמה טבלאות עם PREFIX שונה, למשל - כל השורות בעלות ה-ID מ-1 ועד 10000 יהיו בטבלה first_table, כל השורות בעלות ה-ID מ-10001 ועד 20000 יהיו בטבלה second_table ואז בהתאמה, לשלוף לפי ה-ID שקיבלת: אם קיבלת מספר מ-1 עד 10000 תשלוף מהטבלה השניה וכו' וכו'. זה כמובן דורש עבודה מעצבנת בכל מיני מקומות של התאמת השאילתות..

Shay Ben Moshe 22-07-10 11:25

סולטן, אין שום סיבה לעשות דבר כזה.
אור, הDB מתוכנן לעבוד מול טבלאות גדולות, גם כאלה וגם יותר. אני ממליץ לך לכתוב את הטבלה בצורה נכונה (indexים מתאימים וdata type נכון לכל דבר).
אין שום סיבה שזה לא יעבוד טוב.

OrPol 22-07-10 12:21

ציטוט:

נכתב במקור על ידי Shay Falador (פרסם 772320)
סולטן, אין שום סיבה לעשות דבר כזה.
אור, הDB מתוכנן לעבוד מול טבלאות גדולות, גם כאלה וגם יותר. אני ממליץ לך לכתוב את הטבלה בצורה נכונה (indexים מתאימים וdata type נכון לכל דבר).
אין שום סיבה שזה לא יעבוד טוב.

השאלה היא מה תופס פחות נפח ויותר אמין.
אין לי בעיה לפתח את מערכת התיעוד הזו בASP או PHP.

Shay Ben Moshe 22-07-10 13:58

מה הכוונה תופס פחות נפח. זה לא משנה אם תפתח בASP או בPHP, זה הכל מול מסד נתונים חיצוני הרי.
לגבי ההשוואה בין Access לMySQL אתה לא יכול לדעת בלי להריץ. תפתח מסד עם טבלה כמו שלך ותכניס מלא נתונים ותראה מה קורה.
מה שכן, לדעתי MySQL אמור לתפקד יותר טוב מול מסד גדול. אם אתה רוצה בASP אז עדיף SQL Server.

OrPol 22-07-10 18:40

ציטוט:

נכתב במקור על ידי Shay Falador (פרסם 772339)
מה הכוונה תופס פחות נפח. זה לא משנה אם תפתח בASP או בPHP, זה הכל מול מסד נתונים חיצוני הרי.
לגבי ההשוואה בין Access לMySQL אתה לא יכול לדעת בלי להריץ. תפתח מסד עם טבלה כמו שלך ותכניס מלא נתונים ותראה מה קורה.
מה שכן, לדעתי MySQL אמור לתפקד יותר טוב מול מסד גדול. אם אתה רוצה בASP אז עדיף SQL Server.

Mysql ואני חברים יותר טובים.

~The_Sultan~ 22-07-10 21:30

ציטוט:

נכתב במקור על ידי Shay Falador (פרסם 772320)
סולטן, אין שום סיבה לעשות דבר כזה.
אור, הDB מתוכנן לעבוד מול טבלאות גדולות, גם כאלה וגם יותר. אני ממליץ לך לכתוב את הטבלה בצורה נכונה (indexים מתאימים וdata type נכון לכל דבר).
אין שום סיבה שזה לא יעבוד טוב.

זה לא תמיד נכון, כמו למשל אם עושים order by rand() במסד ענק זה ישחיט לך את השרת.. (לא ישחיט באמת, פשוט יכביד וייקח הרבה זמן :))

Shay Ben Moshe 22-07-10 23:45

ORDER BY RAND() זו פקודה ממש ממש לא חכמה. אבל זו בכלל לא הבקשה פה.


כל הזמנים הם GMT +2. הזמן כעת הוא 16:21.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ