שמירת קבצים
* המדריך נכתב באדיבותו של ירון גונן.
כולנו יודעים מהם קבצים. הם שוכנים להם על הכונן הקשיח של המחשב או השרת ונתונים לפקודתנו. אנו יכולים למחוק אותם, להעתיק אותם, להריץ אותם (אם הם ברי הרצה), לשמוע אותם (אם הם מכילים מוזיקה), לערוך אותם (אם הם מסמכים), לראות אותם (אם הם תמונות) או בקיצור לעשות בהם כרצוננו (אם יש לנו הרשאה לכך).
אבל מה זה בדיוק קובץ? קובץ הוא פשוט רצף של מידע בינארי, כלומר רצף של 0-ים ו 1-ים ששוכן בתוך הכונן הקשיח שלנו. כל פעם שאנו מבצעים פעולה על הקובץ: מוחקים, עורכים או מעתיקים, אנו מבקשים רשות ממערכת ההפעלה והיא עושה את כל העבודה ה"קשה" בשבילנו. למשל אם אנו מעתיקים קובץ מערכת ההפעלה מפנה לו מקום על הכונן הקשיח, קוראת את הקובץ ממקומו וכותבת אותו במקומו החדש. היא גם דואגת לעדכן את רשימת הקבצים כך שתכיל את הקובץ המועתק.
נשמע טוב, לא? מערכת ההפעלה מטפלת בכל ואני לא צריך לדאוג לכלום. אבל לא תמיד אנו רוצים שמערכת ההפעלה תטפל בקבצים, אלא אנו רוצים לטפל בהם בעצמנו ולשמור אותם לא כקבצים במערכת ההפעלה אלא כמידע בינארי בתוך בסיס הנתונים שלנו. למה סתם להעמיס על עצמנו עבודה מיותרת ואיך עושים את זה - בסעיפים הבאים.
הדעות מה עדיף: לשמור את הקובץ על הדיסק או לשמור אותו בבסיס הנתונים, חלוקות, וכמו כמעט בכל דבר בחיים התשובה תלויה בהקשר. שמירת הקובץ בתוך ספרייה היא פשוטה יותר ולכן עבור מערכות קטנות שאין בהן הרבה קבצים זה עדיף. אבל במערכות גדולות בהן כמות הקבצים גדלה בג'יגות בכל חודש הטיפול בקבצים הרבים מתחיל להיות מטרד, בייחוד כאשר צריך להוסיף עוד ועוד כוננים קשיחים ולמפות אותם במערכת ההפעלה שלך.
כאשר מדובר בבסיס נתונים, בסיס הנתונים עצמו מטפל בקבצים ואם צריך להוסיף כונן נוסף - אין בעיה. רק מגדירים storage נוסף ובסיס הנתונים מטפל בכל השאר. בנוסף לכך שמירת הקבצים בתוך בסיס הנתונים מנתקת את התלות במערכת הפעלה מסויימת לניהול הקבצים והמערכת שלך יותר כללית. גם יותר קל למנהל המערכת לשלוט על ההרשאות לקבצים מסוימים שנמצאים במערכת.
הבט נוסף של שמירת קבצים ותמונות בבסיס הנתונים היא מניעת לינק ישיר מאתרים אחרים לתמונות וקבצים שנמצאים על האתר שלכם.
קריסה? | 08-12-02 03:00 יקיר סיטבון | #336 |
| אבל מה עושים אם למשל קורסת לי הבסיס נתונים? כמו שקרה לי השבוע?
יקיר. |
|
תגובה: קריסה? | 08-12-02 04:00 אלי חן (מנהל) | #339 |
| תמיד יכול לקרות שבסיס נתונים קורס, וזה יכול לקרות גם לטובים ביותר, ביניהם גם ל-MySQL, אך MySQL אינה מעלימה עין מן הבעיה ומציעה פיתרונות של גיבויים, בדיקות ותיקונים לטבלאות ובסיסי נתונים.
בדוק את השאילתות הבאות של MySQL:
BACKUP, RESTORE, CHECK, REPAIR
אם סוג הטבלאות שלך הם MyISAM (בדר"כ בגירסה 3), אז תוכל להשתמש גם בקובץ ההרצה myisamchk המופיע בספריה bin של MySQL. |
|
לא אחי... | 08-12-02 06:01 יקיר סיטבון | #352 |
| אני לא מתכוון על זה.
אני אומר, שמתי שאני יעלה קבצים על המסד נתונים, אז יכול להיות שהוא יקרוס לגמרי, ושום דבר לא ישאר... אז אני יצטרך לעלות הכל מחדש? |
|
יכול להיות | 08-12-02 07:00 אלי חן (מנהל) | #356 |
| יכול להיות שגם מערכת ההפעלה שלך תקרוס ואולי תצטרך לפרמט וקבצים יימחקו, אז?
בשביל זה בדיוק יש את הכלים של הגנה בזמן קריסה: גיבוי, שיחזור, תיקון ובדיקה.
בכל מקרה, MySQL עושה מאמצים לא לפשל ומצליחה בזה בענק!!! ואם יש לך ספק... MySQL יכולה להכיל בתוכה גם מידע בינארי של קבצים, וראה את הדוגמא במדריך הזה כעדות חיה לכך.
תקלות תמיד עלולות לקרות.. תדע איך להתמודד איתם.. שום דבר לא מושלם :) |
|
תגובה: יכול להיות | 08-12-02 07:00 יקיר סיטבון | #359 |
| אם אני בא לניהול של PHPMYADMIN ופתאום אני רואה שאין לי שם שום טבלה, אז מה אני צריך לעשות בנידון? |
|
2 טבלאות | 01-11-02 21:01 OICW | #580 |
| היי
בשביל מה צריך שתי טבלאות?
אחת לפרטי הקובץ והשנייה למידע הבינארי?
אפשר לעשות את זה בטבלה אחת אז למה בשתיים?
תודה. |
|
2 טבלאות | 01-11-02 23:00 אלי חן (מנהל) | #584 |
| אחת בשביל המטה-דטה והשניה בשביל המידע הבינארי של תוכן הקובץ.. הרעיון מאחורי זה הוא למנוע שליפה של שדות גדולים שלא לצורך. |
|