NoSQL — Mongo, Kafka, Redis

מה זה?

NoSQL הוא שם כולל למסדי נתונים ומערכות תשתית שלא מבוססים על טבלאות ויחסים כמו SQL, אלא נבנו כדי לפתור צרכים ספציפיים — גמישות במבנה הנתונים, ביצועים גבוהים, או תקשורת בין שירותים. בקטגוריה הזו נכיר שלוש מערכות מרכזיות: MongoDB כמסד נתונים מסמכים (document database) לנתונים גמישים שלא תמיד מתאימים למבנה טבלאי קשיח, Redis כמטמון (cache) מהיר בזיכרון, ו-Kafka כמערכת הודעות (message broker) להעברת נתונים בין שירותים בזמן אמת. כל אחת מהן פותרת בעיה שמסד נתונים רלציוני רגיל פחות מתאים לה.

מה הולכים ללמוד

  • יסודות MongoDB — עבודה עם מסמכים (documents), אוספים (collections) ופעולות CRUD בסיסיות
  • אגרגציה ב-MongoDB — בניית שאילתות מורכבות לעיבוד וסיכום נתונים
  • יסודות Redis — שימוש במטמון בזיכרון להאצת גישה לנתונים נפוצים
  • יסודות Kafka — הבנת עקרונות ה-messaging: topics, producers ו-consumers
  • עבודה עם Kafka מתוך C# ו-Python — כתיבת קוד שמפיק וצורך הודעות בפועל

למה זה חשוב

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