반응형
- MySQL Query Plan2021-10-24 01:50:52오늘은 제가 프로젝트중 작성했던 쿼리들을 실행 계획을 통해 index를 타고 있는지 확인해 보겠습니다. Docker로 MySQL을 띄우고 procedure를 만들어서 1만건 씩 dummy 데이터를 적재하고 조회하겠습니다. (데이터베이스 툴로는 DBeaver를 사용하고 있습니다.) 먼저 코스와 연관된 정보를 함께 조인해서 출력하는 쿼리를 보겠습니다. type column을 보면 locatoin 테이블과 course 좋아요에 대한 쿼리는 인덱스를 타고 있지만 course에 경우 type column이 all로 index를 타지 못하고 있습니다. 풀 테이블 스캔으로 1만건을 다 스캔하고 있는데요 사실 이것은 쿼리도 문제지만 전체 데이터를 다 끌고 오는것도 문제라 생각됩니다. 예시로 1만건으로 들었지만 실제 p..
- Docker MySQL Master - Slave2021-10-15 18:26:20오늘은 MySQL 복제에 대해 블로깅해보겠습니다. 우선 데이터베이스를 왜 복제해야 할까? 라는 생각을 먼저 해볼 수 있을 것 같습니다. 만일 여러대의 서버에서 한 대의 물리 DB를 가리키고 있고 그러한 구조에서 클라이언트의 DB 요청이 많아짐에 따라 데이터베이스 한 대로는 그 부하를 전부 감당하지 못 할 가능성도 있고, 최악의 경우 DB 다운시에 여러 서버에서 해당 DB에 대한 요청이 모두 fail이 날 수 있겠죠 이런 부분에서 SPOF가 될 수 있습니다. 이런 SPOF에 대한 대처로 AWS에서는 master DB 다운시에 slave DB를 master로 승격시켜주는 서비스도 존재하죠 하지만 가장 좋은건 애초에 데이터베이스 한 대가 모든 부하를 감당하지 않도록 분산시키는 것 입니다. 그러기 위해 Read..
반응형