🔵 عنوان مقاله
The Evolution of Logical Replication in Postgres: A Historical Overview
🟢 خلاصه مقاله:
این مرور تاریخی نشان میدهد Logical Replication در Postgres طی حدود ۲۰ سال از راهکارهای مبتنی بر trigger مانند Slony، Bucardo و Londiste به دوران logical decoding از WAL و سپس ابزارهای بالغتری مثل pglogical و در نهایت قابلیت داخلی publication/subscription در Postgres 10 رسیده است. راهکارهای اولیه گرچه مسیر را هموار کردند، با سربار، پیچیدگی عملیاتی و چالشهای DDL و تعارضها درگیر بودند. افزودهشدن logical decoding و سپس پیادهسازی داخلی، کارایی، فیلترگذاری و سهولت راهاندازی را بهبود داد، هرچند مسائلی مانند تکرار DDL و multi‑master همچنان حساس و وابسته به ابزارهای جانبی و شیوههای عملیاتی دقیقاند. به دلیل حضور طولانی Petr در پروژههای مرتبط و ارائه او در PostgresOpen 2016، این روایت معتبر و مبتنی بر تجربه عملی است.
#Postgres #PostgreSQL #LogicalReplication #WAL #pglogical #DatabaseReplication #OpenSourceDatabases
🟣لینک مقاله:
https://postgresweekly.com/link/174458/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
The Evolution of Logical Replication in Postgres: A Historical Overview
🟢 خلاصه مقاله:
این مرور تاریخی نشان میدهد Logical Replication در Postgres طی حدود ۲۰ سال از راهکارهای مبتنی بر trigger مانند Slony، Bucardo و Londiste به دوران logical decoding از WAL و سپس ابزارهای بالغتری مثل pglogical و در نهایت قابلیت داخلی publication/subscription در Postgres 10 رسیده است. راهکارهای اولیه گرچه مسیر را هموار کردند، با سربار، پیچیدگی عملیاتی و چالشهای DDL و تعارضها درگیر بودند. افزودهشدن logical decoding و سپس پیادهسازی داخلی، کارایی، فیلترگذاری و سهولت راهاندازی را بهبود داد، هرچند مسائلی مانند تکرار DDL و multi‑master همچنان حساس و وابسته به ابزارهای جانبی و شیوههای عملیاتی دقیقاند. به دلیل حضور طولانی Petr در پروژههای مرتبط و ارائه او در PostgresOpen 2016، این روایت معتبر و مبتنی بر تجربه عملی است.
#Postgres #PostgreSQL #LogicalReplication #WAL #pglogical #DatabaseReplication #OpenSourceDatabases
🟣لینک مقاله:
https://postgresweekly.com/link/174458/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
EDB
The Evolution of Logical Replication in PostgreSQL: A Firsthand Account
PostgreSQL has come a long way from its early days as a single-node database. If you’ve worked with PostgreSQL for a while, you’ll know its journey to robust logical replication was anything but straightforward, shaped by community efforts, creative workarounds…
🔵 عنوان مقاله
Spock: Logical Multi-Master PostgreSQL Replication
🟢 خلاصه مقاله:
این مقاله Spock را معرفی میکند؛ لایهای برای Logical Multi‑Master Replication روی PostgreSQL که اجازه میدهد چند نود همزمان عملیات نوشتن را بپذیرند و دادهها را بین خود همگام نگه دارند. برخلاف Physical Replication که به یک لیدر متکی است، Spock با استفاده از logical decoding تغییرات سطری را دریافت و روی نودهای دیگر اعمال میکند و بدین ترتیب امکان active‑active و حتی انتشار بخشی از DDL را فراهم میسازد.
نویسنده چالشهای اصلی Multi‑Master را توضیح میدهد: تشخیص و رفع تضادهای نوشتن، سیاستهای قابل پیکربندی مثل last‑update‑wins یا روشهای سفارشی، مدیریت شناسههای یکتا و sequenceها، و تغییر توپولوژی بدون توقف. از نظر عملیاتی نیز نظارت بر lag، ثبت و رصد تضادها، و طراحی الگوهای اپلیکیشنی مثل upsert و عملیات idempotent ضروری است؛ استفاده از UUID به جای sequenceهای متمرکز میتواند تعارضها را کم کند. نتیجهگیری این است که Spock جایگزین ساده برای سازگاری قوی سراسری نیست، اما برای سناریوهای active‑active با پذیرش eventual consistency گزینهای قوی است.
در مقایسه با گزینههای دیگر (Built‑in Logical Replication تک‑مستر، Physical Streaming، و راهکارهایی مانند BDR یا Bucardo)، Spock تمرکز را بر Multi‑Master منطقی میگذارد و در قبال پیچیدگی بیشتر، استقلال از یک primary واحد را میدهد. از آنجا که این مطلب در Golang Weekly آمده، نکات پیادهسازی برای سرویسهای Go نیز مطرح میشود: اتصال از طریق database/sql یا pgx به نود محلی برای کاهش تاخیر، مدیریت retry و conflict، و استفاده از الگوهایی مثل transactional outbox و CDC برای ساخت سیستمهای رویدادمحور قابل اتکا.
#PostgreSQL #Spock #LogicalReplication #MultiMaster #Golang #DistributedSystems #DatabaseReplication #HighAvailability
🟣لینک مقاله:
https://postgresweekly.com/link/177326/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Spock: Logical Multi-Master PostgreSQL Replication
🟢 خلاصه مقاله:
این مقاله Spock را معرفی میکند؛ لایهای برای Logical Multi‑Master Replication روی PostgreSQL که اجازه میدهد چند نود همزمان عملیات نوشتن را بپذیرند و دادهها را بین خود همگام نگه دارند. برخلاف Physical Replication که به یک لیدر متکی است، Spock با استفاده از logical decoding تغییرات سطری را دریافت و روی نودهای دیگر اعمال میکند و بدین ترتیب امکان active‑active و حتی انتشار بخشی از DDL را فراهم میسازد.
نویسنده چالشهای اصلی Multi‑Master را توضیح میدهد: تشخیص و رفع تضادهای نوشتن، سیاستهای قابل پیکربندی مثل last‑update‑wins یا روشهای سفارشی، مدیریت شناسههای یکتا و sequenceها، و تغییر توپولوژی بدون توقف. از نظر عملیاتی نیز نظارت بر lag، ثبت و رصد تضادها، و طراحی الگوهای اپلیکیشنی مثل upsert و عملیات idempotent ضروری است؛ استفاده از UUID به جای sequenceهای متمرکز میتواند تعارضها را کم کند. نتیجهگیری این است که Spock جایگزین ساده برای سازگاری قوی سراسری نیست، اما برای سناریوهای active‑active با پذیرش eventual consistency گزینهای قوی است.
در مقایسه با گزینههای دیگر (Built‑in Logical Replication تک‑مستر، Physical Streaming، و راهکارهایی مانند BDR یا Bucardo)، Spock تمرکز را بر Multi‑Master منطقی میگذارد و در قبال پیچیدگی بیشتر، استقلال از یک primary واحد را میدهد. از آنجا که این مطلب در Golang Weekly آمده، نکات پیادهسازی برای سرویسهای Go نیز مطرح میشود: اتصال از طریق database/sql یا pgx به نود محلی برای کاهش تاخیر، مدیریت retry و conflict، و استفاده از الگوهایی مثل transactional outbox و CDC برای ساخت سیستمهای رویدادمحور قابل اتکا.
#PostgreSQL #Spock #LogicalReplication #MultiMaster #Golang #DistributedSystems #DatabaseReplication #HighAvailability
🟣لینک مقاله:
https://postgresweekly.com/link/177326/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
GitHub
GitHub - pgEdge/spock: Logical multi-master PostgreSQL replication
Logical multi-master PostgreSQL replication. Contribute to pgEdge/spock development by creating an account on GitHub.