사이드 프로젝트에 캐시를 적용하며 이것저것 알아보는 시리즈 1. [Spring] 캐시란? + Spring Boot 내장 캐시 알아보기2. [Cache/Spring] EhCache vs Cache2k vs Caffeine 캐시 비교하기3. [Cache/Spring] 내 어플리케이션의 캐시 히트율 알아보기 캐시를 왜 쓰나요? 본격적으로 EhCache와 Caffeine을 비교하기에 앞서, 캐시가 무엇이고 왜 쓰는지 먼저 알아보자. 위키피디아는 캐시를 다음과 같이 정의하고 있다. 데이터를 저장하여 향후 데이터에 대한 요청을 더 빠르게 처리할 수 있도록 하는 하드웨어 또는 소프트웨어 구성 요소.캐시에 저장된 데이터는 이전 계산의 결과이거나 다른 곳에 저장된 데이터의 복사본일 수 있다.ref) https://en...
개요 즐거운 추석..에 갑자기 인덱스에 꽂혔다. 책이며 강의며 막 뒤지면서 듣는데, 이거 고냥 보고 끝낼게 아니라 정리해두면 더 기억에 잘 남겠다 싶어서 블로그도 쓱싹 쓰게 되었다 😄 쓰다보니 내용이 길어져서 이번 포스팅에선 아키텍처와 구조적 특성 위주로 작성하고, 다음 포스팅에서 인덱스와 자료구조를, 그 다음 포스팅에서 인덱스 종류에 대해서 다뤄볼까 한다. (한번 공부해서 포스팅 3개로 우려먹기 ^_____^ v) 그럼 아이엠그라운드 MySQL 아키텍처 시작! MySQL의 아키텍처 MySQL 서버 아키텍처를 이해하면 우리가 작성한 SQL이 어떻게 실행되는지 알 수 있고, 실행 과정을 알면 튜닝 방법을 알 수 있다 🤔 우리가 아무 생각 없이 사용하는 MySQL 안에서 쿼리는 어떻게 처리되고 있을까? 한번..
개요 프로젝트를 하다보면 count를 자주 사용하게 된다. 게시글의 수, 댓글의 수, 친구 수, 알림 수, 통계 처리 등 아주 다양한 count 요구사항이 존재한다. Spring JPA를 사용하면 count 키워드 (쿼리 메소드)를 이용해 아주 쉽게 해당 기능을 구현할 수 있다. 하지만 우리가 무심코 사용하는 count 쿼리, 과연 데이터 수가 많을 때에도, 그리고 request 수가 (또는 TPS) 많을 때에도 잘 작동할까? count 를 구현하는 5가지 방법들과, 각각의 장단점을 알아보자. 개발 환경 1. Framework : Spring Boot 2.6 2. Programming Language : Java 11 3. DataBase : MySQL 8 4. OS : macOS Ventura 13.2..