לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #1  
ישן 01-10-2010, 09:41
  phzhev phzhev אינו מחובר  
 
חבר מתאריך: 01.10.10
הודעות: 6
SQL או NOSQL? זאת השאלה

שלום לחברי הפורום,

הנני נמצא בשלבי פיתוח של אפליקציית Client-Server.
בהנחה שהשרת יצטרך להתמודד עם 75K-100K ברגע נתון (אני בן אדם אופטימי)

האם השימוש ב-MySQL הטבלאי-הקלאסי יכול לספק אותי?

נחשפתי למונח NOSQL ומשם הדרך הייתה קצרה להיכרות עם Cassandra ושאר פלטפורמות ה-NOSQL
אילו יתרונות/חסרונות יש במעבר למתודולוגיה הזו ששונה מאוד מה-"Relational model" הידוע?
נוח ופשוט לי לעבוד עם MySQL אך הבנתי ש-NOSQL מהיר בעשרות מונים ולכן מסוגל להתמודד עם יותר בקשות.

שאלה נוספת, בין אם אבחר ב-MySQL או NOSQL:
מה צריכה להיות הארכיטקטורה הנכונה בצד השרת מבחינת הניהול של מסדי הנתונים?
אני מניח שאצטרך יותר משרת אחד לניהול מסד הנתונים (Clustering). איך אפשר להעריך את הדברים האלה בשלבי פיתוח?

אשמח מאוד לקבל מענה על שאלותיי.
אינני מגיע מעולם מסדי הנתונים, אנא קבלו זאת בהבנה

תודה מראש !
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 01-10-2010, 10:53
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 5 שנכתבה על ידי phzhev שמתחילה ב "אני אמור להתמודד עם 75K-100K..."

אתה שוב חוזר על המושג "רגע נתון". מה זה רגע נתון. אני יודע למדוד מספר פניות מקסימלי ביחידת זמן (נגיד - שנייה). אין מושג מדעי שנקרא "רגע" ...

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

ויש גם את עניין ה concurrency - נעילת טבלאות וכו'. כמה עדכונים אתה עושה, יחסית לכמה שליפות?

כמה חשוב לך שהעדכון שנעשה, יהיה מיידי?

האם איכפת לך שמידע ילך לאיבוד אם קרס לך השרת? אם כן, עד לאיזו דרגה?

וראה גם: http://memcached.org

ספציפית לשאלות שלך:

1. שוב, תלוי באופי השאילתות וביחס בין כמות העדכונים לכמות הקריאות שלהם. אתה צריך להבין ש"בעיקר קריאה" זה הרבה יותר פשוט מבחינת מסד הנתונים, כי אין לך בעיות של נעילות. ומבחינת סקאלאביליות, אתה פשוט יכול להוסיף עוד ועוד node-ים של MySQL שעושים replication אחד עם השני - כאשר שאתה שולף, אתה שולף מה"ילדים", ועדכונים אתה עושה רק למסד האב (שוב, רלוונטי רק אם אתה בעיקר קורא ולא כותב...) ?
2. אתה עדיין תצטרך לאחסן נתונים בצורה קבועה במסד אמין, לדעתי. אם אתה מעוניין רק ב cache, האם memcached לא יספיק לך (בייחוד בהתחשב באינטגרציה עם MySQL שזה מיועד לה...)
3. על זה הכי קשה לענות בהתבסס על חוסר ידע באופי צריכת המשאבים של השאילתא שלך, לפי ה business logic שלה... אתה צריך להבין שאין דין אפליקציה שמציגה עדכון סטטוס אחרון עבור משתמש, כדין אפליקציה שגוזרת נתונים סטטיסטיים מ 80 מקומות עבור המשתמש...
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 01-10-2010, 11:37
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 7 שנכתבה על ידי phzhev שמתחילה ב "קשה לי לתת תשובה מדויקת..."

אתה בטוח שאתה יודע מה אתה עושה?

מצד אחד אתה אומר "פעולות הקריאה עולות על פעולות הכתיבה"

מצד שני אתה אומר "העדכונים הם מאוד תכופים" ...

או שאני לא מבין אותך, או ש...

בכל אופן, קשה לך לתת תשובות מדוייקות אם לך בעצמך קשה לתת תשובות מדוייקות. מה MongoDB "קורץ" לך בדיוק, ומה הוא יכול לעשות ש memcached לא יכול לעשות, עבור סוג השימוש שאתה מתכנן?

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

האם שרת האפליקציה שלך בעצמו יעמוד בעומס כשהוא על מכונה אחת? האם אתה הולך לבזר אותו? אתה כבר יודע איך אתה הולך לבזר את המשתמשים? מערכת עם 100K משתמשים המתעדכנים ממנה ב real time זה חתיכת מפלצת עוד לפני שהתחלת לדבר עם DB.

החסרון העיקרי של NoSQL הוא שמלבד Performance, בערך כל דבר אחר גרוע יותר מכל צורת עבודה אחרת... אם אתה מוכן להתייחס אליו כ cache, אז סבבה. מסד נתונים אמיתי זה לא.
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 01-10-2010, 11:53
צלמית המשתמש של hellfrost
  hellfrost hellfrost אינו מחובר  
 
חבר מתאריך: 07.12.09
הודעות: 7,072
בתגובה להודעה מספר 1 שנכתבה על ידי phzhev שמתחילה ב "SQL או NOSQL? זאת השאלה"

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

קודם כל אתה צריך לפתח בשכבות. אתה חייב 4 שכבות : מסד נתונים, DATA ACCESS בישביל לגשת לנתונים מהאפליקציה (כנראה כדאי לך איזה פתרון ORM בימינו) , שכבת לוגיקה, ושכבת תצוגה (ממשק משתמש).

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

הבעיה הכי גדולה שלך תהיה לפתח אפליקציה שתהיה Scalable , ולא המסד נתונים. אני מבטיח לך שאתה יכול להגיע לכמה אלפי משתמשים בכיף עם מסד נתונים MS ACCESS ....
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 01-10-2010, 12:42
צלמית המשתמש של hellfrost
  hellfrost hellfrost אינו מחובר  
 
חבר מתאריך: 07.12.09
הודעות: 7,072
בתגובה להודעה מספר 11 שנכתבה על ידי phzhev שמתחילה ב "תודה על התגובה, אני עובד עם..."

תראה, אני לא מכיר לא את PureMVC ולא את SmartFox . וזה שלשני אין מאמר בוויקיפדיה לא מעודד.

אתה מבין כמה זה עשרות אלפי משתמשים? אתה מבין כמה זמן יקח לך להגיע לזה? חוץ מזה שפתרון SQL טוב יאכל את זה בכיף. בכל מקרה אני הייתי הולך על PostgreSQL בלב שלם.

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

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

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 21:18

הדף נוצר ב 0.07 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר