목록Database (20)
우당탕탕
데이터베이스 선택 문제로 고민하다가 비용요금과 한도가 실제 운영 비용에 얼마나 영향을 미치는지를 직접 테스트하면서 정리한 내용입니다.이 글에선 PostgreSQL과 MySQL을 클라우드 환경에서 사용할 때 발생하는 요금, 무료 한도, 그리고 쿼리 비용 차이를 중심으로 설명합니다. 그리고 실제 쿼리도 돌려보고 실행 시간과 비용도 함께 비교했어요.개발 환경 / 버전 정보이번 테스트에 사용한 환경은 PostgreSQL 15.3과 MySQL 8.0.33입니다. 클라우드 DB는 AWS RDS와 Google Cloud SQL 두 군데에서 각각 돌려봤는데, 특히 요금 체계와 무료 한도가 다소 다르더라고요.운영 데이터는 약 20GB, 일일 읽기/쓰기 쿼리는 중간 규모 정도로 가정했습니다. 그리고 각 DBMS에서 동일한..
제가 Redis pub/sub를 메시지 큐로 활용하다가 비용 문제 때문에 꽤 고민이 많았어요. 생각보다 비용 차이가 커서 공유하려고 이 글을 쓰게 됐습니다.오늘은 Redis pub/sub로 메시지 큐를 운영할 때 실제 발생하는 비용, 그리고 다른 메시지 큐 솔루션과 비교해본 결과를 정리해 드릴게요. 특히 요금과 메시지 처리량 한도에서 얼마큼 차이가 나는지 표로 비교해 보니 신뢰도가 더 높더라고요.개발 환경 / 버전 정보이번 테스트는 Redis 7.0 버전에서 진행했어요. 메시지 큐 역할을 하면서 Redis pub/sub 기능을 썼고, 비교 대상은 AWS SQS와 RabbitMQ입니다. 개발은 Node.js 18 환경에서 했고, 부하 테스트용 스크립트도 직접 작성했습니다.Redis pub/sub 메시지 큐..
저도 처음에 MySQL 8.0으로 업그레이드하고 나서 기존에 잘 작동하던 쿼리가 갑자기 에러를 뿜거나 이상하게 동작해서 한참 고생했어요. 특히 쿼리 하나하나가 왜 깨졌는지, 또 어떻게 고쳐야 하는지 막막하더라고요. 사실 이 부분이 생각보다 복잡한데, 저처럼 처음 입문하는 분들도 이해할 수 있도록 차근차근 설명해볼게요.이 글에서는 MySQL 8.0 업그레이드 후 가장 많이 깨진 쿼리 사례들과 그것들을 어떻게 고쳤는지, 그리고 배운 점들을 실제 코드 예시와 함께 소개할게요. 초보자 분들도 쉽게 따라할 수 있도록 용어 설명도 꼭 포함했습니다.개발 환경 / 버전 정보제가 사용한 버전은 MySQL 5.7에서 MySQL 8.0으로 업그레이드했어요. 운영체제는 Ubuntu 20.04이며, 클라이언트는 DBeaver를..
Redis 캐싱을 Spring Boot 프로젝트에 직접 연동해보면서 꽤 삽질을 했는데요. 특히 2026년 들어서 적용 방법이나 설정에 변화가 있어서 작년과 다른 부분을 따로 챙기지 않으면 당황하기 딱 좋더라고요.이 글에서는 제가 직접 경험한 Redis와 Spring Boot 연동 과정과 쿼리 최적화, 그리고 2026년 기준 최신 변경점까지 전부 다뤄볼게요. 실제 코드와 실행 결과까지 있으니, 이 글만 보면 Redis 캐싱으로 데이터베이스 부하 줄이는 데 큰 도움이 될 거예요.개발 환경 / 버전 정보이번 프로젝트에서 사용한 주요 버전은 Java 17, Spring Boot 3.2, 그리고 Redis 서버는 Redis 7.0을 사용했어요. Redis 클라이언트 라이브러리는 Lettuce 6.2.0 버전으로 ..
MySQL에서 트랜잭션 격리수준을 설정하다가 의외로 실수를 많이 했어요. 특히 데이터 정합성은 물론 성능에도 영향을 주다 보니 한 번 꼼꼼히 살펴보고 적용할 필요가 있었거든요.이 글에서는 제가 직접 겪은 트랜잭션 격리수준 관련 문제 사례를 중심으로, 타사례들과 비교하며 어떤 선택이 현명한지 정리해봤습니다. 쿼리 실행 결과도 같이 첨부해서 이해하기 쉽게 풀었어요.개발 환경 / 버전 정보제가 쓰던 서버는 MySQL 8.0.28이고, 트랜잭션은 주로 InnoDB 스토리지 엔진에서 수행했습니다. 애플리케이션은 Spring Boot 2.7 환경에서 JDBC를 통해 접근했어요.MySQL 트랜잭션 격리수준 실수했던 사례 정리 관련 정보제가 실수했던 격리수준 설정 방법사실 처음에는 트랜잭션 격리수준을 그냥 기본값인 R..
MySQL에서 슬로우 쿼리가 자꾸 걸려서 성능 저하가 심각해졌어요. 저는 이걸 잡으려고 여러 방법을 시도했는데, 생각보다 조정할 부분이 많더라고요. 그래서 직접 하나하나 세팅하고 쿼리도 분석하면서 알게 된 원인들과 해결 절차를 정리해봤습니다.이 글에서는 슬로우 쿼리 로그 세팅부터 분석, 그리고 쿼리 최적화까지 제가 진행한 단계별 과정과 명령어, 결과 화면을 차근차근 보여드릴게요. 저처럼 처음 슬로우 쿼리 잡는 분들이라면 이 글 하나로 고민 덜 수 있을 거예요.1. 슬로우 쿼리 로그 활성화부터 시작하기사실 이 부분이 가장 기본인데도 의외로 놓치기 쉬워요. 저는 아래 순서대로 설정했는데, 이게 안 되어 있으면 쿼리가 아무리 느려도 로그가 안 쌓여서 원인을 못 찾거든요.먼저 MySQL 설정 파일(my.cnf ..
