MariaDB(MySQL)에서 주로 사용하는 DB 엔진과 서버 고가용성을 위한 구성 방법들을 정리했음.
엔진 종류는 다음 명령어로 확인 가능함.
SHOW ENGINES;
기본 엔진 변경은 DB 차원(my.ini 등 설정 파일)이나 테이블 차원에서 가능함.
ALTER TABLE author ENGINE = MyISAM;
- 핵심 엔진인 InnoDB와 myisam 확인, InnoDB가 기본값으로 설정되어있다.
서비스 중단 방지를 위해 장애에 대비하는 구성 방식들임.
- active/active : 두 대를 다 써서 서버가 신속하게 동작할 때 취하는 방식
- active/standby : L.B를 쓰지 않고 메인이 죽으면 예비자원을 사용 (자원 save)
클러스터링이랑 뭐가 다른데? 클러스터링은 스토리지엔 문제가 없을것이다 라는 전제를 까는거고 레플리카는 스토리지까지 문제가 될 수 있다고 생각하여 대비해놓는 방식인 것
- 레플리카로 두개의 서버+스토리지를 관리하고 단방향으로 거의 실시간 복제(master → slave/worker)
- 이건 레플리카 서버+스토리지도 함께 쓰는건데 복제 데이터는 조회용 목적으로만 사용(괜히 돈 쓴 느낌 줄여주고 부하분산도 해줌)
로드 밸런서는 부하 분산 역할
프록시는 서버에 요청을 대리 전달하는 기능(리버스 프록시)
kp) 고가용성
==HA==서버의 다중화
MariaDB(MySQL)는 환경에 따라 적합한 스토리지 엔진을 선택할 수 있고, 장애 없이 안정적인 서비스를 위해 클러스터링, 레플리카, 샤딩 등 다양한 고가용성 아키텍처를 구축할 수 있음. 서비스 특성과 데이터 규모에 맞는 구성이 중요하다.
카카오 아웃 ㅋㅋ
낡고 냄새나는 클러스터링 사용해서 이렇게되었네요 수고하세요