در PostgreSQL، هر بار که باید تعیین شود آیا یک سطر برای query شما قابل مشاهده است یا خیر، این سوال پرسیده میشود: آیا transactionی که این سطر را نوشته است، قبل از گرفتن snapshot من commit شده بود؟
در سیستمهای مدیریت پایگاه داده مانند PostgreSQL، استفاده از مدل MVCC (Multi-Version Concurrency Control) برای مدیریت همزمانی دادهها بسیار رایج است. یکی از چالشهای اصلی در این مدل، اطمینان از این است که snapshotها بدون ایجاد قفل و کاهش کارایی سیستم گرفته شوند. CSN (Commit Sequence Number) MVCC به عنوان یک راهکار برای این چالش معرفی شده است که به سیستم اجازه میدهد بدون نیاز به قفل، snapshotهای مورد نیاز را تهیه کند.
این روش به طور خاص در PostgreSQL پیادهسازی شده است و هدف آن بهبود عملکرد سیستم با کاهش نیاز به قفلهای پیچیده و زمانبر است. با استفاده از CSN MVCC، سیستم میتواند به طور موثرتری تصمیم بگیرد که کدام سطرها برای یک query خاص قابل مشاهده هستند و این کار را با کارایی بیشتری انجام دهد.
برای جزئیات بیشتر میتوانید به مقاله اصلی مراجعه کنید.

