OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

1.3. מנועי מסד נתונים


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


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


לכל מנוע יש יתרונות וחסרונות משלו.


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

• MyISAM הוא המבוגר מבין השניים. זה יכול להיות מהיר יותר מ-InnoDB בנסיבות מסוימות ומעדיף עומס עבודה לקריאה בלבד. כמה יישומי אינטרנט כוונו סביב MyISAM (אם כי זה לא אומר שהם יאטו תחת InnoDB). MyISAM תומך גם בסוג הנתונים FULLTEXT, המאפשר חיפושים מהירים מאוד של כמויות גדולות של נתוני טקסט. עם זאת, MyISAM מסוגלת לנעול רק טבלה שלמה לכתיבה. המשמעות היא שרק תהליך אחד יכול לעדכן טבלה בכל פעם. כמו כל אפליקציה שמשתמשת בסולמות הטבלה, זה עשוי להוות מכשול. זה גם חסר יומן, מה שמקשה על שחזור הנתונים לאחר קריסה. הקישור הבא מספק כמה נקודות לשקול לגבי השימוש ב-MyISAM במסד נתונים של ייצור1.

• InnoDB הוא מנוע מסד נתונים מודרני יותר, שנועד להיות תואם ל-ACID2 מה שמבטיח שעסקאות מסד הנתונים מעובדות בצורה מהימנה. נעילת כתיבה יכולה להתרחש על בסיס רמת שורה בתוך טבלה. כלומר, עדכונים מרובים יכולים להתרחש בטבלה בודדת בו זמנית. שמירה במטמון מטופלת גם בזיכרון בתוך מנוע מסד הנתונים, מה שמאפשר אחסון במטמון על בסיס יעיל יותר ברמת השורה במקום בלוק קובץ. כדי לעמוד בתאימות ACID, כל העסקאות מתועדות ללא תלות בטבלאות הראשיות. זה מאפשר שחזור נתונים אמין הרבה יותר שכן ניתן לבדוק עקביות נתונים.


החל מ-MySQL 5.5 InnoDB הוא מנוע ברירת המחדל, ומומלץ מאוד על פני MyISAM אלא אם יש לך צורך ספציפי בתכונות ייחודיות למנוע.


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: