🔵 عنوان مقاله
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
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
Planetscale
Processes and Threads — PlanetScale
Processes and threads are fundamental abstrations for operating systems. Learn how they work and how they impact database performance in this interactive article.