בסיס נתונים ליישומים ביטחוניים

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

רון אבנור, MongoDB

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

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

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

טבלאות או אובייקטים?

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

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

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

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

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

בסיס הנתונים שמפתחת MongoDB  הוא מונחה מסמכים (OODBMS) המשרת מאות אלפי אפליקציות, והמהווה חלופה לבסיסי נתונים רלציונים מוכרים כמו אורקל, DB2 של יבמ ו-SQL של מיקרוסופט. זהו בסיס נתונים שמייצג את המידע באמצעות אובייקטים בפורמט שנקרא (JSON (JavaScript Object Notation. מבחינת מתכנת שעובד בשפה מבוססת אובייקטים כמו C++ או ג'אווה, מדובר ביתרון משמעותי לעומת שימוש בטבלאות.

בעוד בטבלאות הוא צריך להחליט איך האובייקטים שלו ייוצגו (סכמה), ב-MongoDB  הוא יכול לאחסן את אובייקט המידע כמו שהוא. מדובר ביתרון הקיים בכל בסיס נתונים מבוסס מסמכים. במקרה של MongoDB , קיימת תאימות מלאה למי שעובד בפלטפורמת התכנות node.js בשל העובדה שבשני המקרים הפורמט של האובייקטים הוא JSON.

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

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

הכנה לעידן הרשת הסמנטית

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

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

הרשת הסמנטית מאפשרת לחבר בין ניתוח טקסטים וניתוח גרפי (graph analysis) המראה את הקשרים בין יישויות. "יש טכנולוגיות של חיפוש גרפי יעילות מאד. בקהילת המודיעין בארה"ב משתמשים ב-MongoDB  לצד בסיסי נתונים גרפיים. האובייקטים נשמרים ב-MongoDB  ואז מריצים על בסיס הנתונים סדרת שאילתות במטרה לזהות קבוצות משנה על בסיס פרמטרים מסויימים. את קבוצות המשנה מכניסים לבסיס הנתונים הגרפי ואז מבצעים עליהן ניתוח סמנטי. למה זה טוב? דמיינו תרחיש שבו רוצים להריץ חיפוש על מאות מליוני משתמשים בשירות מסויים ומתוכו לזהות רק כאלו שאוהבים תפוחים. עכשיו יש לכם קבוצת משנה של מליון משתמשים בשירות מסוים שאוהבים תפוחים, והחיפוש הסמנטי מאפשר לזהות את הקשרים ביניהם", אומר אבנור.

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

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

התאמה לארגונים מורכבים

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

"יש חברת ביטוח בשם MetLife בארה"ב שיש לה 70 מערכות שונות של מידע. הם איחדו את כל המערכות האלו באמצעות MongoDB  לשכבת נתונים אחת. הם ניסו לעשות זאת עם בסיס נתונים רלציוני במשך שנתיים - שלוש ולא הצליחו. איתנו הם עשו זאת ב-90 ימים", מגלה אבנור.

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

ב-MongoDB  יודעים גם לבצע גיבוי לנקודה בזמן (point in time snapshots) של בסיס הנתונים. מדובר באפשרות לשחזר את בסיס הנתונים לנקודת זמן מסוימת. זאת, בשונה ממערכות אחרות המספקות גיבוי שעתי או יומי בלבד.

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

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

מכוונים לקהילת המודיעין והביטחון

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

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

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

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

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

You might be interested also