סקירה קטנה על PostgreSQL למתחילים

בתהליך הבחירה של מסד נתונים, עליך לענות על שאלה אחת בבירור. האם אני צריך למשימה שהגדרתי מסד נתונים רלציוני (RDBMS) או שאני יכול להשתמש במסד נתונים מסוג אחר. אם תחליט להשתמש בRDBMS, אז אתה צריך לדעת לבחור ממגוון הבחירות הקיימות בשוק. אני מציע לשים לב ל PostgreSQL. זהו מסד נתונים רלציוני המתקדם ביותר בעולם עם קוד פתוח. בנוסף, שלא כמו מוצרים opensource רבים, למוצר אין את החיסרון העיקרי שלהם - חוסר תמיכה.

PostgreSQL הוא מסד נתונים פוסט רלציוני, אבל במוצר קיימים גם יתרונות וגם חסרונות של RDBMS. אחת המגרעות של RDBMS היא מהירות, בהשוואה למסדי נתונים אחרים כמו key-value או in-memory. אבל חייבים להבין שהיקף הישומים של מערכות האלה מאד ספציפי והם חסרים רבים מן היתרונות של RDBMS.

אז למה RDBMS בכל זאת איטי? זאת בשל תקורות גבוהות תקורה ל MVCC וגם דרישות של ACID.
מהירות של עבודה היא לא הסיבה העיקרית בגללה משתמשים בRDBMS. הבחירה בטכנולוגיה זאת נעשה לרוב בגלל:

  • היכולת להקצות תמיכה של שלמות נתונים על מסד הנתונים
  • חוסר תלות של מבנה נתונים לוגי ממבנה פיזי

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

מאמר זה מוקדש לאפשרויות שיפור ביצועי PostgreSQL.
המאמר זה אינו לא מתיימר להיות ממצה בנושא, ההדרכה המלאה והמדויקת ביותר על השימוש PostgreSQL היא, כמובן, נמצאת בתיעוד הרשמי של מוצר.
יש גם רשימה באנגילית postgresql-performance המוקדשת לנושאים האלה בדיוק.
המאמר מורכב משני חלקים, הראשון מהם מתאים יותר ל DBA, השני - למפתח היישומים.
מומלץ לקרוא את שני חלקים: הייחוס של שאלות ספציפיות רק לאחד מהם הוא מאוד מותנה.

תגובות

כתבה מעולה. מחכים להמשך :)