-

Real time – aws aurora status monitoring
오늘은 Aurora DB 서버의 메타 정보를 실시간으로 모니터링 할 수 있는 작은 프로그램을 하나 공유해보고자 한다. 예전에 만들어둔 베타 버전이 있었는데, 코드를 조금 다듬어서 새롭게 만들었다. 사실 Aurora의 메타 정보를 실시간으로 볼 일이 그렇게 많지는 않지만, Aurora 버전 업그레이드를 한다던가, 스펙을 변경한다던가, 파라미터를 변경한다던가 할 때 Real time으로 확인이 필요한 경우도 있다. 그래서 가끔씩 찾아오는…
-

옵티마이저의 sort_cost 비용 최적화
우선 아래와 같이 MySQL 서버에 간단한 테이블 및 데이터를 생성하고 쿼리를 수행해보겠다. 왼쪽 세션에서는 ORDER BY절을 명시하지 않고 테이블을 조회하고, 오른쪽 세션에서는 ORDER BY절을 명시하고 테이블을 조회한다. 쿼리를 수행하면 아래 결과와 같이 두 쿼리의 레코드 정렬 순서가 동일한 것을 확인할 수 있다. 이어서 실행 계획도 확인해보자. 실행 계획 상에서도 여전히 두 쿼리의 차이점은 없다. 두…
-

Aurora custom endpoint와 autoscaling 활용 사례
오늘은 2024년 6월 18일(화요일)에 AWS DATA & AI ROADSHOW 2024에서 Aurora custom endpoint와 AutoScaling 활용 사례에 대해서 발표한 내용을 공유해보려고 한다. 30분 정도의 발표 시간동안 분명 내용을 놓치신 분들도 계셨을 것이고, 이해가 되지 않는 분들도 계셨을 것이고, 피치 못할 사정으로 참석하지 못한 분들도 계실 것이다. 그래서 좀 더 깔끔히 정리된 내용으로 공유를 드리고자 한다. 목차는 다음과 같다.…
-

Multi IN 조건 실행 계획 오류(warning) 분석
MySQL 서버에서 쿼리의 WHERE절에 IN 조건을 작성할 때는 일반적인 방식이 아닌 Row constructor 방식을 사용할 수 있다. 쿼리로 표현하면 다음과 같다.(이 글에서는 Multi IN 조건이라고 부르겠다.) 그리고 이를 다시 동일한 결과셋을 반환하는 쿼리로 작성하면 다음과 같다.(이 글에서는 General IN 조건이라고 부르겠다.) 그런데 특정 조건(쿼리의 조건을 의미하지 않음)에서는 Multi IN clause 실행 계획에서 불명확한 경고 문구가…
-

MySQL Custom command-line client
MySQL Command-Line Client에 내 편의대로 단축키 기능을 넣은 실행 파일을 공유해보려고 한다. 이전에 관리하던 블로그에서 한 번 공유한 적이 있었는데, 일부 기능을 좀 더 추가하였다. 실행 파일은 아래 경로에서 압축 파일로 다운로드 받을 수 있다. (순서대로 8.0 tar.gz 파일, 9.0 버전의 소스) 8.0 버전의 mysql 실행 파일은 라이브러리 문제로 9.0에서 실행할 수 없으니, 설치된 MySQL…
-

Mysql character set & collation
본 내용을 들어가기에 앞서 아래 첨부된 자료들은 당근 DB팀에서 함께 고생하며 준비한 자료임을 밝힌다. — 오늘은 작년(2023년 9월)에 AWS DNB DBA DAY에서 소프트웨어 엔지니어 및 데이터베이스 관리자를 대상으로 MySQL 8.0 캐릭터 셋(문자 집합)과 콜레이션에 대해서 발표한 내용을 공유해보려고 한다. 그 때 행사 담당자분이 AWS Database Blog에 내용을 정리해서 올려준다고 했는데 뭔가 흐지부지 된 느낌이다. 그래서…