05.03 ~ 05.08

유수민·2023년 5월 8일
0

인사이트

목록 보기
14/15
post-thumbnail

📌 목록

📌 감상

  1. Spring에서 transactionManager와 entityManager 차이에 대해 아시나요?
  • 요약
    - entityManager
    JPA에서 DB와 통신을 하기 위한 인터페이스. 트랜잭션을 관리 하지 않음
    - transactionManager
    Transaction 관리를 위한 인터페이스

entityManager 와 transactionManager는 서로 협력하여 DB 작업을 안전하게 하는데 도와준다.

  1. 코드 리뷰는 스포츠다
    코드리뷰에서 리뷰이와 리뷰어가 어떤 태도와 마음가짐을 가져야할지에 대해 서술해놓았다. 해당 글을 다 읽고 나니, 나도 코드 리뷰를 스포츠처럼 생각하면 되겠다는 생각이 들었다. 특히 리뷰이로써 내가 도움되었던 부분은
  • PR을 올리기 전 내가 작성한 코드에서 약점이 없는지 전체적으로 다시 한번 훑어보는 과정이 필요하다.
  • 선택의 근거를 PR 본문과 커밋 메시지, 그리고 필요에 따라 적절한 주석을 통해 남겨둔다.
    이 두가지였다. 앞으로 PR을 올릴때 이 두가지를 생각하며 올릴 생각이다.
  1. SQL vs ORM
    SQL vs ORM 2탄
    관련 대화
    raw SQL과 ORM을 통해 DB에서 원하는 정보의 데이터를 가져오는 성능을 비교하는 글이다.
    사실 나는 이 글을 읽기 전까지만해도 ORM이 무조건 좋다라고 생각했었는데 그러한 생각을 깨준 글이기도 하다.
    ORM의 문제점을 언급한 것 중에 가장 인상깊었던 것은 '기본적으로 ORM으로 데이터를 처리하는게 SQL을 활용하는 것보다 SQL을 활용하는 것보다 성능이 월등히 떨어진다'라는 것이었다. ORM 내부적으로 SQL로 변환하는 과정을 거치고, 조인이 많아질 수록 성능은 기하급수적으로 감소한다고 한다.
    2탄에서는 그럼에도 불구하고 ORM을 쓰는 이유에 대해 서술하고 있었다. ORM을 통해 영속성을 관리함으로써 도중에 Exception이 발생하더라도, 데이터 정합성 이슈를 해결할 수 있다고 한다. 이 글을 통해 ORM과 SQL에 대해 다시 생각해 볼 수 있었다.

  2. 달리는 인증 서비스의 NoSQL을 바꾸자. - 전략편
    이번 편은 전략편이기 때문에 Couchbase를 nosql(mongoDB)와 RDB로 바꾸는 이유와 그에 따라 해결해야 할 문제들에 대해 이야기 하고 있었다.
    사실 Couchbase는 처음 들어보는데 mongoDB과 같은 Key-Document구조를 가진 nosql이라고 한다. 지마켓에서는 기존의 couchbase는 인증 서버를 담당하고 있었는데 데이터가 많아지면서, 성능적인 이슈와 인프라 이슈로 인해 mongoDB로 변경하고, 정합성 관리나 백업, 성능적인 이점으로 RDB를 같이 넣게 되었다고 서술되어 있다.
    변경과정에서 해결해야 할 문제들은

  • 어떤 구조를 통해 noSQL을 RDB로 전환하도록 해결해야 하는가
  • Couchbase N1QL쿼리를 대체하기 위한 방법은?
  • 무중단 서비스 전략
    앞으로 나도 회사에서 무중단 서비스 전략을 통해 python으로 구축된 서비스를 자바로 변경하기 위해서 무중단 전략을 고려해야하기 때문에 관심이 갔다
  • 작업 스케줄의 간소화
    '개발자는 비즈니스 적으로 좀 더 우선적인 작업을 처리할 필요가 있다'라는 말이 인상적이었다. 팀리더분이 현재 강조하고 있는 말 중에 하나이기 때문이다. 여기서도 언급하니 반가웠다. 서술자도 최대한 있는 기능으로 가성비 있게 끝내는 것이 목표라 하는데, 이 말도 인상적이었다.

이렇게 4가지를 말하면서 글을 마무리 지었다. 아직은 전략편이라, 앞으로 쓰여질 실전편에서 이러한 해결문제들을 어떻게 해결해나갔는지 궁금하다.

profile
배우는 것이 즐겁다!

0개의 댓글