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

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

dabi 22-05-10 20:52

שיקול יעילות במסדים...
 
אהלן
אני עושה מערכת שפותחת פורומים של IPB אוטומטי לאנשים
זה אומר שכל מי שנירשם יהיה לו פורום
יש 2 אופציות לעשות את זה
לכל מי שנירשם נוצר מסד(בדקתי והמסד הראשוני של המערכת שוקל 450 קילו בייט)
או לאחד את כל הפורומים למסד 1 , מה שלדעתי יצור קצת עומס כיוון שהרי כל פורום מציג את כל ההודעות שבתוכו זה יהיה "חולני" שהוא ירוץ על מסד שמכיל בתוכו עשרות פורומים ...
מה דעתכם??

הייתרון בשיטה הראשונה זה שכל פורום יריץ רק את הפורום שלו,וכך יהיה חיסכון בשאילתות
החיסרון הוא שלכל משתמש שנירשם הוא כבר תופס לי 450 קילו בייט

בשיטה השניה זה הפוך-ייתרון אני חוסך את הנפח של המסד הראשוני לכל בן אדם
והחיסרון שכל שאילתה לדעתי תיהיה ארוכה יותר

אשמח לדעות

Itay 22-05-10 20:59

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

Erez | TrustMedia.co.il 22-05-10 21:11

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

אדיר 23-05-10 08:28

מסד חדש לכל פורום עדיף..

intercooler3819 23-05-10 11:38

אותו מסד, אותם טבלאות רק עם PREFIX אחר

דרך אגב יש לי מערכת כזאת מוכנה איפהשהו..

dabi 23-05-10 11:51

ציטוט:

נכתב במקור על ידי nitsanbn (פרסם 765035)
אותו מסד, אותם טבלאות רק עם PREFIX אחר

דרך אגב יש לי מערכת כזאת מוכנה איפהשהו..

לא הבנתי
אשמח להסבר טיפה יותר מפורט

Shay Ben Moshe 23-05-10 13:25

ניצן מתכוון שלכל הפורומים יהיה את אותו המסד אבל נגיד לטבלאות שלי יקראו:
user1_table_name
לטבלאות שלך יקראו
user2_table_name
וכו'.

אני גם תומך בשיטה הזו.

dabi 23-05-10 13:54

ציטוט:

נכתב במקור על ידי Shay Falador (פרסם 765050)
ניצן מתכוון שלכל הפורומים יהיה את אותו המסד אבל נגיד לטבלאות שלי יקראו:
user1_table_name
לטבלאות שלך יקראו
user2_table_name
וכו'.

אני גם תומך בשיטה הזו.

אז בו נמקד
ב IPB יש עשרות טבלאות
בוא לצורך הדוגמא ניקח 4 טבלאות לדוגמא
forum
topic
rep
mem
ולמסד שלי קוראים
dabi_forum
אז מה לעשות?
שכל פעם שמשתמש חדש נירשם ואני רוצה לפתוח לו פורום אני יוסיף למסד עוד 4 טבלאות???
(זה אומר שבמציאות אם IPB מכילה 40 טבלאות אז לאחר כל הרשמה של משתמש אני מוסיף עוד 40 טבלאות ??)
אם כן אז מה ההבדל בין זה לבין לפתוח מסד חדש

Erez | TrustMedia.co.il 23-05-10 14:36

ציטוט:

נכתב במקור על ידי dabi (פרסם 765053)
אז בו נמקד
ב IPB יש עשרות טבלאות
בוא לצורך הדוגמא ניקח 4 טבלאות לדוגמא
forum
topic
rep
mem
ולמסד שלי קוראים
dabi_forum
אז מה לעשות?
שכל פעם שמשתמש חדש נירשם ואני רוצה לפתוח לו פורום אני יוסיף למסד עוד 4 טבלאות???
(זה אומר שבמציאות אם IPB מכילה 40 טבלאות אז לאחר כל הרשמה של משתמש אני מוסיף עוד 40 טבלאות ??)
אם כן אז מה ההבדל בין זה לבין לפתוח מסד חדש

כנראה יש הבדל מבחינת ביצועים,בכל מקרה אתה לא צריך להכין את זה,זה מובנה בתוך IPB,אם תראה בהתקנה יש מקום שאתה רושם את הprefix הזה

dabi 23-05-10 14:39

ציטוט:

נכתב במקור על ידי WiPi (פרסם 765055)
כנראה יש הבדל מבחינת ביצועים,בכל מקרה אתה לא צריך להכין את זה,זה מובנה בתוך IPB,אם תראה בהתקנה יש מקום שאתה רושם את הprefix הזה

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

SniR-S 23-05-10 15:55

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

כשזה יהיה עם prefix אחר לכל משתמש לפי דעתי זה יצור לך המון בלאגן,
תחשוב שיש לך 50 משתמשים שרשומים למערכת שלך,
50 * 35 (נניח שיש 35 טבלאות ל- IPB ללא מודים ותוספות) = 1750 טבלאות.
מה שאומר שאם תרצה לחפש משהו / לתקן / לשנות, יקח לך מלא זמן,
עזוב שאתה יכול לחפש עם ctrl+f..
מעבר לכך הכל יהיה לך תקוע (בהנחה שיש לך מחשב ממוצע 1GB זיכרון),
וזה יעלה יותר לאט וכו' וכו'..

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

dabi 23-05-10 16:03

ציטוט:

נכתב במקור על ידי Snir Shamka (פרסם 765081)
אם אני לא טועה יותר יעיל לך כל פורום מסד חדש..
מבחינת משקל, נתונים, ביצועים ושיהיה לך יותר נוח..
תוכל לדעת מה שייך למה, מי למי וכו'..

כשזה יהיה עם prefix אחר לכל משתמש לפי דעתי זה יצור לך המון בלאגן,
תחשוב שיש לך 50 משתמשים שרשומים למערכת שלך,
50 * 35 (נניח שיש 35 טבלאות ל- IPB ללא מודים ותוספות) = 1750 טבלאות.
מה שאומר שאם תרצה לחפש משהו / לתקן / לשנות, יקח לך מלא זמן,
עזוב שאתה יכול לחפש עם ctrl+f..
מעבר לכך הכל יהיה לך תקוע (בהנחה שיש לך מחשב ממוצע 1GB זיכרון),
וזה יעלה יותר לאט וכו' וכו'..

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

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

אשמח לשמוע מ nitsanbn תגובה על כך ועל מה ששאלתי עליו קודם

intercooler3819 23-05-10 19:11

ההבדל הוא שעבודה עם דטאבייס אחד הרבה יותר מהירה מעבודה עם כמה דטאבייסים
ומניסיון שלי עם המערכות פורומים האלה מסד עם 4700 טבלאות כאלו עובד הרבה יותר טוב מ47 מסדים עם 100 טבלאות בכל אחד

בהצלחה

RS324 23-05-10 19:13

עקרונית אני ממליץ לך לפצל את זה למסדים ואני אגיד לך למה :

אם תגיע לגודל גדול , תוכל לפצל את המסד נתונים לשרתים מבלי להתעסק בהגדרות מסובכות של PARTITIONS לפי טבלאות
גדלי קבצים, אני לא זוכר בדיוק אם כל טבלה נרשמת בקובץ DATA נפרד שכל מסד בקובץ DATA נפרד

גיבוי ושיחזור
יהיה לך הרבה יותר קל לגבות כל מסד בנפרד (להריץ סקריפט שעובר על כל המסדים בשרת ומגבה אותם) מאשר לגבות מסד גדול (זה לא שאתה יכול לשחזר מסד של 3 גיגה דרך PHPMYADMIN)

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

RS324 23-05-10 19:16

ציטוט:

נכתב במקור על ידי nitsanbn (פרסם 765106)
ההבדל הוא שעבודה עם דטאבייס אחד הרבה יותר מהירה מעבודה עם כמה דטאבייסים
ומניסיון שלי עם המערכות פורומים האלה מסד עם 4700 טבלאות כאלו עובד הרבה יותר טוב מ47 מסדים עם 100 טבלאות בכל אחד

בהצלחה

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

ככה אני הבנתי...

dabi 23-05-10 19:21

ציטוט:

נכתב במקור על ידי nitsanbn (פרסם 765106)
ההבדל הוא שעבודה עם דטאבייס אחד הרבה יותר מהירה מעבודה עם כמה דטאבייסים
ומניסיון שלי עם המערכות פורומים האלה מסד עם 4700 טבלאות כאלו עובד הרבה יותר טוב מ47 מסדים עם 100 טבלאות בכל אחד

בהצלחה

למה מסד על 4700 טבלאות עובד יותר מהר מ 100 מסדים עם 100 טבלאות?


ציטוט:

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

ככה אני הבנתי...

כן
לכל יוזר יש מסד משלו

RS324 23-05-10 23:03

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

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

+ אני לא בטוח שלעבוד עם מסד אחד זו הדרך הנכונה ביותר (ההבדל היחידי הוא כמות ה CONNECTIONS שתצטרך לפתוח במידה ותצטרך להציג מידע ביותר ממסד אחד - למרות שתמיד תוכל לעשות מעיין VIEW במסד שמציג מידע ממסדים אחרים ואז דרך הקוד של ה PHP אתה ניגש למסד אחד בלבד עם ה VIEW בתוכו)

dabi 23-05-10 23:24

ציטוט:

נכתב במקור על ידי RS324 (פרסם 765149)
באופן עקרוני אתה לא DBA שיכול להתעסק עם כמות ענקית של טבלאות , ולעשות PARTITIONS במידה שצריך ויעול של ה CONFים לרמה של צריכת זיכרון וגיבוי וכד'.

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

+ אני לא בטוח שלעבוד עם מסד אחד זו הדרך הנכונה ביותר (ההבדל היחידי הוא כמות ה CONNECTIONS שתצטרך לפתוח במידה ותצטרך להציג מידע ביותר ממסד אחד - למרות שתמיד תוכל לעשות מעיין VIEW במסד שמציג מידע ממסדים אחרים ואז דרך הקוד של ה PHP אתה ניגש למסד אחד בלבד עם ה VIEW בתוכו)

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

RS324 23-05-10 23:50

450kb זה לא כזה הרבה, אני לא מכיר את המערכת של IPB מבפנים - לא יצא לי לעבוד איתה אני מאמין שיש שם כל מיני הגדרות למינהם שקשורים בתוכנה, אם בא לך להתעסק בזה
תבדוק איזה טבלאות תופסות מקום תבדוק אם הם חוזרות על עצמן , תעביר את כל הנתונים לקובץ ותקרא לו מכל ההתקנות של הפורומים ואז תוכל לחסוך כמה טבלאות בדרך


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

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

dabi 23-05-10 23:59

ציטוט:

נכתב במקור על ידי RS324 (פרסם 765159)
450kb זה לא כזה הרבה, אני לא מכיר את המערכת של IPB מבפנים - לא יצא לי לעבוד איתה אני מאמין שיש שם כל מיני הגדרות למינהם שקשורים בתוכנה, אם בא לך להתעסק בזה
תבדוק איזה טבלאות תופסות מקום תבדוק אם הם חוזרות על עצמן , תעביר את כל הנתונים לקובץ ותקרא לו מכל ההתקנות של הפורומים ואז תוכל לחסוך כמה טבלאות בדרך


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

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

במידה ויהיו 100 פורומים 450 מגה אני עדיין יכול להיות תחת רסיילר... עד שהתעבורה/רוחב פס לא יטחנו את בעל השרת

בכל מקרה אני מודה לך

dabi 24-05-10 12:57

אגב מצאתי את הטבלה שלוקחת כ 350 מתוך 450 קילו בייט
היא זהה ולא משתנה בין כל פורום לפורום( הטבלה מכילה קוד HTML של הסקין מחולק לכמה עמודות ותאים)
האם כדאי שכל פורם ופורום יקרא את הטבלה ממסד 1?
ואז בעצם כל פורום יתחבר ל 2 מסדים ניפרדים?
1- מסד שיכיל את כל הפורום
2- מסד שיכיל רק את הטבלה של הסקין הזאת וככה אני יחסוך כ 350 קילו בייטל הרשמה

RS324 24-05-10 13:20

איזה סקין של הניהול או של הפורום ?
תחשוב על זה ככה כל משתמש שיתחבר ייפתח לך חיבורים ל 2 מסדים
עדיף לך לעשות את התוכן של הטבלה כקובץ שהוא SHARED בין כל הפורומים (או פשוט לכל פורום בנפרד - מה שנוח לך)
ולחפש את המקום שקוראים לטבלה ולשנות את הפונקציה שתקרא לקובץ במקום לטבלה
זה גם ככה משהו סטטי שלא משתנה, ככה שיהיה קריאה לקובץ + התחברות למסד

לא שווה לך מבחינת משאבים לפתוח 2 חיבורים ל MYSQL בשביל DATA שהוא סטטי ובמיוחד שזה ה DATA היחידי שאתה לוקח ואין לך שאליתות נוספות לDB הנוסף

intercooler3819 24-05-10 14:12

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

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

שכן עוד 350KB בדטאביייס לא יעשו את ההבדל - כי ממילא לא ניגשים אליהם..

RS324 24-05-10 15:50

ציטוט:

נכתב במקור על ידי nitsanbn (פרסם 765213)
איזה IPB אתה מריץ? אם אתה מריץ את הישנה אז הטמפלט מאוחסן גם על גבי קבצים וגם בדטאבייס.. כל מה שאתה צריך זה לשפץ את הקובץ שטוען את הסקין שיטען אותו מהקבצים בלבד ואז יש לך סקין אחיד לכולם ואתה יכול להתפטר מהטבלאות האלה בדטאבייס

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

שכן עוד 350KB בדטאביייס לא יעשו את ההבדל - כי ממילא לא ניגשים אליהם..

כן אבל כשאתה קונה חבילת אחסון כל הגדלים של המסדים נחשבים לך חלק מהחבילה

ככה שבעבור 100 יוזרים יילך לו 450 מגה (בערך) רק בשביל המקום של הטבלאות, מיותר לחלוטין.

intercooler3819 24-05-10 16:15

ציטוט:

נכתב במקור על ידי RS324 (פרסם 765221)
כן אבל כשאתה קונה חבילת אחסון כל הגדלים של המסדים נחשבים לך חלק מהחבילה

ככה שבעבור 100 יוזרים יילך לו 450 מגה (בערך) רק בשביל המקום של הטבלאות, מיותר לחלוטין.

לא יודע איפה פספסת את החישוב

100 יוזרים * 350KB לטבלה של העיצובים = 35000KB ~~ 35MB

בערך 35MB (יותר נכון 34~) "יילכו לו" על הטבלאות של העיצובים

450>>35

RS324 24-05-10 17:12

הכפלתי בטעות פעמיים ככה זה כשרואים כל היום מספרים..
בכל מקרה , 35 מגה זה ממש לא רציני.
לפותח האשכול
עבור 35 מגה , אל תתאמץ אפילו...


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

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