חלקים בלתי נפרדים מההחלטות בבניית ארכיטקטורה, הינם מבנה הנתונים (ריאלציוני או לא?) ובסיס הנתונים בו שומרים את הנתונים.
לכל אלו שנתקלו במושג NoSQL ונלחצו ממנו, הנה לכם פוסט קצר.
למבנה טבלאי יש מגבלות מסוימות ועם הגידול בנפח הנתונים אנו משלמים הרבה, והביצועים פחות טובים…
וכאן נכנסים מסדי הנתונים ה NoSQL (מסדי נתונים בעלי נפחים גדולים ואפשרות לקבלת מידע בצורה מהירה).
מידע זה אינו מאורגן לפי שיטה כלשהי (Unstructured), הוא מגוון מאוד כך שלא ניתן לסדר אותו בטבלאות.
דוגמאות לסוגי מידע שכאלה הינם: לייקים ותגובות ברשתות חברתיות, מכוניות אוטונומיות,מידע מאתרים ועוד.
להלן קטגוריות של NoSQL:
1.Key-Value Stores : משמש לבסיס נתונים פשוט ומהיר, התומך בצמדי מפתח-ערך בלבד.
חלק מבסיסי Key-Value Stores מאפשרים להגדיר סוג לערכים (כגון Integer, String) (Redis, Riak, Voldemort).
2.Document Databases : בסיס נתונים המצמיד מפתח עם מבנה מורכב של מידע נקרא "מסמך".
מסמך יכול להכיל צמדים מורכבים של מפתח-ערך,מפתח-מערך או אפילו מפתח מסמך (דוגמה: MongoDB).
3.Graph Stores :משמש לשמירת מידע הקשור לרשתות וקשרים חברתיים. ( Neo4J, HyperGraphDB)
4.Wide-Column Stores : בסיס נתונים מבוסס עמודות (במקום שורות), בו משמשים בעיקר לשאילתות על מערכי מידע גדולים במיוחד (Cassandra, HBase).
יתרונות – מהירות, גמישות, מחיר ומבנה גמיש.
חסרונות- מידע מובנה, שלמות מידע וJoinים.