<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Optimistic Concurrency on Nalar</title>
    <link>https://nalar.dev/id/tags/optimistic-concurrency/</link>
    <description>Recent content in Optimistic Concurrency on Nalar</description>
    <generator>Hugo</generator>
    <language>id-id</language>
    <lastBuildDate>Mon, 21 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/id/tags/optimistic-concurrency/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Kolom Versi Mengubah Lost Update Menjadi Konflik yang Terdeteksi</title>
      <link>https://nalar.dev/id/kolom-versi-mengubah-lost-update-menjadi-konflik-yang-terdeteksi/</link>
      <pubDate>Mon, 21 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/kolom-versi-mengubah-lost-update-menjadi-konflik-yang-terdeteksi/</guid>
      <description>&lt;h1 id=&#34;kolom-versi-mengubah-lost-update-menjadi-konflik-yang-terdeteksi&#34;&gt;Kolom Versi Mengubah Lost Update Menjadi Konflik yang Terdeteksi&lt;/h1&gt;&#xA;&lt;p&gt;Alur read-modify-write dapat menimpa perubahan lain yang sudah commit walaupun setiap statement database berhasil. Dua client membaca row yang sama, menghitung replacement berbeda, lalu menulis secara berurutan. Tanpa kondisi yang mengikat setiap write ke state yang dibacanya, write terakhir dapat menghapus perubahan sebelumnya tanpa sinyal konflik.&lt;/p&gt;&#xA;&lt;p&gt;Kolom versi membuat dependency tersebut eksplisit. Client membaca data beserta versinya, lalu melakukan update hanya jika versi di storage masih sama dengan yang diamati. Perubahan versi mengubah race menjadi conditional update yang gagal, bukan lost update.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
