Database Labdon
797 subscribers
33 photos
2 videos
1 file
727 links
🕸 Database Academy

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
a visual explainer of processes and threads

🟢 خلاصه مقاله:
** این مقاله با یک توضیح تصویری، تفاوت‌های بنیادین بین فرآیند و رشته را توضیح می‌دهد: فرآیندها فضای حافظه‌ای جدا دارند و ارتباطشان از طریق مکانیزم‌های سیستم‌عامل انجام می‌شود، در حالی‌که رشته‌ها داخل یک فرآیند حافظه مشترک دارند، ارتباطشان سریع‌تر است اما ریسک تداخل و خرابی گسترده‌تر می‌شود. سپس این دیدگاه به معماری پایگاه‌های داده تعمیم داده می‌شود: Postgres از مدل process-per-connection با فرآیندهای جداگانه برای هر اتصال و حافظه مشترک برای هماهنگی استفاده می‌کند؛ MySQL در یک mysqld واحد با مدل thread-per-connection (یا thread pool) و رشته‌های متعدد اجرا می‌شود. نتیجه مقایسه: Postgres ایزولاسیون قوی‌تری در سطح حافظه دارد اما سربار هر اتصال بیشتر است و خرابی یک backend می‌تواند به بازراه‌اندازی برای حفظ سازگاری منجر شود؛ MySQL از نظر حافظه برای اتصالات زیاد بهینه‌تر و تعویض متن در آن سریع‌تر است، ولی خطا یا ازدحام در یک رشته می‌تواند کل فرایند را متاثر کند و نیازمند تنظیم دقیق برای جلوگیری از رقابت قفل‌هاست. در عمل، هر دو با ابزارهای connection pooling مانند PgBouncer و ProxySQL افراط‌ها را تعدیل می‌کنند و انتخاب نهایی به اولویت‌های بارکاری بین ایزولاسیون/قابلیت مشاهده در برابر بازده و مقیاس‌پذیری اتصال بستگی دارد.

#OperatingSystems #Concurrency #Postgres #MySQL #DatabaseArchitecture #Threads #Processes #Performance

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


👑 @Database_Academy