NoSQL

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

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

המוטיבציה בגישה לפיתוח בסיס נתונים כזה, כוללת פשטות של אפיון, סילומיות רוחבית (באנגלית: Horizontal Scalability או Scale Out) ובקרה מוגברת על זמינות. דוגמה למימוש NoSQL עם דרישה עיקרית לסילומיות וביצועים גבוהים היא מערכת האחסון BigTable מבית גוגל (כשכבה מעל מערכת הקבצים שפיתחה בעצמה בשם "Google File System").

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

מערכות אלו נקראות לעתים "Not Only SQL", כדי להדגיש שלחלקן תמיכה בשפת השאילתות SQL.

היסטוריה[עריכת קוד מקור | עריכה]

קרלו סטרוצי השתמש במונח "NoSQL" ב-1998 כדי לכנות בסיס נתונים יחסי פשוט ומהיר שפיתח בקוד פתוח, אשר לא חשף את ה-API הסטנדרטי, קרי SQL. סטרוצי הציע שמכיוון שהקטגוריה סוטה מהנורמה המקובלת של בסיסי נתונים יחסיים, עליה להיקרא "NoRel" (קיצור של "No Relation" – "לא יחסי").

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

בדצמבר 2014, 5 שנים בלבד לאחר מכן, כבר היו מעל 150 בסיסי נתונים כאלה בשוק, ועל פי מדד DB-Engines חמישה מהם היו ברשימת 20 המובילים בעולם.[1]

קטגוריות של NoSQL[עריכת קוד מקור | עריכה]

Document Databases[עריכת קוד מקור | עריכה]

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

דוגמה: MongoDB

Graph Stores[עריכת קוד מקור | עריכה]

משמש לשמירת מידע הקשור לרשתות וקשרים חברתיים.

דוגמה: Neo4J, HyperGraphDB

Key-Value Stores[עריכת קוד מקור | עריכה]

משמש לבסיס נתונים פשוט ומהיר, התומך בצמדי מפתח-ערך בלבד. חלק מבסיסי Key-Value Stores מאפשרים להגדיר סוג (TYPE) לערכים (כגון Integer, String).

דוגמה: Redis, ‏Riak, ‏Voldemort

Wide-Column Stores[עריכת קוד מקור | עריכה]

בסיס נתונים מבוססי עמודות (במקום שורות), בו משמשים בעיקר לשאילתות על מערכי מידע גדולים במיוחד.

דוגמה: Cassandra, ‏HBase

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ החמישה הם: MongoDB ‏, Cassandra ‏, Redis ‏, HBase ו-‏Memcached
Crystal Clear app ktalkd.png ערך זה הוא קצרמר בנושא מחשבים. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.