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

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

רשימת כותבים
גדעון קוך
גדעון קוך

חלופות למסדי נתונים למערכת מידע

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

SQL vs NoSQL database alternative evaluation online tool

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

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

שלושה תחומי בחינה:
פעילויות ACID vs CAP / BASE
גודל מסד הנתונים בתצורות השונות
תשתיות, שרת ותקשורת נדרשים

הערכת פעילות מסד הנתונים

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

הערכת גודל מסד הנתונים

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

הערכת תשתיות, שרת ותקשורת

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

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

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

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

עיבוד - שליפות NoSQL דורשות כוח עיבוד רב יותר משרת רגיל
כח עיבוד של השרת להבדיל מיכולת השליפה שלו

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

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

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

תגובה לנושא
הצעה לנושא חדש



כל הזכויות שמורות לגדעון קוך