🔵 عنوان مقاله
What REPACK (CONCURRENTLY) costs while it runs (15 minute read)
🟢 خلاصه مقاله:
در نسخه ۱۹ پایگاه داده PostgreSQL، ویژگی جدیدی به نام REPACK (CONCURRENTLY) معرفی شده است که امکان بازنویسی جداول به صورت آنلاین و بدون نیاز به توقف سیستم را فراهم میکند. این قابلیت، وظیفهای مشابه ابزارهای قدیمیتر مانند pg_repack و pg_squeeze دارد اما با تفاوت قابل توجه در عملکرد و کارایی. وقتی این ویژگی فعال است، عملیات بازنویسی به صورت همزمان و در حین اجرای سایر فعالیتهای پایگاه داده صورت میگیرد که باعث میشود فرآیند به طور کلی سریعتر انجام شود و میزان لاگهای WAL کمتری تولید گردد.
در عین حال، اجرای این فرآیند مزایای قابل توجهی دارد، اما در مقابل، برخی محدودیتها و معایب نیز وجود دارد. به عنوان مثال، ممکن است اجرای REPACK (CONCURRENTLY) منجر به تأخیر در عملیات VACUUM در سطح کل کلاستر شود و در بعضی موارد، فرآیندهای نوشتن دادهها در زمان اجرای نهایی بازنویسی کوتاهمدت مسدود شوند. همچنین، محدودیت اولیه در تعداد بروزرسانیها و حذفهای قابل انجام در هر بار اجرا، حدود ۱۰۵ میلیون عملیات است که این عدد ممکن است در پروژههای بزرگتر نیاز به بررسی دقیق داشته باشد.
بنابراین، استفاده از این قابلیت باید با شناخت کامل از مزایا و محدودیتهای آن صورت گیرد تا در صورت نیاز، بتوان بهترین بهرهبرداری را از آن داشت و از بروز مشکلات اجرایی ناخواسته جلوگیری کرد.
#پایگاه_داده #PostgreSQL #بازنویسی #کارایی
🟣لینک مقاله:
https://boringsql.com/posts/repack-concurrently-costs/?utm_source=tldrdata
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Post #1680
54