![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlCgYq%2FbtsKdog4rE0%2FFo2NlERYwjzx3I3CwuH1jk%2Fimg.jpg)
성급하게 시스템을 최적화하는 당신을 위한 글
2024. 10. 18. 18:00
Others
제가 개발 중인 랭킹 시스템은 유저가 앱에 접속했을 때 처음 바라보는 화면이기 때문에 높은 TPS를 견딜 수 있어야 합니다. 또한 장 시간에 따라(증권사앱) TPS가 들쭉날쭉해서... 급격하게 증가하는 TPS도 견딜 수 있어야 해서 다양한 최적화 전략을 사용하고 있습니다. 하지만 기존에 사용하던 최적화 방법으로는 랭킹에 신규 기능을 추가하는 게 불가능했습니다(왜 그런지는 뒤에서 설명하겠습니다). 또한 기존의 최적화 방법이 전혀 도움 되지 않았을뿐더러, 불필요한 TPS를 생성하는, 즉 self DDOS를 유발하고 있었음을 알게 되었습니다. 기존 랭킹 시스템랭킹 시스템은 아래와 같은 요구사항을 만족해야 합니다. 장 시간에 따라 다르지만 최대 4000 TPS 유저가 처음 보는 화면이기 때문에 짧은 laten..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMYVTG%2FbtrP8N4BHHd%2FNTlVjeHuiUtKrWMtRD51y1%2Fimg.png)
[Database] DBA급 개발자로 - #14 비용 기반 쿼리 최적화
2022. 11. 1. 17:55
Database/DBA급 개발자로
이전 포스팅에서는 규칙 기반(heuristics / rules) 쿼리 최적화에 대해 살펴봤습니다. 이번 포스팅에서는 비용 기반 쿼리 최적화에 대해 살펴보겠습니다. Cost Model Component 쿼리 수행 비용에는 어떤 항목이 포함되는지 살펴보겠습니다. Physical cost CPU cycle I/O 횟수 RAM 사용량 Logical cost 각 operator에 의해 반환되는 데이터의 크기 여러 operator가 독립적으로 실행될 수 있는지 여부 Algorithm 알고리즘의 복잡도 위의 항목 외에도 다양한 요인에 의해 쿼리를 실행하는 비용에 포함될 수 있습니다. DBMS는 데이터베이스의 통계(statistics)를 통해서 논리적인 비용(logical cost)을 측정할 수 있습니다. DBMS의 ..