Oracle NoSQL: הענקים מצטרפים למסיבה של המגניבים

אורקל מצטרפת למגמה העולמית ומכריזה על שני פתרונות NoSQL

מקור: flickr, cc-by Tom Raftery

הייתי רוצה להיות נוכח בישיבות ההנהלה של חברת אורקל בזמן שלמדו על מגמת ה NoSql המתפשטת בעולם. אורקל היא המובילה נוכחית וגם אחת החלוצות[1] (אם לא ה-) בתחום בסיסי הנתונים הרלציוניים (RDBMS – Relational Database Management Systems). התפתחות ה-NoSql היא בהחלט טלטלה להגמוניה הקיימת בשוק זה.

מתפתחים ל-NoSQL

עולם ה NoSql אינו איום קיומי ומיידי על בסיסי הנתונים של חברת אורקל. ההערכה המקובלת היא ש NoSql הוא בחירה מתאימה רק לכ 5% מהמערכות בשוק. אולם, בניגוד לתנועת ה Open Source (המהווה איום משמעותי בטווח הארוך[2]) שהמאמצים העיקריים שלה הם סטארטאפים קטנים שאין להם דיי תקציב לרכוש אורקל, מערכות NoSql ממלאות צורכי High End: המערכות הכי גדולות, הכי רעות – הקצפת השמנה של עולם בסיסי הנתונים ממנה נהנות חברות הענק מסוגה של אורקל. לאבד נתח שוק כזה – זה פשוט כואב.

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

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

ההכרזה משמעותית בעיקר בגלל שהיא מגיעה מאורקל.  לאף בסיס נתונים NoSQL עד עכשיו לא הייתה נקודת פתיחה כ”כ טובה ואך חברה שמושקעת כ”כ ב RDBMS לא אימצה בצורה חד משמעית את מודל ה NoSQL.

Oracle Big Data Appliance
פתרון אחד הוא Connector של Oracle ל Hadoop, בעיקר לצורכי [ETL[3. החבילה תסופק כ Appliance “אחסון נתונים” שאורקל תעמוד מאחוריו, דבר הגיוני מאחר ש Hadoop עדיין אינו קל להתקנה או אופטימיזציה. המוצר נחמד אך כנראה העניין העקרי בו הוא ש Oracle (חברה שמזוהה עם Mission Critical Applications) הוסיפה את חתימתה על Hadoop כמוצר עליו ארגונים יכולים לסמוך. צעד תודעתי חשוב עבור Hadoop ועולם ה NoSql בכלל.

Oracle NoSQL Database
פתרון שני הוא בסיס נתונים Key-Value Store שפותח ע”י חברת אורקל. חברות בסדר גודל של אורקל נוטות להגיב לאט. להרכיב ולמכור Appliance של מוצר קיים זה דבר אחד, אבל ה Oracle NoSql DB הוא מוצר חדש שנכתב מ scratch.

עדכון: אורקל הודו ש NoSQLDB “כולל בתוכו את Berkeley DB עצמו” ואינו מימוש חדש, כפי שרמזו קודם לכן. Berkeley DB הוא מוצר ותיק שזכה להצלחה מוגבלת, ובעיקר תפס בנישה של ה LDAP. ייתכן ואורקל מנסים להשתמש בבאז של NoSQL לעשות כמה שיפוצים בברקלי ולמכור אותו בעטיפה חדשה. האם ברקלי זכה להצלחה מוגבלת בגלל שהקדים את זמנו או בגלל נתונים אובייקטיבים? הזמן יאמר.

הוא אפילו אינו חיקוי של מודל קיים (כמו ש HBase הוא חיקוי של BigTable, פרוייקט Voldemort הוא חיקוי של Dynamo ו Cassandra הוא מישמש של שניהם) – אלא מציג מבנה חדש.

כמו בסיסי נתונים אחרים בתחום, Oracle NoSql DB אינו תומך ב SQL (דא!) או Joins אבל יש לו API ג’אווה-אי נחמד לפעולות CRUD על Key-Value. בצורה אסטרטגית, אורקל מיצבה את סט ה Tradeoff הקלאסיים של NoSQL בצורה שונה מרוב ה Key-Value DB הקיימים:

מקור: Oracle

  • AP, CP או רק P מתוך ה CAP Triangle.
  • בחירה בין עמידות (Durability) ל Latency בעוד שהמערכות שאני מכיר הציגו עד היום בחירה בין Latency ל Consistency בלבד.

ה Oracle NoSQL DB היא מערכת מבוזרת, אשר שומרת כל זוג Key-Value על שרת מרכזי – Master Node (שהוגדר לזוג הזה) ועוד כמה עותקים על nodes אחרים ב cluster. השכפול ל nodes אחרים הוא עקרונית אסינכרוני, אך ניתן להגדיר גם שיהיה סינכרוני (אפשר לומר, טרנזקציוני) – למי שמוכן לספוג את ה latency הנוסף בעקבות הפעולה. ה Master Node מחוייב להיות המעודכן ביותר בערך ה Key-Value, אם ע”י כתיבה ישירה אליו (או ע”י חיוב טרנזקציה שעושה רפליקציה אליו – ניחוש שלי), כך שהמשתמש יכול בכל רגע לבחור בין יותר consistency (קריאה מה Master Node) או ליותר Availability (קריאה מ node כלשהו). מה שיפה היא שהבחירה לאיזה node לגשת היא של ה client והוא יכול להחליט אחרת בכל רגע, ובאופן דינאמי.

אם בחרתם גם בעדכון אסינכרוני וגם בשליפה מ node אקראי (ולא ה Master Node) – לא מובטח לכם שהמידע יישמר[4]. בחירה ברפליקציה סינכרונית תגביר את ה Latency אבל תמנע ממצב כזה לקרות.

פרט אחרון לסיום הוא סינרגיה שנשמעת יפה: ה Oracle NoSQL DB יופץ (גם על) על Oracle Big Data Appliance.

גם חברת SAP (בכובע של BI, היא איננה מתרכזת בתחום של בסיסי נתונים) הכריזה זה מכבר על בסיס נתונים Columnar ו In-Memory, לביצוע שאילתות BI מהירות בשם HANA. “האם אתה מעוניין לנתח כמויות אדירות של נתונים פי 3600 מהר יותר?” שואלות הפרסומות. יו”ר החברה ואחד המייסדים, האסו פלטנר, הסביר שכיום – מחשב עם טרה של זכרון הוא לא דבר יקר ואפשר להשיגו במיליון דולר בלבד. זו אמנם אמירה קצת קיצונית, אך נראה ש Deployment של HANA יבוסס על מחשבים עם עשרות, אם לא מאות GB של זכרון.
סאפ הקדימה לפרסם על הפלטפורמה, כנראה משיקולים עסקיים ושיווקיים. ע”פ פרסומים זרים – הפלטפורמה עוד לא מגובשת לגמרי ויש עוד עבודה עד שתהיה מוכנה לשימוש רחב.

[1] לארי אליסון בעצמו הגה ותכנן את בסיס הנתונים של אורקל על סמך מסמך אקדמי של Codd המתאר את התאוריה הרלציונית.

[2] דוגמאות לתגובה של אורקל ל Open Source היא רכישת MySQL או הצגת ה Oracle DB Express החינמי (ממנו קל מאוד לגדול לגרסת אורקל בתשלום).

[3] (Extract, transform, and load (ETL הוא offloading של data מבסיס נתונים ל storage אחר, לרוב Data Warehouse, על מנת להקטין את האינדקסים ולגרום לבסיס הנתונים להגיב מהר יותר.

[4] במצב בו node נפל לא מובטח שאותו ה write יגיע ליעדו. במערכות Durable מנהלים לוג ומשחזרים כזו כתיבה, כך שאם שאילתת עדכון הסתיימה בצלחה – אתם יודעים שהמידע שם

ליאור בר-און

ליאור בר-און הוא Chief Architect בחברת סטארטאפ ישראלית גדולה.

הגב

8 תגובות על "Oracle NoSQL: הענקים מצטרפים למסיבה של המגניבים"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
זורבה
Guest

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

בהצלחה!

יוסי
Guest
שי
Guest

מהפוסטים החובבניים ביותר שהיו בבלוג הזה

עברי
Guest

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

סנונית קטנה
Guest
מושיק
Guest

במאמר, הכי התרשמתי מהמשפט “במצב בו node נפל”

wpDiscuz

תגיות לכתבה: