📌 Senior Database Engineer
📝 Type: Visa Sponsorship
🌍 Relocation Package: ✅
🏢 Company: exadel
📍 Location: BULGARIA
⌨️ Category: #Programming
🔗 Tags: #python #postgresql #ai #server #git #jenkins #devops #gitlab #sql
📝 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
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
Gadget
Sharding our core Postgres database (without any downtime)
A deep dive into horizontal scaling: how we sharded our core db without any downtime or dropped requests.
🔵 عنوان مقاله
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
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
boringSQL | Supercharge your SQL & PostgreSQL powers
PostgreSQL maintenance without superuser
Learn about PostgreSQL maintenance without superuser privileges. Predefined roles like pg_monitor and pg_maintain provide secure database administration.
❤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
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
Withgoogle
Google Summer of Code
Google Summer of Code is a global program focused on bringing more developers into open source software development.
❤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 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
Blogspot
Postgres Partitioning Best Practices: Sofia's Story
Thank you to everyone who came to listen to my talk, "Postgres Partitioning Best Practices", at Euruko in Viana do Castelo, Portugal ...
🔵 عنوان مقاله
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
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
Crunchy Data
Postgres Migrations Using Logical Replication | Crunchy Data Blog
Instructions and tips for using logical replication to migrate Postgres to a new platform or host.
🔵 عنوان مقاله
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
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
GitHub
GitHub - eduardolat/pgbackweb: 🐘 Effortless PostgreSQL backups with a user-friendly web interface! 🌐💾
🐘 Effortless PostgreSQL backups with a user-friendly web interface! 🌐💾 - eduardolat/pgbackweb