MySQL, MariaDB 96

MySQL PMM(Percona Monitoring and Management) 소개 및 설치

MySQL PMM(Percona Monitoring and Management) 소개 및 설치 l Version : MySQL, MariaDB, PMM PMM은 Percona Monitoring and Management의 약자로 PostgreSQL 및 MySQL, MongoDB를 위한 오픈소스 데이터베이스 모니터링 및 관리 솔루션이다. 이를 통해 데이터베이스 시스템의 상태를 관찰하고, 동작의 새로운 패턴을 탐색하고, 문제를 해결하고, 온프레미스나 클라우드 어디에 있든 데이터베이스 관리 작업을 수행할 수 있다. PMM은 데이터베이스와 해당 호스트로부터 수천 개의 기본 성능 지표를 수집한다. 그리고 웹 UI 대시보드를 제공하여 데이터를 시각화 한다. 추가 기능에는 데이터베이스 상태 평가를 위한 조언을 제공..

MySQL, MariaDB 2023.08.22

MySQL Galera Cluster + ProxySQL에서 Galera Cluster 특성을 고려한 R/W 호스트 그룹 설정 하기

MySQL Galera Cluster + ProxySQL에서 Galera Cluster 특성을 고려한 R/W 호스트 그룹 설정 하기 l Version : MySQL, MariaDB, Galera Cluster, ProxySQL 2.X Galera Cluster (이하 “갈레라 클러스터”)는 다중 마스터 동기 복제를 제공하는 솔루션으로 DB 간의 직접적인 데이터 공유가 없는 형태의 오픈소스 고가용성 솔루션이다. 갈레라 클러스터는 동기 방식의 복제구조를 사용하는 멀티마스터 RDB 클러스터로 제공된다. ProxySQL은 여러 데이터베이스에 대해 동일한 커넥션을 재사용할 수 있도록 멀티 플렉싱 기능과 쿼리를 분석하여 Write/Read를 분산하는 등 다양한 기능을 제공하는 솔루션이다. l ProxySQL 이란 ..

MySQL, MariaDB 2023.08.10

MySQL/MariaDB 환경에서 다중 마스터 복제를 지원하는 Galera Cluster 알아보기

MySQL/MariaDB 환경에서 다중 마스터 복제를 지원하는 Galera Cluster 알아보기 l Version : MySQL, MariaDB, Galera Cluster Galera Cluster (이하 “갈레라 클러스터”)는 다중 마스터 동기 복제를 제공하는 솔루션으로 DB 간의 직접적인 데이터 공유가 없는 형태의 오픈소스 고가용성 솔루션이다. 현재 갈레라 클러스터는 MySQL Percona Xtradb 클러스터와 MariaDB 두 가지 버전을 지원한다. 특히 MariaDB에서는 Galera Cluster를 공식적으로 지원한다. 이번 포스트에서는 갈레라 클러스터의 개념과 장단점에 대해서 알아본다. 갈레라 클러스터는 동기 방식의 복제구조를 사용하는 멀티마스터 RDB 클러스터로 제공된다. 갈레라 클러..

MySQL, MariaDB 2023.08.07

ProxySQL 은 서비스에 필요한 설정값을 어디에 저장하고 재사용할까?

ProxySQL 은 서비스에 필요한 설정값을 어디에 저장하고 재사용할까? l Version : MySQL, ProxySQL ProxySQL에서 서버를 추가하거나, 사용자를 등록하는 등 설정을 변경하고 적용하려면 관리자 모드 접속을 통해서 필요한 내용을 수정하고, 수정한 내용을 서비스 중단 없이 runtime에 적용할 수 있다. 그리고 서비스 재시작시 기존의 설정을 유지하기 위해서는 현재 설정 값을 데이터베이스 또는 디스크로 저장하여 재사용 할 있다. 아래 그림을 참고하여 설명하면, 일반적으로 관리자 모드에 접속하여 수정하는 부분은 MEMORY영역이다. 그렇기 때문에 관리자에서 수정하였을 경우에는 아직 메모리에서만 적용된 것으로 서비스에 적용되지 않은 상태이다. (아마도 실수가 발생하였을 때 서비스 보호를..

MySQL, MariaDB 2023.08.04

MySQL HA + ProxySQL 환경에서 서비스 장애조치 구성

MySQL HA + ProxySQL 환경에서 서비스 장애조치 구성 l Version : MySQL, ProxySQL MySQL HA + ProxySQL 환경에서 장애조치가 어떻게 동작하는지 알아본다. 실습 환경은 아래 포스트를 참고하여 구성할 수 있도록 한다. l ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에) : https://sungwookkang.com/1529 l MySQL HA 환경에서 Orchestrator를 활용한 클러스터 리팩토링 및 자동 장애조치 구성 : https://sungwookkang.com/1533 실습에 사용되는 서버 구성이다. Server Name IP OS Service Version proxy-sql 172.30.1.49 Ubun..

MySQL, MariaDB 2023.08.03

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