수십 년 동안 데이터베이스 시스템은 사용자가 선택할 수 있는 여러 격리 수준을 제공했습니다. 고급형의 "serializability"부터 저가형의 "read committed" 또는 "read uncommitted"에 이르기까지 다양합니다. 이러한 서로 다른 격리수준은 어플리케이션에게 수많은 동시성 버그를 노출시킬 수 있습니다. 그럼에도 불구하고 많은 데이터베이스 사용자들은 현재 사용중인 데이터베이스의 기본 격리수준을 고수하고 어떤 격리수준이 자신의 어플리케이션 환경에 가장 적합한지 고려하지 않습니다. 이러한 관행은 매우 위험합니다. Oracle, IBM DB2, Microsoft SQL Server, SAP HANA, MySQL, PostgreSQL 과 같은 유명한 데이터베이스들은 “serializab..