Database Labdon
883 subscribers
37 photos
3 videos
1 file
899 links
🕸 Database Academy

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
📌 Senior Database Engineer

📝 Type: Visa Sponsorship
🌍 Relocation Package:

🏢 Company: exadel

📍 Location: BULGARIA

⌨️ Category: #Programming

🔗 Tags: #python #postgresql #ai #server #git #jenkins #devops #gitlab #sql
🔵 عنوان مقاله
Sharding Our Core Postgres Database (Without Any Downtime)

🟢 خلاصه مقاله:
Gadget که یک پلتفرم توسعه JavaScript است، ابتدا تمام داده‌ها را در یک نمونه بزرگ Postgres نگه می‌داشت و با رشد کاربران به سقف مقیاس‌پذیری عمودی برخورد کرد. برای عبور از این محدودیت، معماری را به شاردینگ تغییر داد: انتخاب کلید شارد همسو با الگوی دسترسی (ترجیحاً در سطح tenant/project برای تک‌شارد بودن بیشتر کوئری‌ها)، افزودن لایه مسیریابی برای ارسال شفاف درخواست‌ها به شارد درست، و اجرای مهاجرت بدون توقف سرویس. روند انتقال مرحله‌ای بود: بک‌فیل داده‌های تاریخی، فعال‌سازی dual-read/dual-write برای همگام‌سازی، افزودن idempotency و منطق retry، و سوییچ تدریجی ترافیک با رصد مداوم تاخیر، خطا و lag. نتیجه، توزیع بار بین چند نمونه Postgres، حذف نقاط داغ، و کاهش ریسک عملیاتی بود—همه بدون downtime یا درخواست‌های از دست‌رفته. درس‌های کلیدی: انتخاب دقیق کلید شارد، لایه مسیریابی پایدار، بک‌فیل ایمن، گذار تدریجی و رصدپذیری کامل.

#Postgres #Sharding #DatabaseScaling #ZeroDowntime #DistributedSystems #DevOps #SRE

🟣لینک مقاله:
https://postgresweekly.com/link/174455/web


👑 @Database_Academy
🔵 عنوان مقاله
Postgres Maintenance Without Superuser

🟢 خلاصه مقاله:
** این مقاله نشان می‌دهد که برای نگه‌داری Postgres به SUPERUSER نیاز ندارید. با تکیه بر نقش‌های ازپیش‌تعریف‌شده مانند pg_monitor، pg_read_all_settings، pg_read_all_stats، pg_stat_scan_tables (برای مشاهده و پایش)، pg_signal_backend (برای خاتمه‌دادن نشست‌های مسئله‌دار)، و نقش‌های گسترده‌تری مثل pg_read_all_data و pg_write_all_data (برای عملیات نگه‌داری/ETL)، می‌توان بسیاری از کارهای روزمره را با اصل حداقل دسترسی انجام داد. علاوه بر این، مالک هر شیء می‌تواند بدون دسترسی سراسری روی همان شیء VACUUM، ANALYZE، REINDEX، CLUSTER، CREATE INDEX و REFRESH MATERIALIZED VIEW اجرا کند. تنها بخشی از کارها مانند تغییر تنظیمات سراسری، نصب بعضی Extensionها یا عملیات سطح پایین پشتیبان‌گیری/Replication به SUPERUSER یا دسترسی میزبان نیاز دارند. الگوی پیشنهادی، سپردن دسترسی‌ها به‌صورت نقش‌محور و حداقلی، و بررسی نقش‌های موجود با du یا پرس‌وجو از pg_roles بر حسب نسخه Postgres است.

#PostgreSQL #Postgres #DatabaseAdministration #LeastPrivilege #DBA #DevOps #Security #RBAC

🟣لینک مقاله:
https://postgresweekly.com/link/174460/web


👑 @Database_Academy
1🍾1
🔵 عنوان مقاله
Google Summer of Code

🟢 خلاصه مقاله:
** این مطلب به تجربه‌ی Ahmed Gouda در دوره‌ی Google Summer of Code می‌پردازد؛ جایی که او دستاوردهای خود را در پروژه‌ی pgwatch — ابزار متن‌باز پایش PostgreSQL — مرور می‌کند. هدف اصلی او بهبود کارایی، سهولت پیکربندی، وضوح داشبوردها و تقویت مستندات بود. در تعامل نزدیک با راهبران پروژه و با بازبینی‌های مرحله‌ای، تغییراتی ارائه کرد که راه‌اندازی و استفاده‌ی روزمره را ساده‌تر، پایداری را بیشتر، و تجربه‌ی کاربر را عملی‌تر کرد؛ همراه با تست‌ها و مستندات برای پایداری بلندمدت. او همچنین بر مهارت‌های کلیدی متن‌باز—ارتباط مؤثر، بازخوردپذیری و نگهداشت—تأکید می‌کند و دیگران را دعوت می‌کند نسخه‌های جدید را بیازمایند، بازخورد بدهند و در توسعه‌ی آینده‌ی pgwatch مشارکت کنند.

#GSoC #OpenSource #pgwatch #PostgreSQL #Monitoring #DevOps #Mentorship #SoftwareEngineering

🟣لینک مقاله:
https://postgresweekly.com/link/174113/web


👑 @Database_Academy
1🥰1
🔵 عنوان مقاله
Postgres Partitioning Best Practices: Sofia's Story

🟢 خلاصه مقاله:
سofia در یک پلتفرم تحلیلی شلوغ، با تبدیل جداول بزرگ Postgres به پارتیشن‌های زمان‌محور و همسو با الگوهای فیلترگذاری، تاخیر کوئری‌ها را به‌طور محسوس کاهش داد. او با رعایت اصولی مثل انتخاب کلید پارتیشن درست، اندازه‌گذاری معقول پارتیشن‌ها، خودکارسازی چرخه ایجاد/ضمیمه/حذف، استفاده سنجیده از ایندکس‌های محلی و جمع‌آوری آمار در سطح هر پارتیشن، باعث شد Partition Pruning و برنامه‌ریز Postgres بهتر عمل کنند. نگهداشت هم ساده‌تر شد: حذف داده قدیمی با Drop پارتیشن، Vacuum/Analyze قابل پیش‌بینی، و بهره‌گیری از Partition-wise Join/Aggregate.

برای بهبود نوشتن، او با الهام از نکات Karen Jex و Warda Bibi، نقش حیاتی WAL را درک کرد و آن را روی یک دیسک مجزا و پرتحمل (مثلا NVMe) قرار داد تا رقابت I/O با داده اصلی کم شود. سپس تنظیمات WAL را هوشمندانه تیون کرد (مانند wal_level، max_wal_size، wal_buffers، و زمان‌بندی Checkpoint) و با پایش pg_stat_wal و pg_stat_bgwriter رفتار سیستم را زیر نظر گرفت. ترکیب پارتیشن‌بندی درست و جداسازی WAL روی دیسک مستقل، کارایی و پایداری را همزمان بالا برد، بدون پیچیده کردن معماری.

#Postgres
#WAL
#Partitioning
#DatabasePerformance
#Scaling
#Storage
#DevOps
#BestPractices

🟣لینک مقاله:
https://postgresweekly.com/link/174761/web


👑 @Database_Academy
🔵 عنوان مقاله
Postgres Migrations Using Logical Replication (7 minute read)

🟢 خلاصه مقاله:
مهاجرت پایگاه‌داده‌های بزرگ Postgres بدون توقف طولانی دشوار است؛ به‌ویژه در RDS که دسترسی مستقیم به WAL وجود ندارد. روش‌های سنتی مانند pg_dump/pg_restore برای داده‌های کم مناسب‌اند اما در مقیاس ترابایتی باعث قطعی طولانی می‌شوند. پشتیبان‌گیری فیزیکی مبتنی بر WAL برای کلون‌گیری مفید است، اما در جابه‌جایی منطقی، تغییرات طرح، یا مهاجرت بین پلتفرم‌ها کارایی ندارد و معمولاً به دسترسی WAL نیاز دارد.

راه‌حل عملی، logical replication است: پس از همگام‌سازی اولیه، تغییرات ردیفی به‌صورت پیوسته به مقصد استریم می‌شود تا در زمان برش نهایی، فقط وقفه‌ای کوتاه نیاز باشد. با این حال، logical replication طرح، ایندکس‌ها و sequences را منتقل نمی‌کند؛ بنابراین باید طرح و ایندکس‌ها را از قبل در مقصد بسازید و sequences را پیش از برش با setval همگام کنید. وجود کلید اصلی یا تنظیم مناسب REPLICA IDENTITY، پایش تاخیر تکرار و مدیریت تراکنش‌های بلندمدت ضروری است.

طرح کلی مهاجرت شامل این مراحل است: آماده‌سازی مقصد و اعمال طرح؛ بارگذاری اولیه داده (مثلاً با pg_dump --data-only و اجرای موازی)؛ ایجاد PUBLICATION در مبدأ و SUBSCRIPTION در مقصد؛ پایش pg_stat_subscription و اعتبارسنجی داده؛ سپس توقف موقت نوشتن، صبر تا صفر شدن تاخیر، هم‌ترازی sequences، سوئیچ برنامه به مقصد و نگه‌داشتن مبدأ در حالت فقط‌خواندنی برای بازگشت احتمالی. همچنین باید سازگاری نسخه‌ها، پهنای‌باند شبکه، و محدودیت‌های RDS را در نظر بگیرید. برای Postgres-to-Postgres، logical replication معمولاً کم‌هزینه‌ترین مسیر به مهاجرت با توقف حداقلی است.

#Postgres #LogicalReplication #DatabaseMigration #ZeroDowntime #AWSRDS #WAL #pg_dump #DevOps

🟣لینک مقاله:
https://www.crunchydata.com/blog/postgres-migrations-using-logical-replication?utm_source=tldrdata


👑 @Database_Academy
🔵 عنوان مقاله
PG Back Web 0.5: A Postgres Backup System with Web Interface

🟢 خلاصه مقاله:
PG Back Web 0.5 یک اپ مبتنی بر Go است که با یک رابط وب کاربرپسند، مدیریت پشتیبان‌گیری‌های Postgres را ساده می‌کند. این ابزار امکان زمان‌بندی بکاپ‌ها (از جمله ذخیره به S3)، پایش وضعیت بکاپ‌ها و اتصال رویدادها از طریق Webhookها را فراهم می‌کند. به‌صورت Docker image ارائه شده و اکنون از Postgres 18 نیز پشتیبانی می‌کند و برای تیم‌هایی مناسب است که می‌خواهند فرایند بکاپ را استاندارد، قابل مشاهده و خودکار کنند.

#Postgres #DatabaseBackups #GoLang #S3 #Docker #DevOps #WebInterface #DataProtection

🟣لینک مقاله:
https://postgresweekly.com/link/175102/web


👑 @Database_Academy
🔵 عنوان مقاله
pgwatch 4.0: A Flexible Postgres Monitoring Solution

🟢 خلاصه مقاله:
pgwatch 4.0 یک راهکار منعطف برای پایش Postgres است که با داشبوردهای Grafana یک رابط کاربرپسند ارائه می‌دهد. کاربران می‌توانند متریک‌هایی مانند سلامت، کارایی، استفاده از ایندکس، I/O و روندها را مشاهده و تحلیل کنند تا الگوها و گلوگاه‌ها را سریع‌تر شناسایی کرده و برای بهینه‌سازی و برنامه‌ریزی ظرفیت تصمیم‌های دقیق‌تری بگیرند. هدف، ساده‌سازی نظارت روزمره در عین نمایش عمق داده‌های مورد نیاز تیم‌های فنی است.

#Postgres #pgwatch #Grafana #DatabaseMonitoring #PerformanceMonitoring #Observability #DevOps

🟣لینک مقاله:
https://postgresweekly.com/link/175402/web


👑 @Database_Academy
🔵 عنوان مقاله
pgschema: Declarative Schema Migrations for Postgres

🟢 خلاصه مقاله:
pgschema ابزاری برای مدیریت declarative تغییرات اسکیمای Postgres است؛ مشابه کاری که Terraform برای زیرساخت انجام می‌دهد. شما حالت مطلوب اسکیمای دیتابیس را در فایل‌ها تعریف می‌کنید، ابزار اختلاف با وضعیت فعلی را محاسبه می‌کند، یک plan شفاف نشان می‌دهد و تغییرات را به‌صورت امن و قابل تکرار اعمال می‌کند. قابلیت‌هایی مانند تشخیص drift، گارد برای تغییرات مخرب، جریان‌های ارتقا بین محیط‌ها، dry-run و ادغام با CI/CD را فراهم می‌کند و روی آبجکت‌های اصلی Postgres مانند schema، جدول، ایندکس، constraint، extension و نقش‌ها/مجوزها تمرکز دارد. کد منبع در GitHub در دسترس است و برای تیم‌هایی که به رویکرد Infrastructure as Code متکی‌اند، یک گردش‌کار شفاف و ایمن ارائه می‌دهد.

#Postgres #SchemaMigration #Declarative #InfrastructureAsCode #DevOps #DatabaseAutomation #Terraform #GitHub

🟣لینک مقاله:
https://postgresweekly.com/link/174763/web


👑 @Database_Academy
🔵 عنوان مقاله
Postgres 18 Released

🟢 خلاصه مقاله:
Postgres 18 طبق برنامه منتشر شد. این نسخه جهش انقلابی نیست، اما مجموعه‌ای از بهبودهای هدفمند ارائه می‌دهد که در عمل به اجرای سریع‌تر کوئری‌ها، استفاده مؤثرتر از ایندکس‌ها، I/O کارآمدتر و نگه‌داری سبک‌تر (VACUUM/autovacuum) منجر می‌شود. بهینه‌سازی‌های تکرار و بازیابی نیز پایداری و توان عملیاتی را برای سناریوهای High Availability بهتر می‌کنند. علاوه بر این، گزینه‌های پیکربندی و پایش شفاف‌تر و سخت‌گیری‌های امنیتی تازه، مدیریت و تیونینگ را ساده‌تر می‌سازد. برای ارتقا، یادداشت‌های نسخه را بررسی کنید، سازگاری اکستنشن‌ها را بسنجید و روی محیط Stage با بار کاری واقعی تست بگیرید.

#Postgres #PostgreSQL #Database #Performance #Release #SQL #OpenSource #DevOps

🟣لینک مقاله:
https://postgresweekly.com/link/174773/web


👑 @Database_Academy
🔵 عنوان مقاله
full feature set here

🟢 خلاصه مقاله:
این به‌روزرسانی اعلام می‌کند که مجموعه کامل قابلیت‌ها اکنون به‌صورت عمومی در دسترس است و به‌طور رسمی از Postgres 18 پشتیبانی می‌کند. تمام مسیرهای عملیاتی—from provisioning و migrations تا monitoring، HA، backups، pooling و performance tuning—در برابر Postgres 18 اعتبارسنجی شده‌اند و برای اکثر اپلیکیشن‌ها نیازی به تغییر کد نیست. برای ارتقا، راهنمای گام‌به‌گام برای in‑place و blue/green همراه با preflight checks، الگوهای rollout و مسیر بازگشت فراهم است؛ فقط توجه داشته باشید برخی extensions شخص‌ثالث ممکن است با Postgres 18 کمی عقب باشند. این نسخه مزایای بهبودهای عملکردی، پایداری و امنیتی را ارائه می‌دهد؛ تنظیمات جدید به‌صورت محافظه‌کارانه فعال می‌شوند و گزینه‌های پیشرفته قابل تنظیم هستند. پشتیبانی در محیط‌های cloud و on‑prem عرضه شده، تصاویر و قالب‌های CI/CD به‌روزرسانی شده‌اند و اسناد و راهنمای مهاجرت آماده است؛ تیم پشتیبانی برای ارزیابی، پایلوت و استقرار تولید در دسترس است.

#Postgres18 #PostgreSQL #Database #Compatibility #Upgrade #DevOps #Release #DBA

🟣لینک مقاله:
https://postgresweekly.com/link/175106/web


👑 @Database_Academy