MySQL 93

MySQL HA 환경에서 Orchestrator를 활용한 클러스터 리팩토링 및 자동 장애조치 구성

MySQL HA 환경에서 Orchestrator를 활용한 클러스터 리팩토링 및 자동 장애조치 구성 l Version : MySQL, Orchestrator MySQL HA 환경에서 Orchestrator(이하 ‘오케스트레이터’)를 활용하여 클러스터 리팩토링 및 장애조치 방법에 대해서 알아본다. 이번 실습을 진행하기 위해서는 MySQL HA 및 Orchestrator 구성이 완료되어 있어야 한다. 아래 링크를 참고하여 HA구성 및 Orchestrator를 구성할 수 있도록 한다. l ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에) : https://sungwookkang.com/1529 l MySQL 고가용성 운영을 위한 Orchestrator 설치 : https..

MySQL, MariaDB 2023.07.27

MySQL 고가용성 운영을 위한 Orchestrator 설치

MySQL 고가용성 운영을 위한 Orchestrator 설치 l Version : MySQL, Orchestrator 데이터베이스를 운영할 때 단일 장애 포인트(SPOF, Single Point Of Failure)를 예방하기 위해서 고가용성(HA, High-Available)은 매우 중요한 부분이다. 그렇기 때문에 클러스터링, 복제 등 고가용성으로 구성된 다수의 데이터베이스를 효율적으로 관리하기 위해 다양한 솔루션들이 존재한다. 이번 포스트는 MySQL 및 MariaDB의 고가용성을 효율적으로 운영하기 위한 솔루션인 Orchestrator(이하 ‘오케스트레이터’)에 대해서 알아본다. 오케스트레이터는 MySQL 고가용성 및 복제 관리 도구로, 서비스로 실행되며 명령줄 액세스, HTTP API 및 웹 인터..

MySQL, MariaDB 2023.07.25

ProxySQL Internals 및 시스템 구성 둘러보기

ProxySQL Internals 및 시스템 구성 둘러보기 l Version : ProxySQL 이번 포스트에서는 ProxySQL의 인터널 구조와 설정 파일의 구조에 대해서 살펴본다. 상세한 인터널 구조를 모두 설명하지는 않으며 전체적인 구조 및 특징만 소개하도록 한다. 세부적인 내용은 다른 포스트에서 하나씩 다뤄볼 예정이다. ProxySQL이 시작되면 즉시 새 프로세스를 생성한다. 상위 프로세스는 엔젤 프로세스(와치독과 비슷한 의미로 해석됨)로 작동하고 ProxySQL이 크래시 되었을 때 수 밀리초 내에 서비스를 다시 시작한다. MySQL에 비유하면 mysqld_safe와 매우 유사하다. ProxySQL에는 기본적으로 두 개의 포트가 필요하다. 트래픽을 수신하는 6033 포트와 ProxySQL을 관리하..

MySQL, MariaDB 2023.07.24

ProxySQL 쿼리룰 설정으로 Read, Write 부하 분산하기

ProxySQL 쿼리룰 설정으로 Read, Write 부하 분산하기 l Version : ProxySQL, MySQL 8.X ProxySQL은 MySQL 및 포크된 데이터베이스(Percona Server 및 MariaDB)를 위한 고성능, 고가용성을 제공하는 프록시이다. l ProxySQL이란 무엇인가 : https://sungwookkang.com/1528 ProxySQL을 구성할 때 MySQL 서버 환경이 복제 구성이 되어 있으면 Write, Read를 효과적으로 분산하여, ProxySQL장점을 조금 더 효율적으로 활용할 수 있다. MySQL설치, 복제구성, ProxySQL 설치는 아래 링크를 참고한다. l ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에) :..

MySQL, MariaDB 2023.07.23

ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에)

ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에) l Version : ProxySQL, MySQL 8.X ProxySQL은 MySQL 및 포크된 데이터베이스(Percona Server 및 MariaDB)를 위한 고성능, 고가용성을 제공하는 프록시이다. l ProxySQL이란 무엇인가 : https://sungwookkang.com/1528 이번 포스트는 ProxySQL을 구성하는 방법에 대해서 다뤄본다. 이번 실습에서 구성되는 ProxySQL의 아키텍처는 아래 그림과 같다. 모든 클라이언트 연결은 ProxySQL로 연결이 되고, ProxySQL에서는 쿼리 타입에 따라 Write와 Read를 분산하여 요청한다. MySQL 구성은 Master에서 Slave1, Sl..

MySQL, MariaDB 2023.07.22

ProxySQL 이란 무엇인가

ProxySQL 이란 무엇인가 l Version : ProxySQL ProxySQL은 MySQL 및 포크된 데이터베이스(Percona Server 및 MariaDB)를 위한 고성능, 고가용성을 제공하는 프록시이다. 글을 쓰는 현재(2023년 7월)는 GPL 라이선스로 공개되어 있어 누구나 사용할 수 있다. ProxySQL에 대한 자세한 정보는 아래 링크를 참고한다. l 공식 사이트 주소 - https://www.proxysql.com/ l ProxySQL 설치 및 사용 가이드 - https://github.com/sysown/proxysql/wiki l ProxySQL 도커 이미지 - https://hub.docker.com/r/proxysql/proxysql [Proxy서버는 무엇일까] 프록시 서버는 ..

MySQL, MariaDB 2023.07.20

[AWS Aurora] Aurora I/O Planning

[AWS Aurora] Aurora I/O Planning l Version : Aurora Amazon Aurora는 상용 데이터베이스의 성능 및 가용성과 오픈 소스 데이터 베이스의 단순성 및 비용 효율성을 결합한다. Aurora 클러스터는 공유 및 분산 Aurora 스토리지 볼륨에 연결된 하나 이상의 인스턴스로 구성된다. 이 새로운 스토리지 엔진은 관계형 데이터베이스에서 일반적으로 사용되는 기존 블록 스토리지 장치를 자동 크기 조정, 자동 복구, 로그 기반 동적 스토리지 볼륨으로 대체한다. 이 새로운 스토리지 엔진은 클라우드용으로 설계되었으므로 데이터베이스가 전통적으로 스토리지 시스템과 상호작용하는 방식에서 몇 가지 근본적인 변경이 이루어 졌다. 이 글은 기존 데이터베이스와 비교하여 Aurora에서 ..

AWS 2022.03.20

[AWS Aurora] Aurora Storage Engine

[AWS Aurora] Aurora Storage Engine l Version : Aurora Amazon Aurora 스토리지 엔진은 한 지역의 여러 AWS 가용 영역(AZ)에 걸쳐 있는 분산 SAN 이다. AZ는 물리적 데이터센터로 구성된 논리적 데이터센터 이다. 각 AZ는 해당 지역의 다른 AZ와 빠른 통신을 허용하는 짧은 지연 시간 링크를 제외하고 다른 AZ와 격리되어 있다. Amazon Aurora의 중심에 있는 분산형 저지연 스토리지 엔진은 AZ에 의존한다. Amazon Aurora는 현재 보호 그룹이라고 하는 10GB의 논리 블록에 스토리지 볼륨을 구축한다. 각 보호 그룹의 데이터는 6개의 스토리지 노드에 복제된다. 그런 다음 이러한 스토리지 노드는 Amazon Aurora 클러스터가 있는..

AWS 2022.03.19

[AWS RDS MySQL] RDS MySQL와 Aurora MySQL 차이점

[AWS RDS MySQL] RDS MySQL와 Aurora MySQL 차이점 l Version : AWS에서 관리형 관계형 데이터베이스를 보면 RDS MySQL과 Aurora MySQL이 있다. 이 두 서비스의 차이점은 무엇일까? 결론부터 말하면 기존의 MySQL 소스를 기반으로 AWS 에서 커스터마이징 하여 만든 것이 Aurora이며 두 서비스는 스토리지 메커니즘이 다르다. AWS RDS MySQL RDS 플랫폼은 기존 데이터베이스 아키텍처를 중심으로 완전히 관리되는 추상화 계층을 제공한다. RDS 내에서 데이터베이스 플랫폼은 EC2에서 수동으로 수행하는 것처럼 구축된다. EC2인스턴스는 적절한 Amazon Machine Image (AMI)에서 프로비저닝 되고, EBS(Elastic Block St..

AWS 2022.03.18

[AWS RDS MySQL] InnoDB cache warming

[AWS RDS MySQL] InnoDB cache warming - 버퍼풀 정보를 저장하고 시작시 로드하여 워밍업 단계 생략하기 l Version : AWS RDS MySQL 5.6 later InnoDB cache warming(캐시워밍)은 DB 인스턴스가 종료될 때 버퍼 풀의 현재 상태를 저장한 다음 DB 인스턴스가 시작될 때 저장된 버퍼 풀 정보를 다시 로드하여 MySQL DB 인스턴스에 대한 성능 향상을 제공할 수 있다. 이 뜻은 정상적인 데이터베이스 사용에서 버퍼풀의 워밍업 할 필요를 무시하고 대신 알려진 공통 쿼리에 대한 페이지로 버퍼풀을 미리 로드한다. 버퍼풀 정보를 저장하는 파일은 페이지 자체가 아니라 버퍼풀에 있는 페이지에 대한 메타데이터만 저장한다. 따라서 결과적으로 파일에 많은 저장..

AWS 2022.03.17