کتاب PostgreSQL Mistakes and How to Avoid Them (اشتباهات PostgreSQL و چگونگی اجتناب از آنها) به بررسی اشتباهات رایج توسعهدهندگان و مدیران پایگاه داده هنگام کار با PostgreSQL میپردازد.
کتاب PostgreSQL Mistakes and How to Avoid Them با هدف کمک به کاربران برای شناسایی و پیشگیری از این اشتباهات، بهترین شیوهها و راهکارهای عملی را برای بهینهسازی عملکرد، افزایش پایداری و بهبود امنیت پایگاه داده ارائه میدهد. موضوعاتی مانند طراحی ناکارآمد شماتیک، استفاده نادرست از ایندکسها، مشکلات مربوط به تنظیمات پیکربندی، و خطاهای رایج در مدیریت تراکنشها و بکآپگیری در این کتاب مورد بحث قرار میگیرند.
در ادامه مقدمهای از کتاب PostgreSQL Mistakes and How to Avoid Them را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب PostgreSQL Mistakes and How to Avoid Them:
PostgreSQL (یا به اختصار پُستگِرس) یک سیستم مدیریت پایگاه داده (DBMS) عمومی است که بیش از ۲۵ سال سابقه توسعه و یک جامعه پر جنب و جوش و فعال دارد. ما آن را “عمومی” مینامیم، زیرا برای یک مورد استفاده خاص تخصصی نشده است.
برعکس، انتخابهای متعدد طراحی آن در طول تاریخ توسعه طولانیاش، به نفع رفتار متعادل بوده تا پُستگرس بتواند در سناریوهای مختلف عملکردی به یک اندازه خوب ارائه دهد. این استراتژی در طول زمان نتیجه داده و منجر به یک پایگاه کاربری بسیار متنوع در بسیاری از زمینههای کاربردی شده است که اغلب با اکستنشنهای تخصصی تکمیل میشود.
طبق نظرسنجی توسعهدهندگان Stack Overflow 2024، پُستگرس برای دومین سال متوالی محبوبترین و مطلوبترین پایگاه داده در میان توسعهدهندگان به طور کلی و توسعهدهندگان حرفهای به طور خاص است. این پایگاه داده سال گذشته جایگاه محبوبیت برتر را از MySQL گرفت و هیچ نشانهای از کند شدن سرعتش دیده نمیشود.
این محبوبیت گواهی بر تأثیر رو به رشد آن است و نشان میدهد که پُستگرس یک نیروی تحولآفرین است که به تکامل خود برای برآورده کردن تقاضاهای بازار مدرن پایگاه داده و صنایع توسعه نرمافزار ادامه میدهد.
من از اواخر دهه ۱۹۹۰ از PostgreSQL به عنوان یک DBMS کامل با شهرت خوب آگاه بودم و در اوایل دهه ۲۰۰۰ شروع به آزمایش با آن کردم. حدود سال ۲۰۰۸ پس از تشویق یکی از دوستان و همکارانم، شروع به استفاده حرفهای از آن کردم. از آن زمان به بعد هرگز به عقب نگاه نکردم و از هیچ سیستم پایگاه داده دیگری استفاده نکردم.
«بزرگترین اشتباه PostgreSQL»
بگذارید درباره فیل توی اتاق صحبت کنیم – یعنی اسم. بعد از اینگرس (Ingres)، یک پایگاه داده قدیمیتر که توسط مایکل استونبریکر ساخته شد، پستگرس (Postgres) (مخفف Post-Ingres) آمد. اضافه شدن قابلیتهای SQL به Postgres، تغییر نام به PostgreSQL را به همراه داشت که “پست-گرس-کیو-ال” تلفظ میشود.
بسیاری از مشارکتکنندگان و اعضای جامعه تشخیص دادند که این نام به یک مانع تبدیل شده است، اما احساس میکردند برای تغییر نام پروژه خیلی دیر شده. با این حال، از نظر همه، “Postgres” کاملاً قابل قبول و معادل کامل است، بنابراین در کتاب PostgreSQL Mistakes and How to Avoid Them هر دو نام را به طور متناوب استفاده خواهیم کرد.
آه، و هرگز “Postgre” نیست.
درباره کتاب PostgreSQL Mistakes and How to Avoid Them
در فوریه ۲۰۲۳، من سخنرانیای با عنوان “این کارها را نکنید” را در کنفرانس سالانه FOSDEM در بروکسل، بلژیک ارائه دادم. این سخنرانی به بررسی برخی از اشتباهات رایج، دامها و سوءتفاهمهایی که کاربران PostgreSQL ممکن است با آنها روبرو شوند پرداخت و راههای ممکن برای رفع یا دور زدن آنها را مورد بحث قرار داد.
سخنرانی با استقبال خوبی روبرو شد و من آن را در دو کنفرانس دیگر نیز ارائه دادم. پس از آن، به این نتیجه رسیدم که مطالب بسیار بیشتری در این زمینه برای صحبت وجود دارد. با این حال، حجم مطالب به حدی بود که دیگر احساس نمیکردم برای قالب سخنرانی کنفرانس مناسب باشد. جستجو برای یک رسانه بهتر برای این محتوا بود که بحثهایی را برانگیخت که در نهایت به نوشتن “اشتباهات PostgreSQL”، اولین کتاب من، منجر شد.
خبر فوری: اشتباهات بیشتری از آنچه در کتاب PostgreSQL Mistakes and How to Avoid Them لیست شده است وجود دارد! من دوست دارم فکر کنم که واقعاً هیچ چیزی نیست که نتوانید آن را اشتباه انجام دهید. اما اینها رایجترین یا خطرناکترین اشتباهاتی هستند که احتمالاً با آنها روبرو خواهید شد.
کتاب PostgreSQL Mistakes and How to Avoid Them رسانهای برای بررسی این موضوع است، که به نظر من مناسبتر از یک وبسایت تکمنظوره، پستهای وبلاگ پراکنده، پاسخ به سوالات انجمنها، یا مجموعهای از سخنرانیهای کنفرانسی است. این میتواند افکار من را در مورد روش صحیح انجام کارها در Postgres در یک مکان متمرکز کند و در عین حال، میتواند عمیقتر و فراتر از هر یک از رسانههای ذکر شده باشد.
ناگفته نماند، یک کتاب نیازی به صرف زمان برای بررسی تمام پستهای مرتبط اینترنتی یا استقامت لازم برای ساعتها نشستن پای سخنرانیهای زنده یا با کیفیت پایین ضبط شده ندارد.
اشتباهات شرح داده شده در کتاب PostgreSQL Mistakes and How to Avoid Them از طریق تجربه با پایگاه داده PostgreSQL و اکوسیستم نرمافزاری آن شناسایی شدهاند.
من از مشارکت روزانه خود با Postgres در ظرفیتهای مختلف، در حالی که برای دو شرکت برجسته پایگاه داده PostgreSQL کار میکردم، بهرهمند شدهام، که به من بینشی در مورد نحوه استفاده، پیکربندی و نگهداری سیستمهای کاربران نهایی، با موارد استفاده شامل هم رویههای خوب برای پیگیری و هم رویههای بد برای اجتناب، داده است.
طی سالیان متمادی استقرار، مشاهده و رفع مشکلات سیستمهای Postgres در عمل، دیدگاه لازم برای نوشتن کتاب PostgreSQL Mistakes and How to Avoid Them را به دست آوردهام.
البته، هیچکس جزیرهای نیست و هیچیک از اینها بدون راهنمایی، اشتراک دانش و راهنمایی که جامعه PostgreSQL در طول سالها سخاوتمندانه به من ارائه داده است، امکانپذیر نبود.
چه کسی باید کتاب PostgreSQL Mistakes and How to Avoid Them را بخواند؟
برای بهرهمندی کامل از کتاب PostgreSQL Mistakes and How to Avoid Them، باید دانش عمومی از عملکرد سیستم پایگاه داده رابطهای و تسلط عملی بر زبان SQL داشته باشید. این بدان معناست که بتوانید یک پایگاه داده رابطهای ابتدایی را با استفاده از SQL DDL و با درک اولیه از مدلسازی دادهها طراحی کنید. در نتیجه، باید بتوانید کوئریهای SQL را با بندهای WHERE بنویسید و مفاهیم پشت ایندکسگذاری را درک کنید.
دانش اولیه از نحوه استفاده از PostgreSQL نیز انتظار میرود. باید بتوانید یک محیط PostgreSQL را نصب و پیکربندی کنید (فقط اصول اولیه؛ نگران مواردی مانند تنظیم عملکرد نباشید). آشنایی با خط فرمان UNIX (به ویژه لینوکس) نیز کمک میکند. اجرای ابزارهای خط فرمان، با درک مفهوم piping و تغییر مسیر خروجی، برای شما مفید خواهد بود.
سازماندهی کتاب PostgreSQL Mistakes and How to Avoid Them: یک نقشه راه
این کتاب به ۱۱ فصل و ۲ پیوست تقسیم شده است که هر یک بر جنبهای حیاتی از استفاده، دامها و بهترین رویههای PostgreSQL تمرکز دارد. فصلها موضوعات متنوعی، از مفاهیم بنیادی تا موضوعات پیشرفته را پوشش میدهند، در حالی که پیوستها منابع عملی را برای حمایت از یادگیری شما ارائه میدهند.
در اینجا یک مرور کلی مختصر از هر فصل و پیوست کتاب PostgreSQL Mistakes and How to Avoid Them آورده شده است:
- فصل ۱: چرا PostgreSQL اهمیت دارد – و چرا صحبت در مورد اشتباهات نیز اهمیت دارد – یک مرور کلی از PostgreSQL ارائه میدهد و اهداف کتاب PostgreSQL Mistakes and How to Avoid Them را برجسته میکند، از جمله نحوه شناسایی، دستهبندی و یادگیری از اشتباهات رایج PostgreSQL.
- فصل ۲: استفاده نادرست از SQL – به بحث درباره دامهای رایج SQL، راههای اطمینان از صحت کوئریها، و تکنیکهایی برای بهبود عملکرد کوئریهای پیچیده میپردازد.
- فصل ۳: استفاده نامناسب از انواع داده – پیامدهای انتخاب نوع داده اشتباه، مسائل مربوط به مناطق زمانی و ساعت تابستانی، و انواع دادههایی که بهتر است از آنها اجتناب شود را بررسی میکند.
- فصل ۴: اشتباهات جدول و ایندکس – ویژگیهای پیشرفته جدول مانند وراثت، اهمیت پارتیشنبندی، و انتخاب مؤثرترین کلیدها و ایندکسها برای جداول شما را پوشش میدهد.
- فصل ۵: استفاده نامناسب از ویژگیها – چالشها و خطرات سوءاستفاده از ویژگیهای PostgreSQL، مانند انتخابهای رمزگذاری، ایجاد قوانین، و استفاده نامناسب از ویژگیهای NoSQL را بررسی میکند.
- فصل ۶: رویههای بد عملکرد – اشتباهاتی مانند استفاده از پیکربندیهای پیشفرض در تولید، مدیریت نادرست محدودیتهای اتصال، و مدیریت غلط تراکنشها، ایندکسها و تنظیمات autovacuum را برجسته میکند.
- فصل ۷: رویههای بد مدیریت – بر خطاهای مدیریتی تمرکز دارد، از جمله استفاده کنترلنشده از دیسک، نادیده گرفتن گزارشها، تحلیل آماری ناکافی، و عدم ارتقاء صحیح PostgreSQL.
- فصل ۸: رویههای بد امنیتی – خطرات امنیتی مانند مدیریت بیدقت رمزهای عبور، اعطای دسترسی بیش از حد، قرار دادن پایگاه داده در معرض آسیبپذیریها، و استفاده ناامن از توابع را شناسایی میکند.
- فصل ۹: رویههای بد دسترسپذیری بالا – مسائل رایج در تضمین دسترسپذیری پایگاه داده را مورد بحث قرار میدهد، از جمله بیتوجهی به پشتیبانگیری، سوءاستفاده از ویژگیهای بازیابی، و عدم آمادگی برای خرابیهای پایگاه داده.
- فصل ۱۰: رویههای بد ارتقاء/مهاجرت – به دامهای احتمالی در طول ارتقاء یا مهاجرت، مانند رد کردن نسخهها، آزمایش ناکافی، و دست کم گرفتن تفاوتها بین انواع پایگاه داده میپردازد.
- فصل ۱۱: PostgreSQL، بهترین رویهها و شما: بینشهای نهایی – درسهای آموخته شده را خلاصه میکند، راهنماییهایی برای اجتناب فعالانه از بدهی فنی ارائه میدهد، و رویکردهایی برای بهبود پایگاه دادههای PostgreSQL موروثی پیشنهاد میکند.
- پیوست الف: پایگاه داده Frogge Emporium – یک شمای نمونه و مجموعه داده برای تمرین عملی مفاهیم مورد بحث در کتاب ارائه میدهد.
-
پیوست ب: برگه تقلب (Cheat sheet) – یک مرجع سریع برای نکات و بهترین رویههای PostgreSQL برای کمک به شما در جلوگیری از اشتباهات و کارآمدی بیشتر.
سرفصلهای کتاب PostgreSQL Mistakes and How to Avoid Them:
- PostgreSQL Mistakes and How to Avoid Them
- brief contents
- contents
- foreword
- preface
- acknowledgments
- about this book
- about the author
- about the cover illustration
- 1 Why PostgreSQL matters-and why talking about mistakes does too
- 2 Bad SQL usage
- 3 Improper data type usage
- 4 Table and index mistakes
- 5 Improper feature usage
- 6 Performance bad practices
- 7 Administration bad practices
- 8 Security bad practices
- 9 High availability bad practices
- 10 Upgrade/migration bad practices
- 11 PostgreSQL, best practices, and you: Final insights
- appendix A Frogge Emporium database
- appendix B Cheat sheet
- index
- PostgreSQL Mistakes and How to Avoid Them – back
جهت دانلود کتاب PostgreSQL Mistakes and How to Avoid Them میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.