BI&BigData
  • Register
תנו לנו לייק וקבלו עדכונים ישירות לפיד
Star inactiveStar inactiveStar inactiveStar inactiveStar inactive
 

מאת: ליאור יזרעאלי*

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

 סכימת המסמכים
היא גמישה ודינאמית (Flexible Schema) – מבוססת JSON.

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

כל שדה רלוונטי המאוחסן במסמכי ה- MongoDB ניתן למיפוי קל ומיידי לאובייקט בתוכנה/אפליק', ולהיפך.

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

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

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

MongoDB אידאלי בטיפול בנתונים המגיעים: מיישומים עסקיים בווב ואפליק' מובייל (שבדפים שלהם נחזיק: מה עושים - כלומר, נתונים עסקיים של הטרנזקציות, וגם איך עושים - כגון, חוויית השימוש באתר, על מה מקליקים, על מה מתעכבים, כיצד מתרשמים וכו');
רשתות חברתיות: פרופילים, מאמרים, פוסטים, טוקבקים, תמלילי שיחה, מיילים, וידאו;
מידע מכונה: כמו לוגים, IoT וסנסורים;
סקרים המוניים וניתור שימושים;

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

מנגנוני הכתיבה תומכים בכתיבה במהירות גבוהה (Low Latency) של מיליוני רשומות, ממקורות רבים (Large Volume of Users) וכמובן במקביל (Parallel).

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

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

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

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

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

כיצד מתאפשר הקסם?
את היצרן מניע חזון ליצור ולשווק פלטפורמת DB שלמה, בשלה, מלאה, אחודה, מסונכרנת ונתמכת – שניתן להתקינה בחוות השרתים של הלקוח, או ליהנות ממכלול אפשרויותיה בענן באופן מלא וסקיילבילי,
ובקרוב ממש גם כהתקנה על גבי כל מכשיר מבוסס אנדרואיד או iOS (Any Device) כחלק מאפליק'.

לשם כך, היצרן מבקש לעשות שימוש מושכל בכל הגישות הטכנולוגיות הידועות, ובפיתוח פיצ'רים ייחודיים לו. לרכישה המוצלחת של חברת WiredTiger ב- 2014 על צוותה, תרומה מהותית מתמשכת לפיתוח הטכנולוגי של המוצר.

- מנגנונים מובנים של דחיסת נתונים (gzip, snappy) לנתונים ולאינדקסים.

- מנגנוני אגרגצייה (PipeLine, Map Reduce, Single Purpose Operations).

- שימוש בזיכרון ה- RAM, אופטימיזציה ו- CACHE של דפים או מקטעי DB פופולאריים.

- תזמון נכון של פעולות הכתיבה הניגשות לאחסון.

- ארכיטקטורה מבוזרת וסקיילבילית – מהמסד עד הטפחות:
הקצאת נפח זיכרון RAM דינאמי, מנגנוני רפליקה מסונכרנים (יסייעו למהירות ומקביליות השליפות בין שרתים מבוזרים או מרוחקים).

- מנגנוני שרדינג – Sharding (חלוקת אחסון האובייקטים בין שרתים רבים יסייעו למשל במהירות ומקביליות הכתיבות).

- ניהול מחיצות (Partitions).

- התרחבות ליניארית החוצה (Scale Out) ללא הגבלה – עוד מכונות ועוד קלסטרים, עוד זיכרון, עוד אחסון, עוד ביזור גיאוגרפי של שרתים, וכל הללו "מנגנים יחד" עם היכולות הגרעיניות הראשונות לעיל.

- נעילה ברמת המסמך הבודד (Document Level Locking), צירוף מס' מסמכים (גם מסוגים שונים) לטרנזקציה אחת שהמפתח יכול להגדיר עבורה נק' התחלה וסיום, שכתוב מנגנוני הרפליקציה, Sharding, יצירת מנגנון שעון גלובאלי ועוד, מאפשרת הצגת יכולות ACID המוכרות מעולם ה- Relational DBs בגרסה 4.0. סקיילביליות נוספת מתוכננת לגרסה 4.2.

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

- גרסאות ATLAS MongoDB זמינות בגדלים, הרכבים, רמות SLA ותמחורים מגוונים בשירותי הענן של: Microsoft Azure, AWS, Google Cloud.

- ניתן להתממשק ל- MongoDB בטבעיות באמצעות: Java, Java Script, C++, C#, Python.

ל- MongoDB קיים גם קונקטור ODBC המאפשר ליצור באמצעותו שאילתות SQL.
הרכיבים המאפשרים את היכולות ה- SQL יות בצד השרת קיימים באופן רגיל בגרסה ארגונית, או בענן ברישיון מדרגת Enterprise (M10 ומעלה).

את התקנת הקונקטור ל- ODBC, הגדרת ה- DSN ים וכו' יש לבצע בצד הלקוח הזקוק לשירותי ה- SQL.

כתוצאה מכך ניתן להציג ולנתח נתונים גם בכלי BI פופולאריים, המאפשרים רק התממשקות לסכימות רלאציוניות.
גישה זו היא Best Practice בעבודה עם כלים כגון: MicroStrategy, SpotFire, Tableau, Qlik, Sisense, BusinessObjects, Cognos, Excel
עם זאת, כשלב מקדים יש צורך ליצור בסביבת MongoDB מיפוי של סכימה רלאציונית קשיחה מעל סכימת המסמכים הגמישה בה פועל MongoDB באופן טבעי.

ניתן לעשות זאת בכמה גישות היכולות להשלים זו את זו:
- דגימה חלקית או מלאה של אוספי המסמכים (Collections) שב- DB, "והסקת" הסכימה הרלאציונית מהם.
- הגדרת Views מעל אוספי המסמכים, המאפשרים ארגון ובקרה על המידע הרלוונטי שנאפשר לשלוף.
- שימוש בתוכנית השירות mongodrdl, המקנה דרך טקסטואלית להגדרת סכימת הטבלאות, העמודות, קשרי הגומלין (Joins), ופרמטרים נוספים הקשורים בצורת הקישוריות והשליפה.

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

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

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

מטרות גרסת MongoDB Mobile
- לספק את כל הפיצ'רים המוכרים, להם זקוקים מפתחי המובייל וה- IoT על גבי המכשירים עצמם.
- לשמש כאלטרנטיבה ראשונה למפתחים לצורך אחסון עיבוד ותשאול נתונים באופן מקומי
למשל: כשעיצוב היישום מחייב זאת, כשמעוניינים באינטרוולים של זמן לצורך קליטה, עיבוד ואיחוד פיסות נתונים שנאספו ונצברו מקומית ע"י האפליק' (כמו מסנסורים), ורק אח"כ לעדכן את ה-DB בענן;
כשמעוניינים לאפשר את השימוש באפליק', או בחלקים ממנה הדורשים הצגה פשוטה או ניתוח מידע, גם כשהתקשורת אינה זמינה, ועוד.
- לאפשר שאילתות, אינדקסים וסיכומים במקום.
- לאפשר ממשק SDK אחיד ל- DB שבענן.
- בעתיד הקרוב מתכנן היצרן להשיק במסגרת ה- MongoDB Mobile רכיב סטנדרטי שיאפשר סנכרון אוטומטי בין הנתונים שבמכשיר הנייד, לבין ה- MongoDB הנמצא מאחורי הקלעים בענן, על-פי כללי קונפיגורציה שיגדיר המפתח, ומבוססים על ה- Stich SDK"" שהיצרן חושף.

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

בדומה למתחרות הישירות - המשך כיבוש פלחי שוק ולקוחות מסורתיים של Oracle My SQL, באמצעות הצעת פלטפורמה רזה, יעילה ועתירת ביצועים (קידום התמיכה ב-ACID בגרסה 4.0) ותמחור אטרקטיבי.

בעת האחרונה מתגלה מגמה אצל חברות וארגונים מבוססים, המטמיעים מתודולוגיות אג'יליות (Agile) לניהול פרוייקטים ופיתוח תוכנה, לבצע שדרוג של יישומים או מודולים העושים שימוש במסדי נתונים רלאציוניים קלאסיים, לעבר מסדי נתונים מעולם ה-Big Data זאת לאור שיקולים תפעוליים, טכנולוגיים וכלכליים.

MongoDB רושמת לזכותה התמודדות מוצלחת מול יריבות כגון Casandra ו- ,CouchDB
יריבות עסקית מולamazon Dynamo DB , ועיקשת במישורים של פונקציונאליות, ביצועים ותמחור מול PostgreSQL ו- CouchBase.

כ"א מהפלטפורמות הנ"ל הינה מתחרה חשובה בעולם ה- none SQL, שפותחה לכתחילה לשם מתן פתרונות בתחום ה- ,Document DBs או שצמחה לעבר תחום זה (תוך שימור והמשך שיפור יכולותיה המקוריות), וקצרה בו הישגים משמעותיים.

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

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

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

Sap

Oracle

Informatica

SAS

Microstrategy

IBM

Microsoft

Qlikview

Teradata

Webfocus

התחברות

x
יצירת חשבון
x

קליק אחד ואתם מחוברים. מהיר .קל .מאובטח.

מעניין? שתפו דף זה באמצעות הטלפון הנייד

MongoDB - מה זה עושה, למה זה טוב, שימושים, יישום אנליטיקה, מגמות והתפתחויות קרובות - QR Code Friendly
Powered by QR Code Friendly

אירועים קרובים

מאמרים

מגמות של ביג דאטה בעולם הביטוח
CA Technologies
SSIS - Buffer Size Optimization
קטגוריה ראשית
בדיקות BI ו-DWH לעומת הבדיקות בתחומים אחרים
קטגוריה ראשית
איסוף דרישות לפרויקטי BI
קטגוריה ראשית
כח המידע במיקוד
קטגוריה ראשית
0

הדף שלנו בפייסבוק

התחברות

חדש בישראל

חדש בפורומים

כניסות למאמרים
7480307