PracticU

הסבר על NoSQL

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › הסבר על NoSQL
מילון מושגים:
NoSQL - משפחת מסדי נתונים לא-יחסיים, המתאימים לנתונים גמישים ולהיקפים גדולים, כמו מסמכים או זוגות מפתח-ערך.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
שאילתה - בקשה למסד נתונים לשלוף, להוסיף, לעדכן או למחוק נתונים, לרוב בשפת SQL.
בינארי - ייצוג מידע בבסיס 2 בעזרת הספרות 0 ו-1. גם קובץ הכולל קוד מכונה ולא טקסט קריא.
MySQL - מערכת ניהול מסדי נתונים יחסיים בקוד פתוח, נפוצה מאוד באתרים וביישומי אינטרנט.
MongoDB - מסד נתונים מסוג NoSQL שמאחסן נתונים כמסמכים בפורמט דמוי JSON, בלי מבנה טבלאי קשיח.
Elasticsearch - מנוע חיפוש וניתוח מבוזר שמאחסן ומאנדקס כמויות גדולות של נתונים לחיפוש מהיר.
רשומה - שורה בטבלת מסד נתונים שמרכזת את כל השדות של פריט אחד, למשל כל הפרטים של לקוח יחיד.

הסבר על NoSQL
בשיעור מוסבר מהו מסד נתונים מסוג NoSQL: מסד שאינו מכיל טבלאות וקשרים ביניהן, ושומר את המידע בפורמט דמוי JSON.
איך המידע נשמר
1. בלי טבלאות: רוב מסדי NoSQL לא מכילים טבלאות ולא קשרים ביניהן, ולרוב גם לא מנוע SQL. מתקשרים איתם בפורמט אחר ולא בשאילתות SQL.
2. מסמכים: המידע נשמר כאובייקטים בפורמט BSON, שהוא ייצוג בינארי של JSON. בפורמט הזה אפשר לשמור גם תאריכים ותמונות, ולא רק טקסט.
3. שמירה מהירה: מידע JSON נשמר כמעט בלי פארסינג וקומפילציה, ולכן השמירה מהירה יותר מכתיבה לטבלה רלציונית.
מתי זה מתאים
NoSQL מתאים לכמויות עצומות של מידע, ולכן משתמשים בו בארגוני תקשורת, במערכות IoT ובשירותים גדולים. פייסבוק עבדה בתחילה עם MySQL, ובשלב מסוים הכמות הייתה גדולה מדי, ולכן ב-2010 הם הוציאו את Cassandra. מוכרים גם MongoDB, Elasticsearch ו-Redis.
מונחים בסיסיים ב-MongoDB
- Document: רשומה בודדת בפורמט JSON. המפתח הראשי נקרא _id ומסוג ObjectId.
- Collection: קבוצה של מסמכים, שמקבילה לטבלה ברלציונית.
- הפניה בין מסמכים: שדה כמו author ID מצביע למזהה של מסמך אחר. בבסיס הנתונים אין בדיקה שההפניה תקינה, והקשר הוא לוגי בלבד.
בסוף השיעור יודעים מתי NoSQL מתאים, ומה ההבדל בין מסמך לקולקשן ב-MongoDB.
השיעור הבא בקורס: התקנה של MongoDB

פרקי ההרצאה: הסבר על NoSQL

  1. 00:00

    מה זה מסד נתונים NoSQL

  2. 00:42

    שמירת מידע בפורמט BSON Documents

  3. 01:19

    התמודדות עם Big Data

  4. 01:53

    למה NoSQL מהיר מ-Relational

  5. 03:06

    מסדי נתונים MongoDB, Cassandra ו-Redis

  6. 04:22

    מונחי Document ו-Object ID

תמלול ההרצאה: הסבר על NoSQL

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

  1. 00:02

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

  2. 00:21

    רובם לא מכילים בכלל מנוע SQL, לפיכך השם NoSQL. זאת אומרת שאנחנו לא מתקשרים איתו בשפת SQL, אנחנו לא שולחים לו מכרוז את sql בכדי להביא מידע או לבצע שינויים על המידע.

  3. 00:37

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

  4. 00:53

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

  5. 01:15

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

  6. 01:32

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

  7. 01:46

    NoSQL דאטאבייס הוא הרבה יותר מהיר מ-Relational דאטאבייס. למה? תחשבו שאתם רוצים לדוגמה לשמור רשומה ב-Relational דאטאבייס, בטבלה.

  8. 02:00

    מה אתם עושים? אתם שולחים שאילתת SQL שמכילה insert into לתוך הטבלה. מה הדאטאבייס עושה? לוקח את השאילתה שהיא מחרוזת, מבצע עליה פארסינג, בודק מה יש בה, מפרש אותה, הופך אותה לאיזשהו קוד מכונה, מקמפל את הקוד, מריץ את הקוד, בודק האם המידע חוקי בהתאם ל-relations ורק

  9. 02:27

    אם המידע חוקי, שומר אותו בדאטאבייס ופה מסיים את הסייקל של השמירה. לעומת זאת ב-NoSQL Database אני שולח ג'ייסון, לוקחים את המידע הזה as is ושמים אותו בדאטאבייס.

  10. 02:43

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

  11. 03:10

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

  12. 03:23

    מונגו דיבי, אנחנו נעבוד בסרטונים הבאים עם הדאטאבייס הזה ונראה איך אנחנו שומרים מידע וטוענים ממנו מידע, הוא ממש ממש נפוץ.

  13. 03:33

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

  14. 03:59

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

  15. 04:20

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

  16. 04:34

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

  17. 05:05

    אבל by default אם אנחנו לא אומרים שום דבר יש לנו underline ID כמפתח ראשי. ואנחנו רואים שהסוג שלו זה Object ID. Object ID זה פונקציה שמסוגלת לייצר לנו איזשהו מפתח בינארי מאוד גדול ומה שאנחנו רואים פה

לקורס המלא: קורס NodeJS אונליין בעברית

ההרצאה הקודמת: שימוש ב-Escape Characters ב-MySQL - חלק 2

ההרצאה הבאה: התקנה של MongoDB

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

  • סוגים של NoSQL
  • מסד נתונים NoSQL - MongoDB

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

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React