PracticU

יתרונות של MongoDB

בלי כתוביותעם כתוביות
PracticU › קורס NoSQL - MongoDB › יתרונות של MongoDB
מילון מושגים:
MongoDB - מסד נתונים מסוג NoSQL שמאחסן נתונים כמסמכים בפורמט דמוי JSON, בלי מבנה טבלאי קשיח.
סכמה - המבנה הלוגי של מסד נתונים: הגדרת הטבלאות, העמודות, הסוגים והקשרים ביניהם.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
סוג נתונים - הגדרה של סוג הערך שמשתנה או עמודה יכולים להחזיק, למשל מספר שלם, טקסט או תאריך.
JavaScript - שפת תכנות שרצה בעיקר בדפדפן ומוסיפה אינטראקטיביות לדפי אינטרנט. רצה גם בצד השרת באמצעות Node.js.
SQL Server - מערכת ניהול מסדי נתונים יחסיים של מיקרוסופט, הנשלטת בשפת T-SQL.
רפליקציה - העתקה ושמירה של אותם נתונים ביותר ממקום אחד, לשם זמינות, גיבוי או ביצועים.
קוד פתוח - תוכנה שקוד המקור שלה זמין לציבור לצפייה, לשימוש ולשינוי, לרוב לפי רישיון מתאים.

יתרונות של MongoDB
מה מקבלים כשעובדים עם מסד נתונים של מסמכים? ההרצאה מסכמת את היתרונות של MongoDB לעומת מסדים רלציוניים, ובמרכזם גמישות, הרחבה על פני כמה שרתים וזמינות.
היתרונות
1. גמישות בסכמה: שופכים את הנתונים למסמך בלי לדאוג אם מדובר במחרוזת, במספרים, במערך או בקובץ. אין סכמה קבועה שמחייבת רשומה אחת כמו האחרת.
2. מודל נתונים פשוט: כל מה שצריך לשאילתות נכנס למסמך אחד, בפורמט JSON, ובהמשך הקורס יוצג גם BSON.
3. הרחבה אופקית: כשיש עומס, מוסיפים שרת, והשרתים עובדים יחד כ-node אחד מנקודת המבט של המשתמש.
4. אין אילוצים: אין שדות חובה, אילוצי טיפוס נתונים או check constraint, ולכן אפשר להכניס נתונים בחופשיות.
5. JavaScript ופורמט פתוח: אפשר לכתוב בשאילתות פקודות JavaScript. הנתונים בפורמט אוניברסלי של JSON או BSON, ואילו ב-SQL Server הם בקבצים בינאריים מוצפנים שרק המנוע שלו יודע לקרוא.
6. Sharding: פורסים את הנתונים על פני כמה שרתים שמתנהגים כיחידה אחת. מערכת רלציונית מוגבלת למסד נתונים אחד בשרת אחד, והשרת הישן נזרק במקום להוסיף עליו. שאילתה של משתמש נענית מכל השרתים בשקיפות מלאה.
7. Replica Set: שכפול של המסד לכמה שרתים מקבילים (מירור) שנותן זמינות גבוהה ומעבר לשרת אחר אם אחד נופל. יכולת זו קיימת גם במסדים רלציוניים ואינה חידוש של MongoDB.
8. אינדקסים ורישוי: יש תמיכה באינדקסים לשיפור ביצועים ולמיון. MongoDB הוא open source וחינמי, עם Community Edition להורדה, ואפשר גם ליצור שרת בענן ב-Atlas.
אחרי ההרצאה אפשר להסביר למה sharding הוא יתרון ייחודי ל-MongoDB, ולהבדיל בינו לבין replica set.
השיעור הבא בקורס: מבנה נתונים ב-MongoDB

פרקי ההרצאה: יתרונות של MongoDB

  1. 00:00

    גמישות הסכמה ב-Document Database

  2. 00:36

    דאטה מודל פשוט ו-JSON

  3. 01:12

    מסד נתונים מבוזר וסקלאבילי

  4. 01:51

    היעדר סכמה ואילוצים

  5. 02:27

    תמיכה ב-JavaScript ופורמט אוניברסלי

  6. 03:22

    Sharding ופריסה על כמה שרתים

תמלול ההרצאה: יתרונות של MongoDB

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

  1. 00:02

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

  2. 00:14

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

  3. 00:35

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

  4. 00:46

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

  5. 01:01

    העבודה בדוקומנטס היא עבודה מול מסמכים שנקראים קובץ שנקרא מסוג ג'ייסון, אנחנו נראה גם קובץ בהמשך שהוא מסוג בייסון ונכיר את ההבדלים ביניהם, מהו ג'ייסון ומהו בייסון, כיצד שולפים את הנתונים עצמם וניתן לשלוף אותם מכל מקום, והיתרון הגדול בדוקומנט דאטאבס שהוא Distributed Scalable Database.

  6. 01:25

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

  7. 01:48

    מאפיינים נוספים קצת יותר drill-down לנושא של מונגו db אז כאמור MongoDB הוא במבנה של דוקיומנטס ולא במבנה של טבלאות ו-pre-defined סכמה, כי אין לנו סכמה, אנחנו מדברים על no structured data, אין אילוץ של מבנה סכמה קבוע, אין לנו בכלל קונסטרנטים, כל הנושא של אילוצים של שדות מנדטוריים כאלה ואחרים,

  8. 02:15

    אילוצים של data type, אילוצים של check constraint, לא קיימים, ולכן אנחנו מרגישים יותר חופשי בהכנסת הנתונים.

  9. 02:25

    מול קבצי ה-JSON, מול קבצי הדאטה של MongoDB, אנחנו יכולים לעבוד ב-JavaScript, וניתן גם בתוך הקוד עצמו, בתוך התשאול של הדאטה, לכתוב פקודות של כאיש פיתוח בשפת JavaScript.

  10. 02:40

    אז המונגו-DB תומך לנו גם בפקודות של JavaScript, והקובץ עצמו זה לא מדובר על קובץ שאנחנו צריכים מערכת ייחודית לפתוח אותו ולעבוד רק מול שרת MongoDB כדי לפתוח ולקרוא את הנתונים עצמם, אלא הנתונים עצמם הם בפורמט אוניברסלי, פורמט של Json או Bson, אם אנחנו משווים זאת ל-SQL Server,

  11. 03:04

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

  12. 03:23

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

  13. 03:37

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

  14. 03:57

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

  15. 04:23

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

לקורס המלא: קורס MongoDB אונליין

ההרצאה הקודמת: סוגים של NoSQL

ההרצאה הבאה: מבנה נתונים ב-MongoDB

הרצאות קשורות מקורסים אחרים

  • מבוא - יתרונות הענן
  • יתרונות של Azure
  • CLR - יתרונות וחסרונות
  • Mutable - יתרונות וחסרונות

קורסים נוספים במסלול

  • קורס DBA אפליקטיבי - שפת SQL למתחילים
  • קורס SSIS
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI