글들 보다가 흥미로워서 괜히 껴보려고 글 남겨보네요
지금 많은분들이 DB 격리수준으로 대화하고 계신것 같은데, 격리수준과 DB의 구현에 대해서 약간은 분리해서 보는게 좋다고 생각이 들어요.
우선 격리수준은 사실 생각보다 엄청 가볍게 정의되어있어서 REPEATABLE READ의 경우는 더티리드와 반복 불가능한 읽기를 방지하기만 하면 해당 격리레벨로 인정될 수 있습니다.
따라서 다른 글들에서 논의되었던 유령읽기는 애초에 고려 대상이 아니구요. (만약 유령읽기까지 방지하면 그 순간부터는 DB 구현체에서 REPEATABLE READ라고 해도 SQL-92부터 제시되었던 모델 기준으로는 SERIALIZABLE에 가까울 수 있는거죠. 다만, 그렇게 해석하는것 자체가 괜찮냐에 대한 내용은 하기 링크 참고 하시면 좋을 듯 합니다)
하지만 MySQL이나 PostgreSQL은 이 부분을 조금 더 보장이 되게끔 구현이 되어있는 거죠. (오라클은 애초에 해당 레벨이 없는 ㅋㅋㅋ...)
따라서 DBMS를 사용하는개발자의 입장에서는 쓰시는/공부하는 DBMS 구현이 어떻게 되어있는지를 알고 사용하시는게 중요하다고 생각됩니다.
개념 자체에 대해서 더 공부해보고 싶으신 분은 A Critique of ANSI SQL Isolation Levels 와 https://jepsen.io/consistency 등 자료를 보시면 도움 되실것 같아 남겨봅니다.
[일반] DB 관련해서 공유 드려봅니다.
익명(14.52)
2025-05-08 22:49
추천 2
댓글 4
다른 게시글
-
이번에 빅뱅리턴즈 중복 닉네임 생긴거 봤음? [2][일반] 익명(211.235) | 25.05.08추천 0
-
도커 허브 푸시 속도가 너무 느려졋는데 [2][일반] 맥주마스터(wingsung618) | 25.05.08추천 0
-
님들 mysql myisam 써봄? [2][일반] 딘퐁(gunwoo7193) | 25.05.08추천 0
-
디비 얘기만 하는 이유 [1][일반] 익명(211.235) | 25.05.08추천 0
-
postgresql 가 이노디비임? [4][일반] 익명(211.235) | 25.05.08추천 0
-
백갤 DB얘기는 왜 다 innoDB만 함 [5][일반] 익명(118.235) | 25.05.08추천 0
-
db 말고 프레임워크 내부 깊은 동작원리 같은것도 해조잉 [7][일반] 익명(175.114) | 25.05.08추천 0
-
MVCC 읽기모드 정리 [2][일반] 익명(61.75) | 25.05.08추천 4
-
DB Lock 잘아는 애들 와바 [31][일반] 딘퐁(gunwoo7193) | 25.05.08추천 0
-
굽.비 비.전공 친구들은 딘풍이 [6][일반] 착해진웃스..(112.168) | 25.05.08추천 0
잘못 알고 있었던 부분에 대해 피드백 감사합니다 이 갤에 허수 현업자들과 다르시네요. 맨날 무지성으로 너는 틀렸다 이런 헛소리만 듣다가 어떤점이 정확히 틀렸는지 설명해 주셔서 감사합니다 ㅎㅎ
좋네요 DDIA같은 책에서도 SQL 표준 isolation level 정의에 결함있다고 하는거 보면 격리 수준은 같아도 DB마다 구현 방식이 다 달라서 내부 동작원리를 이해하는게 젤 좋은듯
SQL 표준 자체가 사실 조금 난해한것같아요. 애초에 표준이 옛날꺼라서 PDF 구해볼수 있는 ANSI 92 나 99 아니면 최신껀 비싼 유료 자료라서 구하지도 못하고... 그렇다고 무시하자니 어느정도는 이런저런 DBMS에서 통용되니까 알아는 둬야되고.... 참 어려운것같습니다 ㅋㅋㅋㅋㅋ
디비에이 이신가요 - dc App