본문 바로가기

BackEnd/DB2

[쿼리 튜닝] 슬로우 쿼리 문제 해결하기/쿼리 성능 개선 스택NestJs(Node)AWS Aurora MySQL (MySQL8)TypeORM(ORM)React(NextJs) 개요초창기 서비스 대비 회사의 규모는 점점 커졌으며 다양한 기능들이 추가되었다. 대체로 빠른 속도로 기능을 개발하다보니 쿼리에 대한 리뷰가 부족했고 성능상 큰 문제를 야기하지 않았지만 점차 데이터가 쌓일수록 성능상에 문제가 발생했다. 물론 고객쪽에서 보여주는 API는 대체로 큰 문제가 없었지만 실제로 백 오피스에서 실행되는 쿼리는 슬로우 쿼리로 표기되었으며 동시에 실제로 사용함에 있어서 속도상의 큰 문제가 발생되었다  문제 확인백오피스에 대한 중요성은 사실 내부적으로도 동작의 여부와 정확도에 초첨을 맞춰왔다. 요건은 계속적으로 검색기능의 추가였고 여러 기술적 검토와 쿼리 검토없이 추가되어 .. 2025. 2. 4.
MySQL Replication 적용하기 데이터베이스에서 운영 시 가장 중요한 두 가지는 확장성과 가용성이다 대용량 트래픽을 처리하기 위해서 데이터베이스를 확장될 준비가 되어있어야하며, 문제가 발생했을 때 언제든지 복원되고 유지되어야한다. Replication을 통해서 얻을 수 있는 이점은 성능상의 이점과 고가용성에 있다고 생각한다확장성RDBMS는 스케일 아웃이 힘들다 NoSQL 대비해서 데이터 정합성을 우선시 하기 때문이다현대 온라인 서비스에서 쓰기와 읽기 비율은 비교했을 때 8:2 정도의 비율을 가진다Replication을 통해서 쓰기와 읽기를 분리하여 성능상의 이점을 가져올 수 있다가용성만약 원본 DB가 장애가 나서 복원을 해야한다고 가정하자 백업 간격이 길수록 데이터 손실이 발생한다물리적인 손상이 발생했을 때 서비스 복원과 더불어 데이터.. 2025. 1. 26.