٪80 تخفیف

دانلود کتاب آموزشی پیشرفته نصب و پیکربندی پایگاه داده PostgreSQL جلد اول

دسته‌بندی: برچسب: تاریخ به روز رسانی: 28 مهر 1404 تعداد بازدید: 584 بازدید

کتاب به زبان فارسی و به صورت ترجمه از منابع خارجی می باشد

تعداد صفحات کتاب : 673

پشتیبانی واتساپ

قیمت اصلی: ۲,۰۰۰,۰۰۰ تومان بود.قیمت فعلی: ۴۰۰,۰۰۰ تومان.

torobpay
هر قسط با ترب‌پی: ۱۰۰,۰۰۰ تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.

این دوره برای افرادی طراحی شده است که می‌خواهند مهارت‌های خود را در مدیریت و پیکربندی PostgreSQL به سطح پیشرفته ارتقاء دهند. دوره شامل نصب، پیکربندی، بهینه‌سازی، و راه‌اندازی قابلیت‌های پیشرفته این پایگاه‌داده قدرتمند می‌باشد.


بخش 1. معرفی پیشرفته PostgreSQL

 

فصل 1. آشنایی با مفاهیم پیشرفته در PostgreSQL

  • تفاوت PostgreSQL با سایر پایگاه‌های داده رابطه‌ای (RDBMS)
  • ویژگی‌های کلیدی PostgreSQL (ACID، MVCC، و … )
  • معماری داخلی PostgreSQL (Backend و Frontend)
  • مدیریت تراکنش‌ها و نسخه‌برداری چندگانه (MVCC)

فصل 2. معماری PostgreSQL و نحوه ذخیره‌سازی داده‌ها

  • ساختار صفحات (Pages) و بلوک‌ها (Blocks)
  • مدیریت حافظه (Shared Buffers، Work Memory، Temp Buffers)
  • ساختار جدول‌ها و نحوه نگهداری داده‌ها
  • نحوه نگهداری و مدیریت فایل‌های WAL (Write-Ahead Logging)

فصل 3. ویژگی‌های پیشرفته PostgreSQL در مقایسه با سایر پایگاه‌های داده

  • پشتیبانی از داده‌های ساختار یافته و غیرساختار یافته (JSON/JSONB، XML)
  • قابلیت پشتیبانی از داده‌های مکانی (GIS) و افزونه PostGIS
  • مقایسه سیستم ایندکس‌ها (B-Tree، GIN، GiST) با سایر پایگاه‌ها
  • قابلیت‌های Query Optimization و مدیریت پرس‌وجوهای پیچیده

فصل 4. بررسی نسخه‌های مختلف و قابلیت‌های آن‌ها

  • مرور تاریخچه PostgreSQL و پیشرفت نسخه‌ها
  • تغییرات کلیدی در نسخه‌های اخیر (مثلاً 14 و 15)
  • انتخاب نسخه مناسب برای محیط‌های مختلف (تولید، توسعه، آزمایش)
  • معرفی توزیع‌ها و نسخه‌های سفارشی (مانند Amazon Aurora، Citus، TimescaleDB)

فصل 5. کاربردهای PostgreSQL در سناریوهای پیشرفته

  • استفاده از PostgreSQL برای داده‌های تحلیلی و OLAP
  • کاربردهای عملی PostgreSQL در صنعت (فین‌تک، تجارت الکترونیک، IoT)
  • دلایل انتخاب PostgreSQL در محیط‌های ابری و مقیاس‌پذیر

بخش 2. نصب و راه‌اندازی PostgreSQL

 

فصل 1. آماده‌سازی سیستم برای نصب

  • بررسی نیازمندی‌های سیستمی (RAM، CPU، دیسک)
  • نصب ابزارهای پیش‌نیاز (GCC، Make، Libraries)
  • پیکربندی فایروال برای دسترسی به PostgreSQL

فصل 2. روش‌های نصب PostgreSQL

  • نصب از طریق پکیج منیجر:
    • نصب در Linux (Debian/Ubuntu: apt-get، CentOS/RedHat: yum یا dnf)
    • نصب در macOS با Brew
    • نصب در Windows با Installer
  • نصب از سورس‌کد:
    • دانلود سورس از وب‌سایت PostgreSQL
    • کامپایل و نصب با استفاده از ابزارهای خط فرمان (configure, make, make install)
    • تنظیم مسیرهای محیطی (PATH)

فصل 3. پیکربندی اولیه پس از نصب

  • تنظیم محل ذخیره‌سازی داده‌ها (initdb)
  • تنظیم مالکیت و مجوزها برای دایرکتوری داده‌ها
  • شروع سرویس PostgreSQL (pg_ctl یا systemctl)

فصل 4. پیکربندی فایل‌های اصلی

  • تنظیمات پیشرفته در فایل postgresql.conf:
    • تغییر پورت پیش‌فرض
    • تنظیمات حافظه (Shared Buffers, Work Memory)
    • تنظیمات اتصالات همزمان (Max Connections)
  • مدیریت دسترسی‌ها در فایل pg_hba.conf:
    • تعریف روش‌های Authentication (MD5، SCRAM، Peer)
    • محدود سازی دسترسی‌ها بر اساس IP یا شبکه

فصل 5. مدیریت سرویس PostgreSQL

  • راه‌اندازی سرویس به‌صورت خودکار در Startup
  • مدیریت سرویس با دستورات systemctl, service, یا pg_ctl
  • بررسی وضعیت و گزارشات سرویس

فصل 6. ساخت پایگاه داده و کاربر اولیه

  • ساخت پایگاه داده اولیه با دستور createdb
  • ایجاد کاربران (Roles) اولیه با دستور createuser
  • اختصاص مجوزها به کاربران

فصل 7. نصب PostgreSQL در کانتینرها

  • نصب PostgreSQL در Docker:
    • دانلود و اجرای Image آماده PostgreSQL
    • پیکربندی محیطی کانتینر (Volumes، Ports)
  • نصب در Kubernetes با Helm Charts:
    • راه‌اندازی StatefulSet برای PostgreSQL
    • مدیریت مقیاس‌پذیری و دسترسی بالا

فصل 8. تنظیمات دسترسی از راه دور

  • فعال‌سازی دسترسی از راه دور در postgresql.conf (listen_addresses)
  • افزودن IP‌های مجاز در pg_hba.conf
  • تست اتصال از کلاینت‌های راه دور با ابزارهایی مثل psql یا نرم‌افزارهای مدیریت گرافیکی

فصل 9. مدیریت نسخه‌ها و به‌روزرسانی

  • نصب نسخه‌های مختلف PostgreSQL روی یک سیستم
  • مدیریت نسخه‌ها با ابزارهای Containerization
  • به‌روزرسانی و ارتقای نسخه PostgreSQL بدون Downtime

فصل 10. ابزارهای مرتبط با نصب و راه‌اندازی

  • استفاده از ابزارهای مدیریتی مثل pgAdmin, DBeaver
  • نصب افزونه‌های مفید مانند PostGIS, TimescaleDB
  • پیکربندی ابزارهای Backup و Replication

فصل 11. نکات مربوط به امنیت در نصب

  • تنظیم مجوزها برای فایل‌های پیکربندی
  • فعال‌سازی ارتباطات امن با SSL/TLS
  • محدود سازی دسترسی‌ها بر اساس کاربران و شبکه‌ها

بخش 3. مدیریت پیشرفته کاربران و مجوزها

 

فصل 1. مفاهیم پایه کاربران و نقش‌ها

  • تفاوت بین کاربران و نقش‌ها (Roles vs. Users)
  • ایجاد کاربران و نقش‌های جدید
  • اصول تعریف مجوزها (Permissions)

فصل 2. ایجاد و مدیریت نقش‌ها

  • ایجاد نقش‌ها با دسترسی‌های خاص
  • تنظیم سطوح دسترسی برای نقش‌ها (Login، Superuser، Create DB، Replication)
  • استفاده از ویژگی‌های Inheritance در نقش‌ها
  • مدیریت نقش‌های گروهی (Group Roles)

فصل 3. مدیریت مجوزها

  • اعطای مجوزها (GRANT)
    • در سطح پایگاه داده
    • در سطح جداول، ستون‌ها و Sequence‌ها
  • لغو مجوزها (REVOKE)
  • مدیریت مجوزها در سطح Function و View

فصل 4. کنترل دسترسی ردیفی (Row-Level Security – RLS)

  • پیاده‌سازی RLS در جداول
  • ایجاد قوانین (Policies) برای کنترل دقیق دسترسی
  • تست و اعتبارسنجی دسترسی‌های RLS

فصل 5. مدیریت دسترسی کاربران

  • محدود سازی دسترسی کاربران به پایگاه داده‌ها
  • تنظیم دسترسی در سطح شبکه با استفاده از فایل pg_hba.conf
  • مدیریت Connection Limits برای کاربران

فصل 6. مدیریت سیاست‌های رمز عبور

  • تنظیم قوانین پیچیدگی رمز عبور
  • محدودیت‌های زمان انقضای رمز عبور
  • مدیریت تغییر رمز عبور (ALTER ROLE)

فصل 7. مانیتورینگ و رفع مشکلات امنیتی کاربران

  • بررسی لاگ‌های دسترسی کاربران
  • شناسایی فعالیت‌های غیرمجاز
  • استفاده از ابزارهای مانیتورینگ مانند pg_stat_activity

فصل 8. احراز هویت پیشرفته

  • استفاده از مکانیزم‌های احراز هویت (MD5، SCRAM، GSSAPI)
  • تنظیم SSL/TLS برای ارتباط امن
  • احراز هویت بر اساس Active Directory یا LDAP

فصل 9. اسکریپت‌نویسی برای مدیریت کاربران و مجوزها

  • استفاده از اسکریپت‌های SQL برای مدیریت خودکار کاربران
  • نمونه‌ اسکریپت‌های مدیریت گروهی کاربران

فصل 10. بهترین شیوه‌ها برای امنیت کاربران

  • استفاده از نقش‌های حداقل دسترسی (Least Privilege Principle)
  • مدیریت دسترسی‌ها بر اساس اصول Least Authority
  • مستندسازی دسترسی‌ها و مجوزها برای اطمینان از شفافیت

بخش 4. طراحی و بهینه‌سازی پایگاه داده

 

فصل 1. طراحی اسکیما (Schema Design)

  • تحلیل نیازمندی‌ها و طراحی اولیه:
    • بررسی نیازهای کسب‌وکار و شناسایی موجودیت‌ها و روابط.
    • استفاده از ERD (Entity-Relationship Diagram) برای طراحی.
  • عادی‌سازی پایگاه داده:
    • بررسی قوانین عادی‌سازی (Normal Forms: 1NF، 2NF، 3NF و BCNF).
    • حذف داده‌های تکراری و بهینه‌سازی ساختار جداول.
  • طراحی Denormalized:
    • زمانی که سرعت مهم‌تر از عادی‌سازی است.
    • ایجاد جداول تجمیعی و ذخیره داده‌های پیش‌محاسبه‌شده.
  • نام‌گذاری استاندارد:
    • ایجاد استانداردهای نام‌گذاری برای جداول، ستون‌ها و ایندکس‌ها.
  • مستندسازی اسکیما:
    • استفاده از ابزارهایی مانند pgAdmin یا DBeaver برای مستندسازی اسکیما.

فصل 2. انواع ایندکس‌ها (Indexes)

  • ایندکس‌های پایه:
    • B-Tree Index: پیش‌فرض برای عملیات SELECT.
    • Hash Index: مناسب برای جستجوهای دقیق.
  • ایندکس‌های پیشرفته:
    • GiST (Generalized Search Tree): مناسب برای داده‌های فضایی.
    • GIN (Generalized Inverted Index): برای جستجوهای سریع در داده‌های JSON و Full-Text.
    • BRIN (Block Range Index): مناسب برای داده‌های بزرگ با ترتیب خاص.
  • ایندکس‌های ترکیبی و چند ستونی:
    • استفاده از چند ستون در ایندکس برای بهبود سرعت جستجو.
  • ایندکس‌های جزئی (Partial Index):
    • تعریف ایندکس برای بخشی از داده‌ها بر اساس شرط مشخص.
  • ایندکس‌های Expression-Based:
    • ایجاد ایندکس‌ها بر روی مقادیر محاسبه‌شده.

فصل 3. بهینه‌سازی جداول

  • فشرده‌سازی داده‌ها:
    • استفاده از فشرده‌سازی برای کاهش فضای ذخیره‌سازی.
  • حذف و مدیریت داده‌های قدیمی:
    • پارتیشن‌بندی یا انتقال داده‌های قدیمی به آرشیو.
  • انواع داده مناسب:
    • انتخاب انواع داده متناسب با نیاز (مثل TEXT در برابر VARCHAR).
  • Column Store vs Row Store:
    • مقایسه بین ذخیره‌سازی ستونی و ردیفی و استفاده در شرایط خاص.

فصل 4. مدیریت پارتیشن‌بندی (Partitioning)

  • پارتیشن‌بندی افقی (Horizontal Partitioning):
    • تقسیم جداول بر اساس محدوده (Range) یا لیست (List).
  • پارتیشن‌بندی عمودی (Vertical Partitioning):
    • جدا کردن ستون‌های کم استفاده به جداول دیگر.
  • ایجاد و مدیریت پارتیشن‌ها:
    • ایجاد پارتیشن با دستورات PostgreSQL.
  • پارتیشن‌بندی خودکار:
    • استفاده از Ruleها و Triggerها برای مدیریت خودکار پارتیشن‌ها.

فصل 5. بهینه‌سازی عملکرد

  • Index Maintenance:
    • تحلیل و بازسازی ایندکس‌های قدیمی با REINDEX.
  • Query Caching:
    • استفاده از Materialized Views برای ذخیره نتایج پرمصرف.
  • Vacuuming و Autovacuum:
    • مدیریت فضای ذخیره‌سازی با VACUUM و تحلیل آن.
  • Query Execution Plans:
    • استفاده از Explain برای بررسی برنامه‌های اجرای پرس‌وجو.

فصل 6. ابزارهای کمکی

  • طراحی و مستندسازی:
    • pgModeler، dbDiagram.io
  • تحلیل و بهینه‌سازی:
    • استفاده از ابزارهای pg_stat_statements و pgHero.

بخش 5. پرس‌و‌جوهای پیشرفته

 

فصل 1. Subqueries (زیرپرس‌وجوها)

  • Subqueries در SELECT، FROM و WHERE
  • Subqueries همبسته (Correlated Subqueries)
  • مقایسه بین Subqueries و JOIN

فصل 2. Common Table Expressions (CTEs)

  • معرفی CTE و کاربرد آن
  • CTE های بازگشتی (Recursive CTEs) برای پیمایش داده‌های سلسله‌مراتبی
  • بهینه‌سازی پرس‌وجوهای پیچیده با CTE

فصل 3. Window Functions

  • استفاده از OVER برای تعریف پنجره‌ها
  • Aggregate Functions در Window Queries (مانند SUM، AVG، RANK)
  • تابع‌های RANK، DENSE_RANK، ROW_NUMBER
  • کار با LAG، LEAD برای تحلیل داده‌ها

فصل 4. کار با داده‌های غیرساختار یافته

  • ذخیره‌سازی داده‌ها با فرمت JSON و JSONB
  • پرس‌وجوهای پیشرفته با JSON (مانند ->، ->>)
  • جستجوی داده‌های تو در تو در JSON
  • تبدیل داده‌های JSON به جداول (json_to_record، json_to_array)

فصل 5. ایجاد و کار با جداول موقت

  • ایجاد Temporary Tables
  • بهینه‌سازی عملکرد با جداول موقت
  • استفاده از UNLOGGED Tables برای عملیات سریع‌تر

فصل 6. Query Optimization

  • استفاده از EXPLAIN و EXPLAIN ANALYZE
  • شناسایی Bottleneck ها در پرس‌وجوها
  • استفاده از Hints برای راهنمایی بهینه‌ساز PostgreSQL
  • Index Scan در مقابل Sequential Scan

فصل 7. کار با داده‌های زمانی

  • استفاده از TIMESTAMP، INTERVAL و DATE
  • Queryهای پیشرفته با داده‌های زمانی
  • محاسبات فاصله زمانی و مقایسه داده‌های تاریخی
  • استفاده از TO_CHAR و TO_DATE برای فرمت‌بندی داده‌های زمانی

فصل 8. کار با داده‌های جغرافیایی

  • معرفی افزونه PostGIS برای داده‌های جغرافیایی
  • استفاده از داده‌های Geometry و Geography
  • پرس‌وجوهای نزدیک‌ترین نقاط و محاسبات فاصله

فصل 9. پرس‌وجوهای Full-Text Search

  • جستجوی متنی با استفاده از قابلیت‌های tsvector و tsquery
  • ترکیب جستجوی متنی با دیگر فیلترها
  • استفاده از To_tsvector و To_tsquery برای تحلیل متنی

فصل 10. پرس‌وجوهای تحلیلی پیچیده

  • ترکیب چندین CTE و Subquery
  • تحلیل داده‌های چند بعدی (OLAP)
  • استفاده از Cube، Rollup و Grouping Sets
نقد و بررسی ها

نقد و بررسی وجود ندارد.

فقط مشتریانی که وارد سیستم شده اند و این محصول را خریداری کرده اند می توانند نظر بدهند.

سبد خرید

سبد خرید شما خالی است.

ورود به سایت