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

תוכן עניינים:

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

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

Image
Image

NoSQL נוצר מתוך צורך

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

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

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

מה זה NoSQL?

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

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

NoSQL Categories

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

  1. Key-values Stores מבוססות בעיקר על ה-Dynamo Paper של אמזון שנכתב ב-2007.הרעיון המרכזי הוא קיומה של טבלת hash שבה יש מפתח ייחודי ומצביע לפריט נתונים מסוים. מיפויים אלה מלווים בדרך כלל במנגנוני מטמון כדי למקסם את הביצועים.
  2. Column Family Stores נוצרו כדי לאחסן ולעבד כמויות גדולות מאוד של נתונים המופצים על גבי מכונות רבות. עדיין יש מפתחות אבל הם מצביעים על מספר עמודות. במקרה של BigTable (מודל NoSQL Family Column של גוגל), שורות מזוהות על ידי מפתח שורה כאשר הנתונים ממוינים ומאוחסנים על ידי מפתח זה. העמודות מסודרות לפי משפחת העמודות.

  3. מסדי נתונים של מסמכים נוצרו בהשראת Lotus Notes ודומים לחנויות עם ערך מפתח. המודל הוא בעצם מסמכים מנוסחים שהם אוספים של אוספי מפתח-ערך אחרים. המסמכים המובנים למחצה מאוחסנים בפורמטים כמו JSON.
  4. מסד נתונים של גרפיםים בנויים עם צמתים, קשרים בין הערות ומאפיינים של צמתים. במקום טבלאות של שורות ועמודות והמבנה הנוקשה של SQL, נעשה שימוש במודל גרף גמיש שיכול לשנות קנה מידה על פני מכונות רבות.

נגני NoSQL גדולים

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

  • Dynamo: Dynamo נוצר על ידי Amazon.com והוא מסד הנתונים הבולט ביותר של Key-Value NoSQL. אמזון הייתה זקוקה לפלטפורמה מבוזרת ניתנת להרחבה עבור עסקי המסחר האלקטרוני שלה, אז הם פיתחו את דינמו. Amazon S3 משתמש ב-Dynamo כמנגנון האחסון.
  • Cassandra: קסנדרה נוצרה בקוד פתוח על ידי פייסבוק והיא מסד נתונים NoSQL בעל עמודות.
  • BigTable: BigTable הוא מסד הנתונים הקנייני של Google בכיוון העמודות. Google מתירה את השימוש ב-BigTable אך רק עבור Google App Engine.
  • SimpleDB: SimpleDB הוא מסד נתונים נוסף של אמזון. משמש עבור Amazon EC2 ו-S3, הוא חלק משירותי האינטרנט של Amazon שגובה עמלות בהתאם לשימוש.
  • CouchDB: CouchDB יחד עם MongoDB הם מסדי נתונים NoSQL מוכווני קוד פתוח.
  • Neo4J: Neo4j הוא מסד נתונים של גרפים בקוד פתוח.

Querying NoSQL

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

SELECT ?url

FROM

WHERE {

?contributor foaf:name "Jon Foobar".

?contributor foaf:weblog ?url.

}

Future of NoSQL

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

מוּמלָץ: