האם סוג אחד של בסיס נתונים מתאים לכל השימושים האפליקטיביים של היום?

 

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

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

בקיצור סטונברייקר טוען שאי אפשר לתקן אופנוע רק עם פלאייר!

 

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

 

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

  • כמות המידע גדלה בקצבים אדירים.
  • נדרש לאגור מידע לתקופות ארוכות יותר לרוב למשך שנים.
  • כולם רוצים נגישות למידע עדכני, לא מידע מיום האתמול.
  • צריכים תשובות מיד תוך שניות ולא תוך דקות או שעות.
  • נדרשים לענות על שאילתות אד-הוק ולא רק שאילתות ידועות מראש.
  • ועוד...

 

בניסיון לתת מענה לאתגרים אלו פותחו בשנים האחרונות מספר בסיסי נתונים חדישים אשר מתבססים על אחת משתי הגישות הבאות:

1. Column Databases – בסיסי נתונים מבוססי עמודה מסדרים את המידע על הדיסקים באופן שבו רצף הנתונים הוא על פי השדות ולא על פי הרשומות. בסיסי נתונים מסוג עמודה עונים על שאילתות הרבה יותר מהר משום שהם קוראים מהדיסק רק את העמודות (השדות) הרלוונטיים לשאילתה בניגוד לבסיסי הנתונים המסורתיים מסוג ROW (שורה) אשר נדרשים לקרוא מהדיסק את כל הטבלה. בבסיסי נתונים מסוג עמודה משתפרת גם יכולת הדחיסה וזאת מכיוון שהנתונים בעמודה של הטבלה הרבה יותר הומוגניים מאשר בטבלה כולה. הדחיסה העדיפה מצמצמת את נפח האגירה   הנדרש בפקטור של עד פי 20  וכן משתפרת המהירות והעלות מצטמצמת.


חסרונות

יתרונות

בעייתיות בעומסי עבודה משולבים של טעינה ושאילתות

מהירות גבוהה פי 50 ועד 200

בעייתיות בטעינות שוטפות ובמיוחד של כמות רשומות קטנה בכל פעם

גמישות ומענה מהיר לדרישות BI משתנות

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

ביצוע פעולות אחזקה וכיונון תוך כדי עבודה רציפה

מגבלה בכמות השאילתות הרצות בו זמנית

יכולות דחיסת מידע אגרסיביות


2. MPP Database  (Massive Parallel Processing) – עיבוד מקבילי מאסיבי: עיבוד מקבילי מאפשר לבסיסי נתונים מסוג שורה, לעבוד מהר יותר על ידי חלוקת המידע (partitioning) ועומסי העבודה על גבי צבר (Grid) של שרתים סטנדרטיים, ארכיטקטורה זו מאפשרת התרחבות משמעותית ובקלות יחסית, כל שנדרש הוא להוסיף חומרה.


חסרונות

יתרונות

עלות חומרה להאצת העבודה עם הדיסקים

יכולת התרחבות על ידי הוספת שרתים

עלות מערכת האיחסון שבדרך כלל ייעודית

חלוקת עומסי עבודה בין שרתים שונים

לעיתים שימוש בכמות גדולה של דיסקים תוך שימוש בכ- 30% משטח הדיסק (חלקים בעלי זמני הגישה הטוב ביותר)

שרידות גבוהה בשל חלוקה למספר שרתים

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


בדרך כלל נעשה שימוש בחומרה ייעודית




  

Vertica – להנות משני העולמות ללא החסרונות:

 Vertica מבית מדרשו של פרופסור סטונבייקר, הוא בסיס הנתונים היחיד המבוסס עמודה
ו- MPP השילוב של שני הטרנדים בעצם מאפשר ללקוחות להנות מיתרונות שני העולמות ללא החסרונות!

בנוסף, נעשה שימוש בארכיטקטורת משאבים עצמאיים (shared-nothing). בשום מצב אין "תחרות" על משאבי מחשוב (CPU, MEM, I/O או DISC)  בין מופעים/שרתים שונים של האפליקצייה.

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

 

ייתרונות Vertica:

Columnar DBMS

MPP

מהירות גבוהה פי 50 ועד מאות

התרחבות קלה על ידי הוספת שרתים

דרישות חומרה נמוכות בכ- 90%

ביצוע שאילתות תוך כדי טעינה (כולל טעינת רשומות בודדות)

יכולות דחיסת מידע אגרסיביות

ביצוע פעולות אחזקה וכיונון תוך כדי עבודה רציפה

נדרש נפח אגירה נמוך יותר

שרידות גבוהה בשל חלוקה למספר שרתים

גמישות ומענה מהיר לדרישות BI משתנות

ניתן להתקין על LINUX, VMware ובענן

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

רץ על חומרה סטנדרטית ללא צורך בחומרה ייעודית

 

Vertica פשוט מהיר! הארכיטקטורה הייחודית של Vertica מספקת רמת ביצועים מרשימה תוך שמירה על TCO מהנמוכים בשוק בסיסי המידע בכל נפח החל מ- 100GB ועד מאות רבות של TB.

 

למידע נוסף http://mintsl.com/Vertica  info@mintsl.com 052-595-8882