{
  "schema_version": 1,
  "observed_at": "2026-09-29T04:40:33.022857+00:00",
  "environment": {
    "os": "Linux",
    "python": "3.10.12",
    "sqlite": "3.37.2",
    "journal_mode": "wal"
  },
  "method": "임시 SQLite DB를 WAL 모드로 만들고 한 연결이 BEGIN IMMEDIATE 쓰기 트랜잭션을 보유한 동안 다른 연결의 읽기와 쓰기를 실행했다. 운영 DB와 네트워크는 사용하지 않았다.",
  "limits": "단일 호스트·단일 프로세스의 짧은 합성 실험이다. 동시 writer가 많은 부하, 네트워크 파일시스템, 긴 트랜잭션의 원인, 애플리케이션 재시도 정책은 측정하지 않았다.",
  "observations": {
    "reader_during_writer": {
      "result": "success",
      "elapsed_ms": 0.1,
      "visible_labels": [
        "baseline"
      ],
      "uncommitted_holder_visible": false
    },
    "writer_timeout_zero": {
      "timeout_seconds": 0,
      "result": "database is locked",
      "elapsed_ms": 0.1
    },
    "writer_timeout_short": {
      "timeout_seconds": 0.2,
      "result": "database is locked",
      "elapsed_ms": 203.7
    },
    "writer_waits_for_release": {
      "timeout_seconds": 1.5,
      "holder_release_after_ms": 450,
      "result": "commit success",
      "elapsed_ms": 536.5
    },
    "final": {
      "integrity_check": "ok",
      "row_count": 5,
      "labels": [
        "baseline",
        "holder-zero",
        "holder-short",
        "holder-wait",
        "waiting-contender"
      ]
    }
  },
  "tables": {
    "contention": {
      "headers": [
        "상황",
        "설정",
        "결과",
        "경과 시간"
      ],
      "rows": [
        [
          "writer가 미커밋 상태일 때 읽기",
          "timeout=0초",
          "성공, 커밋된 1행만 조회",
          "0.1ms"
        ],
        [
          "다른 writer가 잠금 보유",
          "timeout=0초",
          "database is locked",
          "0.1ms"
        ],
        [
          "다른 writer가 잠금 보유",
          "timeout=0.2초",
          "database is locked",
          "203.7ms"
        ],
        [
          "450ms 뒤 기존 writer 해제",
          "timeout=1.5초",
          "commit success",
          "536.5ms"
        ]
      ]
    }
  }
}
