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

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

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

מרכיבי מסד נתונים מבוסס NoSQL ו-NewSQL

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

1. מבנה JSON
> מבנים מורכבים הכוללים מערכים של אובייקטים
> קישור מסמכים (מסד נתונים)
> מימוש קשר יחיד ליחיד
> מימוש קשר יחיד לרבים ורבים ליחיד
> מימוש קשר רבים לרבים וניתוח סיבוכיות ועומסים בביצוע
> הרחבת המידע: אנכית ואופקית של מסד נתונים מבוסס מסמכים (נושא מתקדם)
> יישום מסד נתונים גראפי ב-NoSQL

2. הטמעת מערכת מידע מבוססת מסמכים:
> Distributed vs Centralized Systems
> Partitions
> מחיצות אנכיות Vertical Partitions
> מחיצות אופקיות Horizontal Partitions
> ניתוח: עומסים, מהירות וסיבוכיות: שליפה, הוספה, עדכון ומחיקה
> ניתוח: אמינות - מהירות - עקביות Speed vs Credibility vs Consistency

3. איפון ניתוח ועיצוב מערכת מידע מבוססת NoSQL וכולל יישום מערכת מידע:
> מחלקות
> ERD
> הערכת חלופות

4. הקמה במנועים הבאים:
MySQL
PostgreSQL
MongoDB

5. כתיבת שאילתות NoSQL לביצוע הפונקציונליות הנדרשת:
Create
Select
Update
Delete

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

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

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

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

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

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


מושגים קשורים לנושא זה

ACID

A לאטומיות - Atomicity
השינויים במידע או שמתבצעים או שאינם מתבצעים. במילים אחרות או שהטרנזקציה הסתיימה COMMIT בהצלחה מלאה, או שהטרנזקציה (שאילתת SQL בודדת או מספר שאילתות) לא בוצעה כלל עקב ביצוע ROLLBACK.
C לעקביות - Consistency
כל המידע עקבי ברגע שעיבוד מסוים שינה נתונים בהצלחה, המידע שקוף לכל המשתמשים.
I עבור לבידוד - Isolation
כל תהליך (טרנזקציה) מתבצע באופן עצמאי בשלמות ללא תלות בתהליכים אחרים.
D לעמידות - Durability
ברגע שתהליך העיבוד (טרנזקציה) הסתיים בהצלחה, השינויים נשמרים במסד הנתונים ונראים לכל המשתמשים.

משפט (תאוריה) CAP

C לעקביות - Consistency
A לזמינות - Availability
P לסובלנות מחיצה - Partition-tolerance


יישום מבוסס BASE (על בסיס משפט CAP)

זמינות בסיסית Basic Availability - שאיפה שבסיס הנתונים עובד רוב הזמן, עם דרישה לאפס נפילות.
מצב רך Soft-state - מידע לא צריך להיות עקבי בכל האתרים וגם העתקים השונים לא צריכים להיות עקביים הדדית כל הזמן.
עקביות בסופו של דבר Eventual consistency - מאגרי המידע מציגים עקביות בשלב מאוחר יותר (למשל, בזמן שאין שימוש רב במערכת ורק אז יש עדכון הדדי).

יישום מבוסס NewSQL

מבנה זה מאפשר שמירה על היתרונות של מבנה SQL והרחבות של NoSQL יחד עם שמירה על ACID ו-BASE בו זמנית.
מערכות אלו משמשים אירגונים שמערכות המידע שלהם גלובליות ופרוסות ברחבי העולם על גבי שרתים רבים.

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



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