본문 바로가기

Dev Note/SQL2

Oracle 과 PostgreSQL의 차이점 Oracle 과 PostgreSQL의 가장 큰 차이점은 2가지 정도로 나눌 수 있다. 1. MVCC 모델 구현 방식의 차이 MVCC란 다중 버전 동시성 제어(multiversion concurrency control, MCC, MVCC) 이다. 동시성 제어란 뭘까? 간단하게 말하면 만약 동시성 제어 없이 누군가가 데이터베이스를 읽는 동시에 다른 누군가가 기록을 하려고 한다면 사용자는 반쯤 기록되거나 일관성이 없는 데이터를 보게 될 가능성이 있다. 이렇게 동시성을 높이기 위해서는 '읽기 작업은 쓰기 작업을 블로킹 하지 않고, 쓰기 작업은 읽기 작업을 블로킹하지 않아야 한다'는 원칙을 지켜야 한다. 그 원칙을 지키기 위해 필요한게 MVCC 이다. - ORACLE : 이 MVCC를 구현하기 위해 UNDO 세그.. 2022. 1. 19.
조직도 쿼리 개선 [개선했던 이유] 데스크탑 미니모드에서만 사용하던 조직도를 웹에서도 오픈할 예정이어서 기존에 조직도 탐색 시 아래의 거슬렸던 문제들을 해결하고자 개선을 진행했었다. 1. 전문을 사용자 depth 만큼 여러 번 호출하는 점 조직도가 펼쳐진 상태에서는 나의 소속 상위부서 뿐만 아니라 소속상위부서 하위의 같은 depth 부서들도 함께 조회해야 하기 때문에 재조회가 필요하다. 이 과정을 이전의 방식은 (최상위 -> 내 소속 부서)까지 한 depth 한 depth씩 js에서 반복분으로 찾아들어가 쿼리를 호출하도록 개발되어있었다. 2. 속도가 오래 걸리는 점 그러다 보니 안 그래도 슬로 쿼리로 이뤄져 있던 api인 데다가 depth가 깊은 경우에는 상위부서 값만 다르게 넘기는 동일 api의 수많은 호출이 일어나고 .. 2021. 8. 23.
반응형