מה ההבדל בין מערכת קבצים למסד נתונים?


תשובה 1:

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

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

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

עם זאת, כאשר הטכנולוגיה עוברת קדימה, הקווים מיטשטשים, מכיוון שמערכות קבצים מסוימות מציגות תכונות שקודם לכן תחום של מסדי נתונים (עסקאות, שאילתות מתקדמות) וכמה מאגרי מידע מרגיעים את האילוצים המסורתיים של עקביות, בידוד ועמידות. ZFS ו- BTRFS עשויים להיחשב כדוגמאות של דוגמאות קודמות, MongoDB ו- CouchDB של האחרונים.


תשובה 2:

ההבדל בין מערכת עיבוד קבצים ל- DBMS:

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

2. מערכת ניהול מסד נתונים נועדה לאפשר גישה גמישה לנתונים (כלומר שאילתות), ואילו מערכת לעיבוד קבצים נועדה לאפשר גישה קבועה מראש לנתונים (כלומר תוכניות מורכבות).

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

4. יתירות היא שליטה ב- DBMS, אך לא במערכת קבצים.

5. גישה לא מורשית מוגבלת ב- DBMS אך לא במערכת הקבצים.

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

7. DBMS מספק ממשקי משתמש מרובים. הנתונים מבודדים במערכת הקבצים.


תשובה 3:

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

אחת ההפשטות הקודמות שפיתחנו הייתה המושג "קובץ". קובץ הוא פשוט מידע בפורמט שמחשב יכול להבין. דוגמה מאוד פשוטה לכך היא קובץ טקסט. בטקסט אנגלי כתוב יש מספר מצומצם של תווים שניתן לייצג (עם מגבלה מסוימת) במספר קטן מאוד. ספציפית בפורמט המקורי האמריקאי המקורי לחילופי מידע (ASCII) מוגדרים מספרים שהמחשבים יכולים להבין עבור סמלים המשמשים באנגלית. כך שהאות הקטנה "A" קיבלה לדוגמא את המספר 65. הדבר העיקרי בתקנים הוא שהם שרירותיים. אין דרוש מהדרך בה מחשבים פועלים להקצות את המספר 65 לאות "א". זו פשוט הייתה בחירה שמישהו עשה, ושכנע אחרים להשתמש בתקן, וזה נעשה מאומץ. בהמשך, אנשים הבינו ש- 255 סמלים אינם מספיקים בכדי לכסות שפות עולמיות וסטנדרטים שונים שפותחו, ובסופו של דבר מתכנסים לתקן Unicode שיש לנו כיום. אז קובץ טקסט הוא פשוט סדרה של מספרים המייצגים טקסט בתבנית תו מסוימת. באופן דומה ניתן לסרוק תמונה למחשב ולאחסן בפורמט מסוים.

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

זה (סוף סוף!) מציג את הראשון מבין שני המונחים - מערכת קבצים. מערכת קבצים כפי שמכונה השם היא פשוט מערכת לאחסון קבצים. בדיוק כמו בפורמטים של תווים, באופן תיאורטי כל אחד יכול לפתח את הדרך שלו לאחסן קבצים משלו, אבל זה יהיה לא מעשי. מערכות הקבצים המוקדמות ביותר השתמשו ב"טבלת הקצאת קבצים "(FAT), באופן הגיוני טבלה המחלקת דיסק לאשכולות וקבצים מוקצים לאחר מכן לאשכולות. למטרות היסטוריות ופשטות, מערכות קבצי FAT (בייחוד ExFAT ו- FAT32) הן מערכות הקבצים דה פקטו להחלפת נתונים בין מכשירים, פלטפורמות ומערכות הפעלה מרובות. לדוגמה, כשמצלמים תמונה במצלמה דיגיטלית והיא מאוחסנת בכרטיס SD, סביר להניח שהיא משתמשת במערכת קבצים FAT. אלה הנפוצים האחרים הם מערכת הקבצים הטכנולוגית החדשה (NTFS) עבור Windows / DOS, מערכת הקבצים המורחבת (EXT2 / 3/4) עבור לינוקס ומערכת הקבצים ההיררכית (HFS) עבור Mac.

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

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

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

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

בדומה למערכות קבצים, קיימות מספר מערכות מסדי נתונים (ואכן סוגים של מערכות מסדי נתונים) אשר לכל אחת מהן יתרונות שונים: Microsoft SQL Server, Oracle, MySQL, PostgreSQL - כל מערכות נתונים בסיסיות נפוצות. מאגרי נתונים הם בדרך כלל קבצים עצמם (חלק מההפשטות הופכות את מסד הנתונים עצמו לתיקיה), ולכן הנתונים מאוחסנים במערכת קבצים.

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

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