✍🏻study/🎸기타

    Auto Commit 오해

    Auto Commit 오해

    글을 쓰게 된 계기 다른 팀원의 auto commit에 관한 발표를 듣고 궁금한 점이 생겼다. Application 단에서, hikariCP의 auto commit 설정을 false로 하면, 디비에 요청시에, auto commit을 set하는 쿼리들이 날아가지 더 이상 날라가지 않아, DB 부하를 줄일 수 있고, DB 커넥션을 얻는 시간을 지연 시켜, 자원을 효율적으로 사용할 수 있다는 발표였다. 여기서 나는 궁금증이 생겼다. HikcariCP의 auto commit 설정을 false로 하면, 트랜잭션의 auto commit 설정은 DB의 설정을 따라갈 것이다. 그래서, 우리 회사의 경우에는 auto commit이 true로 되어 있기에, 해당 transaction의 auto commit이 true가 설..

    Sync vs Async, blocking vs non-blocking

    잡아 놓고 가면 좋은 개념일 거 같아서 정리를 하려고 한다. Sync, Async를 비교하고, blocking, non-blocking을 비교한 후, 두 개의 조합에 대해서 비교를 하겠다. 알아보기 이전에 용어에 대해서 알아보면 좋을 거 같다. 1. 제어권 - 제어권은 자신의 코드를 실행할 권리 같은 것이다. 제어권을 가진 함수는 자신의 코드를 끝까지 실행한 후, 자신을 호출한 함수에게 돌려준다. blocking, non-blocking을 설명할 때 사용할 용어이다. 2. 결과값을 기다린다 - A 함수에서 B 함수를 호출했을 때, A 함수가 B 함수의 결과값을 기다리느냐의 여부를 의미한다. Blocking과 Non-Blocking A 함수가 B 함수를 호출했을 때, "제어권"을 어떻게 처리하느냐에 따라서..