PracticU

מסד נתונים NoSQL
MongoDB

בלי כתוביותעם כתוביות
PracticU › קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט › מסד נתונים NoSQL MongoDB
מילון מושגים:
NoSQL - משפחת מסדי נתונים לא-יחסיים, המתאימים לנתונים גמישים ולהיקפים גדולים, כמו מסמכים או זוגות מפתח-ערך.
MongoDB - מסד נתונים מסוג NoSQL שמאחסן נתונים כמסמכים בפורמט דמוי JSON, בלי מבנה טבלאי קשיח.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
Elasticsearch - מנוע חיפוש וניתוח מבוזר שמאחסן ומאנדקס כמויות גדולות של נתונים לחיפוש מהיר.
Firebase - פלטפורמת ענן של גוגל לפיתוח אפליקציות, הכוללת מסד נתונים, אימות, אחסון ושירותים נוספים.
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.
רשומה - שורה בטבלת מסד נתונים שמרכזת את כל השדות של פריט אחד, למשל כל הפרטים של לקוח יחיד.
ביג דאטה - כמויות עצומות של נתונים מגוונים, שדורשים כלים וטכניקות מיוחדים לאחסון, לעיבוד ולניתוח.

מסד נתונים NoSQL MongoDB
הקורס עובר ממסד נתונים רלציוני למסד NoSQL. השיעור מסביר מהו, אילו סוגי מידע הוא שומר, ומציג את המונחים הבסיסיים של MongoDB לפני ההתקנה.
מה זה NoSQL
1. הרעיון: מסד נתונים רגיל שיושב בשרת, אבל לא מבוסס טבלאות וקשרים. השם מתאר Not Only SQL, ושפת SQL לא עובדת עליו.
2. ביצועים: לפי הדובר, ברוב המקרים הוא מהיר בהרבה ממסד רלציוני, כי אין שפת SQL שצריך לפרש ולקמפל ולבדוק קשרים.
3. סוגי מידע: מסמך (Document, כמו JSON עם אובייקטים בתוך אובייקטים ומערכים, MongoDB עובד כך), גרף (למשל צמתים וכבישים), Key Value (קוד מוצר ומוצר) ו-Wide Column, שנראה כמו טבלה אבל לכל עמודה או שורה יכול להיות מידע שונה.
4. מוצרים: MongoDB (מהיר ופופולרי, והוא זה שעובדים איתו), Cassandra (שפייסבוק הוציאה בסביבות 2010), Elasticsearch (טוב בחיפושים), Redis, Couchbase ו-Firestore של Firebase מבית גוגל.
5. שפת שאילתות: לכל מוצר יש API ושפה משלו. ב-MongoDB היא MQL (Mongo Query Language), וב-Cassandra CQL.
מושגים ב-MongoDB
1. Document: אובייקט בודד, למשל לקוח, שמקביל לרשומה בטבלה. הוא יכול לכלול מערך (למשל כמה טלפונים בלי טבלה נוספת) ואובייקטים מקוננים (כתובת עם רחוב ומספר בית).
2. שדה ה-ID: נקרא _id, ו-MongoDB יוצר אותו אוטומטית. הוא לא מספור רץ, אלא קוד ייחודי שנבנה, בין השאר, מהשעה והתאריך המדויקים של יצירת הרשומה, והמסד מיועד ל-Big Data. אפשר להגדיר קוד בשם אחר.
3. Collection: מקביל לטבלה שלמה, ושומר אוסף של מסמכים. למשל כל הלקוחות בקולקשן אחד, שבו למסמך אחד יש שלושה טלפונים ולאחר טלפון אחד.
בסדרה הקרובה מתקינים את MongoDB ומתחילים לעבוד איתו.
אחרי השיעור אפשר להסביר במה NoSQL שונה ממסד רלציוני ומה ההבדל בין Document ל-Collection.
השיעור הבא בקורס: התקנת MongoDB Entity Framework

פרקי ההרצאה: מסד נתונים NoSQL MongoDB

  1. 00:00

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

  2. 00:44

    אחסון מידע מעבר לטבלאות ו-SQL

  3. 01:40

    סוגי מידע: Document ו-Graph

  4. 02:15

    Key Value Pairs ו-Wide Column

  5. 03:10

    מוצרי NoSQL מוכרים כמו MongoDB

  6. 03:48

    שפות השאילתות הייעודיות

תמלול ההרצאה: מסד נתונים NoSQL MongoDB

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

  1. 00:02

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

  2. 00:18

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

  3. 00:36

    מה פירוש NoSQL? NoSQL מתאר Not Only SQL. מה זה אומר? זה אומר שהדאטאבייס יכול לשמור דברים מעבר לרק טבלאות וכישורים בין הטבלאות, ומעבר לשפת SQL. בפועל אין שם טבלאות ושפת SQL לא עובדת על דאטאבייס כזה, לכן אפשר להתייחס לזה גם כ-No SQL, כלומר לא שפת SQL. המידע בדאטאבייס הזה שמור בפורמטים אחרים לגמרי מאשר טבלאות וכישורים, תכף נראה דוגמאות לזה.

  4. 01:16

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

  5. 01:32

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

  6. 01:42

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

  7. 01:55

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

  8. 02:17

    יכול להיות לנו מסד נתונים שמחזיק Key Value Pairs, לדוגמה, קוד מוצר ומוצר, קוד מוצר ומוצר, זה סוג אחר של מידע שיכול להיות לי במוצר אחר של NoSQL, ויש לנו משהו שנקרא Wide Column, זה אולי נראה כמו טבלה, אבל זה לא באמת טבלה, זה לא מידע ממש טבלאי, כי הצבעים השונים מתארים שכל עמודה כאן

  9. 02:42

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

  10. 03:01

    זה בעצם נקרא Wide Column. שוב, שפת SQL לא באמת עובדת על דבר כזה. איזה מוצרים ידועים קיימים שהם מסדי נתונים NoSQL? אז כמובן אחד הנפוצים ביותר, וזה שאנחנו נעבוד איתו, נקרא MongoDB, מאוד מהיר, מאוד פופולרי.

  11. 03:20

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

  12. 03:33

    יש לנו Redis, Coachbase, Firestore של Firebase של גוגל ועוד הרבה אחרים. איזה שפת שאילתות עובדת על דאטאבייס כזה אם שפת SQL לא עובדת עליו?

  13. 03:48

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

  14. 04:05

    כל דאטאבייס יש לו את הסוג של קבוצת פקודות

לקורס המלא: קורס Entity Framework Core

ההרצאה הקודמת: יצירה ושימוש ב-Stored Procedure - שלא מתאימות למחלקת Model

ההרצאה הבאה: התקנת MongoDB - Entity Framework

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

  • יצירת מסד נתונים - MongoDB
  • מסד נתונים של Metasploit
  • מבנה נתונים ב-MongoDB
  • מה זה מסד נתונים רלציוני SQL

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

  • קורס דוט-נט - NET Core. - עם Rest API
  • קורס ASP.NET
  • קורס MVC
  • קורס Git ו-GitHub עם Visual Studio