content top
על טרנדים ופרופורציות

על טרנדים ופרופורציות

אם הייתם על כדור הארץ בזמן האחרון, כנראה ששמעתם כמה וכמה פעמים את המילים NoSQL, Hadoop, Big Data וכו'.

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

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

 

החלטתי ללכת ל – Google Trends כדי לראות קצת מספרים.

בתור התחלה, רציתי לראות גרף עבור “SQL Server”. ככה הוא נראה:

 

SQLServerTrend

 

 

לעומת זאת, ככה נראה הגרף עבור “Big Data”:

 

BigDataTrend

 

זה לא נראה טוב. SQL Server בירידה ו-Big Data בעלייה משמעותית.

אבל בואו נשים את שני החיפושים על אותו גרף (SQL Server בכחול, Big Data באדום):

 

SQLServerVsBigData

 

 

ניתן לראות שלמרות כל ההייפ, מספר החיפושים אחרי Big Data הוא פחות מעשירית ממספר החיפושים אחרי SQL Server.

גם הגרפים מול Hadoop, NoSQL ו-MongoDB נראים כך.

 

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

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

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

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

BigData ו-NoSQL הן טכנולוגיות שעדיין לא נמצאות באותו איזור.

 

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

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

 

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

ולכן כדאי להכיר אותן – כבר קראתי את הפוסט המעולה של מריה זקורדייב (“Love your enemies.. it pisses them off”), אני מחכה להרצאה של ליאור קינג על NoSQL Databases, ומתכוון להתחיל לשחק עם HDInsight.

בנוסף, כדאי להבין מתי בכלל צריך פתרון Big Data. לפני כמה שנים היה מונח מאוד נפוץ בעולם שלנו: VLDB – Very Large Database. ההגדרה הכי טובה ששמעתי בזמנו ל-VLDB היא “Database שצריך לעבוד איתו ולתחזק אותו בדרכים לא סטנדרטיות”.

הדרכים הלא סטנדרטיות של אז הפכו ליותר סטנדרטיות היום, אבל ההגדרה הזו מאוד מזכירה לי את מה שמדברים עליו היום:

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

 

אני מעריך שבעוד כמה שנים יהיה פחות בלאגן, יהיה הרבה יותר ברור מתי נכון להשתמש באיזה סוג Database, ובאופן כללי SQL Server יישב ליד NoSQL Databases, כשכל אחד עושה את מה שהוא טוב בו.

אשמח לשמוע את דעתכם על הנושא בתגובות. לדעתי יכול להתפתח דיון מאוד מעניין.

7 תגובות ל “על טרנדים ופרופורציות”

  1. מאת נועם שטיין:

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

  2. אני מסכים אם כל מה שאמרת מאיר.
    ה-RDBMS ישאר איתנו עוד שנים רבות.
    מאז תחילת שנות ה-80 ועד היום לא נס לחו – נהפוך הוא. ה-RDBMS נהיה תוכנה מתוחכמת ומפלצתית יותר ויותר שעושה הרבה יותר מ-CRUD של נתונים גולמיים.

    בעתיד אני מאין שתהיה סינרגיה בין מערכות RDBMS ל-NoSQL. כבר עכשיו אפשר לראות ניצנים לזה בגרסת SQL 2012 שמביאה לנו את ה- ColumnStore index שלמעשה מבוסס על column-based DB שהוא אחד מצורות ה-NoSQL DB שישנן בחוץ.
    התחושה שלי היא שה-RDBMS העתידי עשוי להכיל גם מנוע שאינו ACID אבל יאפשר ביזור נתונים, סילומיות (scalability) ויכיל אפשרות לוותר על consistency לטובת מהירות וחלוקת הנתונים בין שרתים רבים.

    בהרצאה שלי בפורום ISUG ב-9 באפריל, אני אסביר מה מערכת NoSQL יודעת לעשות ש-RDBMS מתקשה לעשות.

    אני מוצא את ה-NoSQL תחום מרתק ואני מזמין גם מפתחים ולא רק DBA-ים לבוא להרצאה שלי :)

  3. נועם, ליאור, תודה על התגובות.
    אגב, אחרי שהפוסט פורסם נתקלתי בפוסט הזה:
    http://venturebeat.com/2013/02/22/big-data-is-dead-whats-next/
    הוא מדבר בצורה בוגרת ולא שיווקית, ת'כלס, על השימושים והטכנולוגיות שמאחורי הבאזז של Big Data, ואחת הטכנולוגיות שהוא מזכיר נקראת NewSQL, שאמורה לשלב את היתרונות של RDBMS ו-NoSQL.
    בקיצור, ימשיך להיות מעניין.

  4. מאת pini krisher:

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

  5. מאת Lior King:

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

  6. […] אני מתחזק מערכת hadoop נאה. פוסט זה נכתב בתגובה לפוסט של מתן יונגמן. אני מקווה לשפוך מעט אור על המצב כיום, […]

  7. מאת דוד יצחק:

    מאיר שלום
    אני יכול להביא את התובנה שלי מהרצאה שלי STKIהאחרונה בכנס DBA צפון למה לא תמיד NoSQL מתאים . כולל סקר משתמשים של פיני מ- STKI . הנה השקף המתאים (כמובן תוכלו להוריד את ההרצאה המאתר)
    דוד יצחק – DBA
    מנהל פורום DBA צפון
    http://www.iloug.org.il/DBA_NorthForum.php

    • ACID is not supported
    • Cap Theorem -consistency availability partitioning
    http://en.wikipedia.org/wiki/CAP_theorem
    • In BIG DATA usually consistency is discarded.
    • Master-Master replication is not supported
    “ MongoDB doesn’t support master-master replication; however, that’s not entirely true. It turns out it is possible to use MongoDB in a master-master configuration; however, this approach is not recommended”
    http://www.mongodb.org/display/DOCS/Master+Master+Replication.
    The Definitive Guide to MongoDB , Apress 2011

השאר תגובה