MySQL
-
이번 시간에는 DB존과 서버존의 시간 불일치의 원인과 해결 방법에 대해 이야기 해보려고 한다. 우선 이번에 있었던 이슈에 대해서 말해보자면 DB서버 시간과 서버의 시간이 일치하지 않아 생긴 문제였다.QA환경에선 디버깅이 힘들었는데 DEV와 PRODUCT 에선 문제가 없다가 QA 에서만 이슈가 나서 원인 파악에 나섰다. 일반적인 문제의 유형Java의 경우 LocaDatetime 을 사용한다고 가정하면 가장 많이 나오는 문제는 아래와 같다. LocalDateTime.now()를 사용하여 DB에 저장을 할 때, 서버 시간 기준 UTC로 생성 된 시간과 DB 저장되어 내가 생각한 NOW의 시간이 서로 다른 경우이다. 해당 문제는 인스턴스 서버의 운영체제 시간을 KST로 변경해주거나 DB의 시간을 UTC로 변경 ..
DB와 서버의 ZonedDatetime 시간 불일치 이슈 - 보통이번 시간에는 DB존과 서버존의 시간 불일치의 원인과 해결 방법에 대해 이야기 해보려고 한다. 우선 이번에 있었던 이슈에 대해서 말해보자면 DB서버 시간과 서버의 시간이 일치하지 않아 생긴 문제였다.QA환경에선 디버깅이 힘들었는데 DEV와 PRODUCT 에선 문제가 없다가 QA 에서만 이슈가 나서 원인 파악에 나섰다. 일반적인 문제의 유형Java의 경우 LocaDatetime 을 사용한다고 가정하면 가장 많이 나오는 문제는 아래와 같다. LocalDateTime.now()를 사용하여 DB에 저장을 할 때, 서버 시간 기준 UTC로 생성 된 시간과 DB 저장되어 내가 생각한 NOW의 시간이 서로 다른 경우이다. 해당 문제는 인스턴스 서버의 운영체제 시간을 KST로 변경해주거나 DB의 시간을 UTC로 변경 ..
2024.11.04 -
https://dogfootsleep.tistory.com/33 트랜잭션과 ACID에 대하여우리는 IT에 대해 공부할 때 트랜잭션이라는 단어를 정말 많이 보게 된다. DB에서도 보고 객체지향언어에서도 보고 그럼 도대체 트랙잭션이란 무엇인가? Transaction 이라는 단어는 ATM이나 데이터dogfootsleep.tistory.com 기본적으로 트랜잭션이란 뜻을 모르겠다면 먼저 해당 글을 읽고 개념을 잡기를 바란다. 그리고 DB 락에 대해서 모른다면 https://dogfootsleep.tistory.com/37를 읽고 오길 바란다. 우리는 트랜잭션과 DB Lock에 대해서 알게 되었다.그러면 충돌이 날 수도 있는 트랙잰션들이 있다면 해당 DB에 모두 Lock을 걸면 될까? 그렇지 않다. 공유 자원을 ..
Entity Framework 동시성 충돌의 해결에 대하여 - 트랜잭션의 격리 수준(Isolation Level) (1) -어려움https://dogfootsleep.tistory.com/33 트랜잭션과 ACID에 대하여우리는 IT에 대해 공부할 때 트랜잭션이라는 단어를 정말 많이 보게 된다. DB에서도 보고 객체지향언어에서도 보고 그럼 도대체 트랙잭션이란 무엇인가? Transaction 이라는 단어는 ATM이나 데이터dogfootsleep.tistory.com 기본적으로 트랜잭션이란 뜻을 모르겠다면 먼저 해당 글을 읽고 개념을 잡기를 바란다. 그리고 DB 락에 대해서 모른다면 https://dogfootsleep.tistory.com/37를 읽고 오길 바란다. 우리는 트랜잭션과 DB Lock에 대해서 알게 되었다.그러면 충돌이 날 수도 있는 트랙잰션들이 있다면 해당 DB에 모두 Lock을 걸면 될까? 그렇지 않다. 공유 자원을 ..
2023.09.14 -
앞선 이야기: https://dogfootsleep.tistory.com/33 트랜잭션과 ACID에 대하여우리는 IT에 대해 공부할 때 트랜잭션이라는 단어를 정말 많이 보게 된다. DB에서도 보고 객체지향언어에서도 보고 그럼 도대체 트랙잭션이란 무엇인가? Transaction 이라는 단어는 ATM이나 데이터dogfootsleep.tistory.com 앞선 이야기에서 트랜잭션들이 하나의 공유자원을 놓고 겨루는 상황이 연출되었다.우리는 이렇듯 여러 틀랜잭션이 하나의 공유자원을 놓고 충돌할 수 있으며 이문제를 해야만 한다.안하게 된다면 누군가 내 통장에 돈을 500만원씩 인출하여도 내가 만원만 추가하면 500만원은 없던일이될 수도있는 창조 경제가 일어난다....(좋은데?) A-> A 마일리지를 조회B-> A..
DB lock이란 무엇인가 -보통앞선 이야기: https://dogfootsleep.tistory.com/33 트랜잭션과 ACID에 대하여우리는 IT에 대해 공부할 때 트랜잭션이라는 단어를 정말 많이 보게 된다. DB에서도 보고 객체지향언어에서도 보고 그럼 도대체 트랙잭션이란 무엇인가? Transaction 이라는 단어는 ATM이나 데이터dogfootsleep.tistory.com 앞선 이야기에서 트랜잭션들이 하나의 공유자원을 놓고 겨루는 상황이 연출되었다.우리는 이렇듯 여러 틀랜잭션이 하나의 공유자원을 놓고 충돌할 수 있으며 이문제를 해야만 한다.안하게 된다면 누군가 내 통장에 돈을 500만원씩 인출하여도 내가 만원만 추가하면 500만원은 없던일이될 수도있는 창조 경제가 일어난다....(좋은데?) A-> A 마일리지를 조회B-> A..
2023.07.28