סקירה של מסדי נתונים NoSQL

ראשי תיבות NoSQL היה מטבוע בשנת 1998. אנשים רבים חושבים NoSQL הוא מונח גנאי נוצר לתקוע ב- SQL. במציאות, המונח פירושו לא רק SQL. הרעיון הוא ששתי הטכנולוגיות יכולות להתקיים יחד ולכל אחת יש את מקומה. התנועה NoSQL כבר בחדשות בשנים האחרונות כמו רבים של Web 2.0 מנהיגים אימצו טכנולוגיית NoSQL. חברות כמו פייסבוק, טוויטר, Digg, אמזון, LinkedIn, ו- Google כל להשתמש NoSQL בצורה זו או אחרת.

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

NoSQL יצאה מתוך צורך

אחסון נתונים: הנתונים הדיגיטליים המאוחסנים בעולם נמדדים ב- exabytes. Exabyte שווה למיליארד ג'יגה-בתים (GB) של נתונים. לפי Internet.com, כמות הנתונים המאוחסנים שנוספו בשנת 2006 הייתה 161 אקספט. רק 4 שנים מאוחר יותר בשנת 2010, כמות הנתונים המאוחסנים יהיה כמעט 1,000 ExaBytes אשר גידול של מעל 500%. במילים אחרות, יש הרבה נתונים מאוחסנים בעולם שלה רק הולך להמשיך לגדול.

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

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

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

מה זה NoSQL?

אני מניח דרך אחת להגדיר NoSQL היא לשקול מה זה לא.

זה לא SQL וזה לא relational. כמו השם מרמז, זה לא תחליף RDBMS אבל מחמאות אותו. NoSQL מיועד לחנויות נתונים מבוזרות לצורכי נתונים גדולים מאוד. תחשוב על פייסבוק עם 500,000,000 משתמשים או טוויטר אשר מצטבר Terabits של נתונים מדי יום ביומו.

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

קטגוריות NoSQL

העולם הנוכחי NoSQL מתאים 4 קטגוריות בסיסיות.

  1. ערכי מפתח חנויות מבוססים בעיקר על דינמו של אמזון נייר שנכתב בשנת 2007. הרעיון המרכזי הוא קיומו של טבלה חשיש שבו יש מפתח ייחודי ומצביע על פריט מסוים של נתונים. מיפויים אלה מלווים בדרך כלל במנגנוני מטמון כדי למקסם את הביצועים.
    Column Family Stores נוצרו כדי לאחסן ולעבד כמויות גדולות מאוד של נתונים המופצים על מכונות רבות. יש עדיין מפתחות אבל הם מצביעים על מספר עמודות. במקרה של BigTable (מודל העמודה של Google Column Family NoSQL), השורות מזוהות על ידי מפתח שורה עם הנתונים ממוינים ומאוחסנים על ידי מפתח זה. העמודות מסודרות על ידי משפחת הטור.
  1. מסד הנתונים של מסמך היו בהשראת Lotus Notes והם דומים לחנויות ערך מפתח. המודל הוא בעצם גרסאות מסמכים שהם אוספים של אוספים מפתח אחרים ערך. המסמכים המובנים למחצה מאוחסנים בפורמטים כמו JSON.
  2. גרף Database s בנויים עם צמתים, מערכות יחסים בין הערות ואת המאפיינים של צמתים. במקום טבלאות של שורות ועמודים ואת המבנה הנוקשה של SQL, מודל גרף גמיש משמש אשר יכול בקנה מידה על פני מכונות רבות.

שחקנים גדולים

השחקנים העיקריים ב- NoSQL צמחו בעיקר בגלל הארגונים שאימצו אותם. חלק מהטכנולוגיות הגדולות ביותר של NoSQL כוללות:

שאילתה NoSQL

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

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

PREFIX foaf:
SELECT? Url
מתוך
איפה {
תורם: "ג'ון פובר".
? תורם foaf: בלוג?
}

העתיד של NoSQL

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