[Loop:PAK] 5주차 WIL

2025. 11. 25. 22:41·외부활동/루퍼스 2기

🧠 이번 주에 새로 배운 것

  • 캐시 버저닝 전략에 대해 배웠습니다. 필드가 변경되면 버전을 변경하고 버전 업그레이드 이후 기존 버전을 SCAN + Unlink로 직접 해제하는 방법을 배웠습니다. 
  • facade, infra 레이어 중 어느 레이어의 반환값을 캐싱 하는지 궁금한 점이 해소되었습니다. 상황에 따라 다르며 facade는 연산이 끝난 결과, infra는 db에서 조회한 결과 혹은 API 호출 결과를 캐싱합니다.
  • 드라이빙, 드리븐 테이블의 개념과 인덱스를 어떤 필드에 걸었는지에 따라 옵티마이저가 알맞은 실행 계획을 판단하는것을 배웠습니다.

 

💭 이런 고민이 있었어요

  • 좋아요 수를 보관하는 테이블을 별도 분리한 것이 Materialized View 개념을 적용한 건지 아리송 했습니다.
  • 쿼리 힌트를 사용함에 따라 성능 <-> DB 의존성의 트레이드 오프를 고민하였습니다. 쿼리 힌트를 사용하는것이 좋은 판단일까 생각해 보았습니다.
  • 캐시 전략이 여러 경우가 있는데 어떤 경우에 어떤 전략이 어울릴까 고민하였습니다. 이번 과제에선 cash aside 패턴을 선택하였습니다.

 

💡 앞으로 실무에 써먹을 수 있을 것 같은 포인트

  • explain 명령어와 친숙해졌습니다. type, key 속성을 주의깊게 봐서 의도한 인덱스가 적용되었는지 보는 시야기 생겼습니다.
  • 인덱스와 캐시를 언제 적용해야 하는지 알게 되었습니다. 둘다 비용이 들기 때문에 적재적소에 사용해야 합니다.

 

🤔 아쉬웠던 점 & 다음 주에 해보고 싶은 것

  • 인덱스와 캐싱에 따른 k6 성능 테스트를 진행하지 못했습니다.
  • 캐싱 구현시 추상화를 적용하지 못했습니다. 현재 코드는 재활용성이 없어 추후 리팩터링 예정입니다.
저작자표시 (새창열림)

'외부활동 > 루퍼스 2기' 카테고리의 다른 글

[Loop:PAK] 6주차 WIL  (0) 2025.12.04
[루퍼스/루프백 2기] 실패를 실패로 끝내지 않는 법: Circuit Breaker의 철학  (0) 2025.12.04
[루퍼스/루프백 2기] 조회 성능을 높이는 방법을 설명할 수 있나요?  (0) 2025.11.22
[Loop:PAK] 4주차 WIL  (0) 2025.11.17
[루퍼스/루프백 2기] 이커머스 동시성 제어 및 낙관적 락과 비관적 락 선택 기준  (0) 2025.11.17
'외부활동/루퍼스 2기' 카테고리의 다른 글
  • [Loop:PAK] 6주차 WIL
  • [루퍼스/루프백 2기] 실패를 실패로 끝내지 않는 법: Circuit Breaker의 철학
  • [루퍼스/루프백 2기] 조회 성능을 높이는 방법을 설명할 수 있나요?
  • [Loop:PAK] 4주차 WIL
소프
소프
  • 소프
    기회는 찬스
    소프
  • 전체
    오늘
    어제
    • 분류 전체보기 (138)
      • Language (20)
        • Java (19)
        • Design Pattern (1)
      • Tech (27)
        • Spring (19)
        • JPA (3)
        • QueryDSL (1)
        • Gradle (4)
      • 개발 생각 (1)
      • IT Book (0)
        • 자바_스프링 개발자를 위한 실용주의 프로그래밍 (0)
      • Database (4)
        • Mysql (4)
        • Redis (0)
      • 네트워크 (1)
      • 운영체제 (2)
      • IDE (12)
        • Intellij (9)
        • vscode (2)
        • datagrip (1)
      • 인프라 (11)
        • Docker (2)
        • Jenkins (7)
        • Github Actions (1)
        • GCP (1)
      • 형상관리 (2)
        • gitlab (2)
        • git (0)
      • 외부활동 (44)
        • CS 면접 끝장내기 - 데이터베이스 1기 (5)
        • CS 면접 끝장내기 - 컴퓨터 네트워크 2기 (5)
        • CS 면접 끝장내기 - 자바 2기 (0)
        • TDD, 클린 코드 with Java 17기 (7)
        • ATDD, 클린 코드 with Spring 8기 (6)
        • 루퍼스 2기 (21)
      • 프로젝트 (0)
      • 회고 (6)
      • 기타 (1)
        • 제미니의 개발 실무 (0)
  • 블로그 메뉴

    • 홈
    • Github
    • LinkedIn
    • 방명록
  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.6
소프
[Loop:PAK] 5주차 WIL
상단으로

티스토리툴바