
הטקסט המלא של הדקות הראשונות בהרצאה «יתרונות של MongoDB» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
מה היתרונות של עבודה מול דוקיומנט דאטאבס? ובכן, דאטאבס שהוא מסוג דוקיומנט הוא הרבה יותר קל לעבודה, פלקסיביליטי מבחינת הסכמה.
אנחנו פשוט שופכים את הנתונים לתוך הדוקיומנט, לתוך המסמך שלנו, ולא מעניין אותנו אם מדובר בדאטה שהוא מחרוזת, בדאטה שהוא מספרים, בדאטה שהוא מערך של נתונים, בדאטה שמכיל דאטה אחר, אם מדובר בקובץ של תמונה, בקובץ של וידאו, את כל הנתונים עצמם אנחנו
שופכים ואין לנו סכמה קבועה אחידה שמחייבת אותנו בין רשומה אחת לרשומה אחרת. קל יותר להבין את הדאטה מודל.
ברגע שאנחנו עובדים מול דאטה בס שהוא לא רלציוני, ההגדרה לגבי הדאטה מודל שלנו היא הגדרה מאוד פשוטה, אנחנו מכילים את כל הנתונים שאנחנו רוצים בהתאם לשאילתות שלנו בתוך דוקיומנס אחד.
העבודה בדוקומנטס היא עבודה מול מסמכים שנקראים קובץ שנקרא מסוג ג'ייסון, אנחנו נראה גם קובץ בהמשך שהוא מסוג בייסון ונכיר את ההבדלים ביניהם, מהו ג'ייסון ומהו בייסון, כיצד שולפים את הנתונים עצמם וניתן לשלוף אותם מכל מקום, והיתרון הגדול בדוקומנט דאטאבס שהוא Distributed Scalable Database.
ברגע שיש לנו קצת עומס, קצת צוואר בקבוק בעבודה מול שרת הדאטאבס של המונגו db ניתן פשוט להוסיף שרת נוסף ושני השרתים הללו מדברים זה עם זה ואנחנו רואים בהם בעצם node אחד שרת אחד מבחינתנו שמולו אנחנו עובדים בעבודה מול הדאטאבס עצמו.
מאפיינים נוספים קצת יותר drill-down לנושא של מונגו db אז כאמור MongoDB הוא במבנה של דוקיומנטס ולא במבנה של טבלאות ו-pre-defined סכמה, כי אין לנו סכמה, אנחנו מדברים על no structured data, אין אילוץ של מבנה סכמה קבוע, אין לנו בכלל קונסטרנטים, כל הנושא של אילוצים של שדות מנדטוריים כאלה ואחרים,
אילוצים של data type, אילוצים של check constraint, לא קיימים, ולכן אנחנו מרגישים יותר חופשי בהכנסת הנתונים.
מול קבצי ה-JSON, מול קבצי הדאטה של MongoDB, אנחנו יכולים לעבוד ב-JavaScript, וניתן גם בתוך הקוד עצמו, בתוך התשאול של הדאטה, לכתוב פקודות של כאיש פיתוח בשפת JavaScript.
אז המונגו-DB תומך לנו גם בפקודות של JavaScript, והקובץ עצמו זה לא מדובר על קובץ שאנחנו צריכים מערכת ייחודית לפתוח אותו ולעבוד רק מול שרת MongoDB כדי לפתוח ולקרוא את הנתונים עצמם, אלא הנתונים עצמם הם בפורמט אוניברסלי, פורמט של Json או Bson, אם אנחנו משווים זאת ל-SQL Server,
לאיזה פורמט ייחודי ששייך דווקא ל-SQL Server, ורק המנוע של SQL Server, אותו SQL Server Engine יודע לקרוא את אותם נתונים והם מוצפנים בפנים והם ביינריז פיילס ולא ניתן לפתוח אותם ולהציג אותם בצורה קלה על ידי מערכות חיצוניות.
יתרונות נוספים לעבודה של מונגו די בי זה היכולת שלנו לבצע שארדים. זהו יתרון ייחודי ומיוחד מדהים שלא היה קיים בעולם הרלציוני בכלל בשום מערכת רלציונית.
כשיש לנו מערכת רלציונית ויש לנו שרת והשרת כבר לא עומד במספר הבקשות והוא התעייף והוא ישן והוא גרסה ישנה יותר של מערכת ההפעלה או מבחינת הרכיבים והיכולת CPU והעיבוד שלו, מה שאנחנו עושים עם אותו שרת אנחנו זורקים אותו, שמים אותו בצד וקונים שרת חדש.
במונגו דיבי לא כך הם פני הדברים. ברגע שיש לנו שרת שהוא פחות טוב אנחנו לא צריכים לזרוק אותו. אנחנו פשוט יכולים להוסיף עוד שרת נוסף. ועל שני השרתים הללו, כלומר, ביחס של רבים לרבים אני יכול כאן לעבוד מול שני שרתים ואני מקבל בעצם תמונה מלאה כאילו אני עובד מול שרת אחד.
כלומר, אנחנו לוקחים את הדאטה בסמול גודי בי ופורסים אותו על שרת אחד או שתיים או שלושה או יותר מספר שרתים