SlideShare a Scribd company logo
1 of 39
Download to read offline
MariaDB Solution Guide
NeoClova updated 2020. 3
Open Source Neoclova
MariaDB 소개
MariaDB Overview
• MySQL을 기반으로 한 오픈소스 RDBMS
(1994)MySQL AB > (2008)Sun > (2010)Oracle
• Michael Widenius (Monty)
(Monty Program AB)…(MariaDB Community, MariaDB Foundation)
• MySQL 호환, 편리, 확장, 이식, 보안, 우수한 성능
• GPL v2
https://github.com/MariaDB/server
http://www.mariadb.org
http://www.mariadb.com
MariaDB History
상호 보완적인
관계로 발전
SUN 인수
Oracle 인수
MariaDB 호환성
High
Low
버전이 달라지면서
두 제품의 로드맵
변화
구분 내 용
Description
고 가용성, 보안, 상호 운용성 및 성능 기능으로 강화 된 MySQL 애플리케이션 호환
오픈 RDBMS. MariaDB ColumnStore를 사용하면 Columnar 스토리지 엔진도 사용
할 수 있습니다.
기본 데이터 베이스 모델 관계형 DBMS
보조 데이터 베이스 모델 Document Store , Graph DBMS
DB-Engine Ranking
Develper
MariaDB Corporation Ab (MariaDB Enterprise),
MariaDB Foundation (커뮤니티 MariaDB 서버)
Initial release 2009년
Editorial information provided by DB-Engines
구분 내 용
Current release 10.4.12, January 2020
License Subscription(벤더 지원), Open Source
Cloud-based only No
DBaaS offerings
SkySQL (궁극의 MariaDB 클라우드) : 강력한 엔터프라이즈 기능과 세계적 수준의
지원을 탁월한 사용 편의성 및 혁신을 결합하여 MariaDB 플랫폼의 모든 기능을 클
라우드에 제공 하는 최초이자 유일한 DBaaS입니다.
MariaDB 용 Azure Database : 추가 비용 없이 고 가용성 및 보안 기능이 내장 된
완벽하게 관리되고 확장 가능한 MariaDB 관계형 데이터베이스
구현 언어 C & C++
서버운용 체계 FreeBSD, 리눅스, 솔라리스, 윈도우
Data scheme Yes
Typing Yes
XML support Yes
Secondary indexes Yes
Editorial information provided by DB-Engines
Editorial information provided by DB-Engines
구분 내 용
SQL Yes
API 및 엑세스 방법 ADO.NET, JDBC, ODBC, Proprietary native API
지원 프로그래밍 언어
Ada, C, C#, C++, D, Eiffel, Go, Haskell, Java, JavaScript (Node.js), Objective-C, Perl,
PHP, Python, Ruby, Scheme, Tcl
Server-side scripts Yes
Triggers Yes
Partitioning methods 스파이더 스토리지 엔진 또는 Galera 클러스터를 사용한 수평 분할, 샤딩
복제방법 마스터-마스터 복제 마스터-슬레이브 복제
MapReduce No
Consistency concepts Immediate Consistency
Foreign keys Yes
Transaction concepts ACID
Concurrency Yes
Editorial information provided by DB-Engines
구분 내 용
Durability Yes
In-memory capabilities Yes
User concepts SQL 표준에 따른 세분화 된 액세스 권한
More information provided by the system vendor
구분 내 용
특성 기업 도구와 함께 강화의 MySQL의 제작자에서 오픈 소스 데이터베이스
경쟁 우위 MySQL 및 기타 데이터베이스를 능가하는 고 가용성, 확장성, 성능
일반적인 응용 시나리오 고 가용성을 요구하는 웹, SaaS 및 클라우드 운영 / 트랜잭션 애플리케이션 ...
주요 고객
Booking.com, Wikipedia, 구글, Canal +, ClubMed, Deutsche Telekom, La Poste,
Virgin, 카카오톡, 카카오뱅크
시장성
MariaDB는 Red Hat 및 SUSE 리눅스에서 제공하는 LAMP 스택의 기본 데이터베이
스입니다
MariaDB 편리성
• 다중사용자, 다중 Thread 지원
• 다양한 응용프로그램 API제공
(C, C++, Java, Perl, PHP, Python, .Net, Ruby 등)
• ANSI SQL 표준 준수
• 보다 다양한 스토리지 엔진 제공
• MySQL보다 강화된 기능 제공
MariaDB 확장성
• Table Partitioning
• Replication을 통한 읽기 확장
• Sharding을 통한 쓰기 확장
• Table 수준에서 다양한 특성의 Storage Engine 지원
• 보다 유연한 시스템 확장을 위해 전용 Router 지원
• Cloud 기반의 환경 지원(AWS, Azure, GCP, Docker)
MariaDB 이식성
• 다양한 OS환경 지원( Linux기반, Window 32/64)
• 쉬운 Migration(MySQL to MariaDB)
• MySQL client 지원(mysqldump, mysqladmin 등)
• 쉬운 Minor Upgrade
MariaDB 보안성
• MariaDB Minor Patch include CVE
• SSL 지원
• user & host 기반의 Object별 Privileges. (user & host별
비밀번호, User Role)
• Data-at-Rest Encryption (TDE)
• Password Validation Plugin 지원
MariaDB 성능
• MySQL function full support
• Table Partitioning
• Thread Pooling
• Replication
• Storage engine
• my.cnf configuration
MariaDB Scale Out
[Scale Up or Scale Out]
일반적인 상용 RDBMS 들은 일반적으로 Scale Up 을 지향
MariaDB는 Scale Out 에 기반을 두고 DB Architecture 설계 시 고성능 발휘
Scale Up vs Scale Out
• 높은 안정성
• 고성능
장점
• 저비용
• 장애시 서비스 Impact 적음
• 부분적 증설이 가능
• 지속적인 시스템 확장 가능
• 고비용
• 장애시 대형 장애로 연결
• 한대의 고성능 서버로 감당이 어려운
경우 문제 발생
단점
• 많은 서버로 인한 관리 부담
• 각 서버의 장애 발생 가능성이 높음
Open Source Neoclova
MariaDB Product Architecture
MariaDB Architecture
18
MariaDB Server Architecture
MariaDB Structure
• 1’st Layer: Connectors
– MariaDB client
– MariaDB에 접근하기 위해 Application에서 설치하여 사용
– C, API, JDBC 등 언어에 따라 여러 가지 connector를 사용
• 2’nd Layer: MariaDB Instance (MariaDB server header)
– SQL 구문 분석
– 옵티마이저 최적화로 실행계획 작성
– 필요하면 메모리에 캐쉬
• 3’rd Layer: Storage Engine
– 데이터를 저장하고 추출
– 각각의 storage engine은 서로 다른 데이터 저장 및 추출 방법을 가짐
– InnoDB, ColumnStore, Connect, MyRocks, …
MariaDB Server Process Flow
Application
Handler API
InnoDB ColumnStore Connect MyRocks ....
SQL
Thread
Cache
Logging
Thread
Cache
Connection
Manager
User
Authentication
Command
Diaspatcher
Query Cache
Module
Optimizer
(select)
Access
Control
Table
Manager
Parser
Table Open
Cache
Table Definition
Cache
Table
Modification
(Update)
Table
Maintenance
(Repairs)
Replication
(Replica)
Status
Report
(status)
Open Source Neoclova
DBMS 비교
DBMS 비교 (1 / 5)
DBMS 모델 비교
기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID
DBMS 종류
관계형
데이타베이스
관계형
데이타베이스
관계형
데이타베이스
관계형
데이터베이스
관계형
데이타베이스
관계형
데이타베이스
DBMS 성능 구조
디스크 기반
DBMS
디스크 기반
DBMS
디스크 기반
DBMS
디스크 기반
DBMS
디스크 기반
DBMS
디스크 기반
DBMS
DBMS 구조 멀티 프로세스 멀티 스레드 멀티 스레드
멀티프로세스+
멀티스레드
멀티프로세스+
멀티스레드
멀티프로세스+
멀티스레드
DBMS License Cost 높음 낮음 낮음 높음 높음 보통
지원 API 비교
기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID
표준 SQL 지원 지원 지원 지원 지원 지원
변형 SQL 지원 지원 지원 지원 지원 지원
JDBC Driver 지원 지원 지원 지원 지원 지원
ODBC Driver 지원 지원 지원 지원 지원 지원
PHP Driver 지원 지원 지원 지원 지원 지원
CLI Interface 지원 지원 지원 지원 지원 지원
XA 트랜젝션 지원 지원 지원 지원 지원 지원
Threaded
Application
지원 지원 지원 지원 지원 지원
*Oracle, MariaDB, Tibero 등 표준SQL을 포함하여 주요 API 범위를 모두 제공
DBMS 비교 (2 / 5)
운영지원 범위비교
기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID
GUI Admin Tool OEM MySQL Workbench Webyog tbAdmin Data Studio CM
Interactive SQL 수행기 SQLPlus
MySQL Command-
Line Tool
MariaDB Command-
Line Tool
tbSQL or Control Center csql
Data Loader SQL*Loader Load Data Load Data tbLoader CLP loaddb
Data 추출 및 적재
Tool
Export/Import
Mysqldump/
Enterprisebackup
Mysqldump/
Xtrabackup/
mariadbbackup
Export/Import Load loaddb/unloaddb
마이그레이션 툴
Oracle Migration
WorkBench
다양한 서드파티
지원
다양한 서드파티 지원 tbMigrator
Export/Import or
db2move
CMT
기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID
Hint 기능 지원 지원 지원 지원 지원 지원
In-line View(서브쿼리) 지원 지원 지원 지원 지원 지원
Join 지원 지원 지원 지원 지원 지원
Outer Join 지원 지원 지원 지원 지원 지원
Array Processing 지원 지원 지원 지원 지원 미지원
분석 함수 지원 지원 지원 지원 지원 지원
비용기반 옵티마이저 지원 지원 지원 지원 지원 지원
내장 함수 지원 지원 지원 지원 지원 지원
SQL지원 범위비교
* Oracle, Tibero, DB2 등의 상용DBMS의 경우 벤더 종속적인 Tool을 통해 SQL 및 운영 지원이 가능한 반면, 공개SW인
MariaDB의 경우 벤더 종속성을 탈피하고 다양한 3rd 솔루션과의 호환성을 통한 운영지원이 가능
DBMS 비교 (3 / 5)
기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID
테이블 지원 지원 지원 지원 지원 지원
복합 인덱스 지원 지원 지원 지원 지원 지원
뷰 지원 지원 지원 지원 지원 지원
시퀀스 지원 지원 지원 지원 지원 지원
DB 링크 지원 지원 지원 지원 지원 미지원
권한관리 지원 지원 지원 지원 지원 지원
Role(권한 부여) 지원 지원 지원 지원 지원 지원
프로시저 지원 지원 지원 지원 지원 지원
저장 함수 지원 지원 지원 지원 지원 지원
트리거 지원 지원 지원 지원 지원 지원
Object 지원 기능 비교
* Object 지원 기능은 각 DBMS에서 비교적 동일하게 제공
DBMS 비교 (4 / 5)
기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID
MVCC ( Multi-Version
Concurrency Control )
지원 지원 지원 지원 지원 지원
로우 레벨 잠금 지원 지원 지원 지원 지원 지원
Lock Escalation 회피 통한
Table Lock 방지
지원 지원 지원 지원 미지원 지원
B-Tree 인덱스 지원 지원 지원 지원 지원 지원
시스템 모니터링 View 지원 지원 지원 지원 지원 지원
SQL Trace(추적) 기능 지원 지원 지원 지원 지원 지원
복잡한 트랜잭션 처리 지원 지원 지원 지원 지원 지원
Partitioning
Range 지원 지원 지원 지원 지원 지원
List 지원 지원 지원 지원 미지원 지원
Hash 지원 지원 지원 지원 미지원 지원
Composite 지원 지원 지원 지원 미지원 미지원
Partitioning Methods
Horizontal
partitioning
Horizontal
partitioning
NDB Cluster
Horizontal
partitioning
Sharding with Spider
Galera Cluster
Horizontal
partitioning
Horizontal
partitioning
Horizontal
partitioning
Sharding with
Cubrid shard
고성능을 위한 기능 비교
* Oracle, Tibero, DB2에서는 고성능을 위한 수평 확장만을 제공하는 반면, MariaDB는 물리적인 Horizontal
Partitioning 뿐만 아니라 Sharding Engine등을 통해 수직 확장 기능을 제공
DBMS 비교 (5 / 5)
기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID
자동 Crash Recovery 지원 지원 지원 지원 지원 지원
Log Mirroring 지원 지원 지원 지원 지원 지원
온라인 백업 지원
지원
(Enterprisebackup)
지원
(Mariabackup)
지원 지원 지원
Active Cluster 지원
(Oracle RAC)
지원
(NDB Cluster)
지원
(Galera Cluster)
지원
(Tibero TAC)
지원
(IBM PureScale)
(별도 중앙 관리 서
버 필요, IBM 서버
만 동작)
미지원
(Data
Replication
방식)
Disaster Recovery 기능 빠름 빠름 빠름 보통 보통 보통
Online DDL Operation 지원 지원 지원 지원 지원 미지원
Two-phase Commit 지원 지원 지원 지원 지원 지원 (JDBC만)
Third Party Plugins
Support 낮음 높음 높음 낮음 낮음 낮음
ETL Supports Level 높음 높음 높음 낮음 낮음 낮음
In-memory capabilities 지원 지원 지원 미지원 미지원 미지원
가용성을 위한 기능 비교
* MariaDB는 다양한 Storage Engine, MaxScale 및 오픈소스 기반의 다양한 3rd Party 솔루션과의 결합을 통해 고성능
및 가용성 확보에 용이
Open Source Neoclova
MariaDB High Availability
• Replication
• MHA
• MaxScale
MariaDB Replication
• Replication
– Async
 binary log
 relay log
– Semi-Sync (5.5 이상)
 Plugin
a. semisync_master
b. semisync_slave
 Built-In(10.3 이상)
– STANDARD, RING, STAR, MULTI-SOURCE
1. Replication?
데이터를 물리적으로 다른 서버의 저장 공간 안에 동일한 데이터를 복제하는 기술
2. Replication은 데이터를 이중화 하는 것이고 Oracle RAC는 DB를 이중화 하는 개념
3. Replication은 오직 단일 Master에서만 데이터를 변경 작업을 수행 할 수 있고 Slave는 읽기 분산만 가능
4. Replication은 로그 기반으로 비동기적으로 데이터를 복제
5. Master는 다중 Thread로 데이터 변경 처리를 하고 Slave는 단일 Thread로 데이터 변경 처리(지연 발생 가능성)
6. Auto-Failover를 수행하지 않기 때문에 Master장애 발생시 수동 조치 요구됨
MariaDB Replication Case (1)
MariaDB Replication Case (2)
Open Source Neoclova
MariaDB MHA
(Replication)
MariaDB MHA (Master High Availibity)
MHA Zone
Replication Zone
Slave
Master
MHA
Manager
Master 감지
MHA Zone
WAS1 WAS2
Replication Zone
New
Master(
Slave)
Master
MHA
Manager
WAS1 WAS2
장애
VIP VIP
1. MHA는 MariaDB Replication의 Auto-Failover를 지원해 주는 솔루션
2. MHA는 최소한의 Down Time으로 Master의 장애를 조치하고 Slave의 Master 변경을 자동으로 수행
(다운타임 시간 10~30초)
3. 각 노드(Master 및 Slave)를 자동으로 전환하며, 각 노드(Slave)는 데이터 불일치가 발생하지 않음
4. 자동 Master monitoring과 Failover 작업
5. 수동 장애 조치 가능 (대화형 Master Failover 및 비대화형 Master Failover)
MariaDB MHA (Master High Availibity)
• MHA (구성도)
MHA Manager Active Master Slave #1 Slave #n
…
Application Server
MHA Zone Replication Zone
Master 감지
MHA Manager Active Master Slave #1 Slave #n
…
Application Server
MHA Zone Replication Zone
Binary log
Copy
장애 발생
Relay log 적용
Save_binary_logs
Apply_diff_relay_logs
장애 처리를 위한 shell 파일
Open Source Neoclova
MariaDB MaxScale
(Replication)
MariaDB MaxScale
• MaxScale
– BSL , GPL v2
– 다양한 기능 지원
- Proxy
- Query Routing
- Replication
- Database Sharding
- HA
https://mariadb.com/kb/en/maxscale/
MariaDB MaxScale
• MaxScale
Master
script
master_down event
Failover Script
CHANGE MASTER to new master;
START SLAVE
Slaves
STOP SLAVE
Promote as master
binlog cache
1 4
3
2
4
SPOF 없는 고가용성 지원
Ensure database uptime
▪ 자동 Fail-Over
▪ New Master로 Slave들의 Master 정보 변경
▪ Master가 Fail 상태일때도 Read Transaction 지원
Minimize database downtime
▪ 사용자 영향 없이 DB upgrade 지원
▪ Tee-filter 통해 쿼리 복제하여 신규DB로 전송
MariaDB MaxScale
• MaxScale
– GTID
– maxscale 이중화
MaxScale
With
Keepalived
MariaDB 제품 소개

More Related Content

What's hot

MySQL_MariaDB로의_전환_기술요소-202212.pptx
MySQL_MariaDB로의_전환_기술요소-202212.pptxMySQL_MariaDB로의_전환_기술요소-202212.pptx
MySQL_MariaDB로의_전환_기술요소-202212.pptxNeoClova
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바NeoClova
 
MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바NeoClova
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.NAVER D2
 
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxKeepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxNeoClova
 
Maxscale_메뉴얼
Maxscale_메뉴얼Maxscale_메뉴얼
Maxscale_메뉴얼NeoClova
 
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육 Sangmo Kim
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기NHN FORWARD
 
Using all of the high availability options in MariaDB
Using all of the high availability options in MariaDBUsing all of the high availability options in MariaDB
Using all of the high availability options in MariaDBMariaDB plc
 
Galera cluster for high availability
Galera cluster for high availability Galera cluster for high availability
Galera cluster for high availability Mydbops
 
MariaDB 10.5 binary install (바이너리 설치)
MariaDB 10.5 binary install (바이너리 설치)MariaDB 10.5 binary install (바이너리 설치)
MariaDB 10.5 binary install (바이너리 설치)NeoClova
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleColin Charles
 
MaxScale이해와활용-2023.11
MaxScale이해와활용-2023.11MaxScale이해와활용-2023.11
MaxScale이해와활용-2023.11NeoClova
 
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorAlmost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorJean-François Gagné
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良Shinya Sugiyama
 
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법Ji-Woong Choi
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialColin Charles
 
MySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptxMySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptxNeoClova
 
ProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewRené Cannaò
 

What's hot (20)

MySQL_MariaDB로의_전환_기술요소-202212.pptx
MySQL_MariaDB로의_전환_기술요소-202212.pptxMySQL_MariaDB로의_전환_기술요소-202212.pptx
MySQL_MariaDB로의_전환_기술요소-202212.pptx
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바
 
MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
 
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxKeepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
 
Maxscale_메뉴얼
Maxscale_메뉴얼Maxscale_메뉴얼
Maxscale_메뉴얼
 
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
 
Using all of the high availability options in MariaDB
Using all of the high availability options in MariaDBUsing all of the high availability options in MariaDB
Using all of the high availability options in MariaDB
 
Galera cluster for high availability
Galera cluster for high availability Galera cluster for high availability
Galera cluster for high availability
 
MariaDB 10.5 binary install (바이너리 설치)
MariaDB 10.5 binary install (바이너리 설치)MariaDB 10.5 binary install (바이너리 설치)
MariaDB 10.5 binary install (바이너리 설치)
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
 
MaxScale이해와활용-2023.11
MaxScale이해와활용-2023.11MaxScale이해와활용-2023.11
MaxScale이해와활용-2023.11
 
Automated master failover
Automated master failoverAutomated master failover
Automated master failover
 
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorAlmost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
 
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability Tutorial
 
MySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptxMySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptx
 
ProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management Overview
 

Similar to MariaDB 제품 소개

MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개rockplace
 
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBrockplace
 
MariaDB 기본 소개 20201216.pdf
MariaDB 기본 소개 20201216.pdfMariaDB 기본 소개 20201216.pdf
MariaDB 기본 소개 20201216.pdfssusercbaa33
 
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기Amazon Web Services Korea
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기Jaewoo Ahn
 
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Vertica New Features - 8.1에서 9.2까지
Vertica New Features - 8.1에서 9.2까지Vertica New Features - 8.1에서 9.2까지
Vertica New Features - 8.1에서 9.2까지Kee Hoon Lee
 
From MSSQL to MariaDB
From MSSQL to MariaDBFrom MSSQL to MariaDB
From MSSQL to MariaDBI Goo Lee
 
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020Amazon Web Services Korea
 
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더Amazon Web Services Korea
 
Percona server for MySQL 제품 소개
Percona server for MySQL 제품 소개Percona server for MySQL 제품 소개
Percona server for MySQL 제품 소개NeoClova
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)Amazon Web Services Korea
 
SteelEye 표준 제안서
SteelEye 표준 제안서SteelEye 표준 제안서
SteelEye 표준 제안서Yong-uk Choe
 
Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB rockplace
 
MySQL operator for_kubernetes
MySQL operator for_kubernetesMySQL operator for_kubernetes
MySQL operator for_kubernetesrockplace
 
개발자가 도전하는 MariaDB 서버구축
개발자가 도전하는 MariaDB 서버구축개발자가 도전하는 MariaDB 서버구축
개발자가 도전하는 MariaDB 서버구축정해 이
 

Similar to MariaDB 제품 소개 (20)

MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개
 
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDB
 
MariaDB 기본 소개 20201216.pdf
MariaDB 기본 소개 20201216.pdfMariaDB 기본 소개 20201216.pdf
MariaDB 기본 소개 20201216.pdf
 
DB innovation conference 2020
DB innovation conference 2020DB innovation conference 2020
DB innovation conference 2020
 
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기
 
NoSQL
NoSQLNoSQL
NoSQL
 
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
 
Vertica New Features - 8.1에서 9.2까지
Vertica New Features - 8.1에서 9.2까지Vertica New Features - 8.1에서 9.2까지
Vertica New Features - 8.1에서 9.2까지
 
From MSSQL to MariaDB
From MSSQL to MariaDBFrom MSSQL to MariaDB
From MSSQL to MariaDB
 
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
 
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
 
Percona server for MySQL 제품 소개
Percona server for MySQL 제품 소개Percona server for MySQL 제품 소개
Percona server for MySQL 제품 소개
 
steeleye Replication
steeleye Replication steeleye Replication
steeleye Replication
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
 
SteelEye 표준 제안서
SteelEye 표준 제안서SteelEye 표준 제안서
SteelEye 표준 제안서
 
Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB
 
MySQL operator for_kubernetes
MySQL operator for_kubernetesMySQL operator for_kubernetes
MySQL operator for_kubernetes
 
개발자가 도전하는 MariaDB 서버구축
개발자가 도전하는 MariaDB 서버구축개발자가 도전하는 MariaDB 서버구축
개발자가 도전하는 MariaDB 서버구축
 

MariaDB 제품 소개

  • 3. MariaDB Overview • MySQL을 기반으로 한 오픈소스 RDBMS (1994)MySQL AB > (2008)Sun > (2010)Oracle • Michael Widenius (Monty) (Monty Program AB)…(MariaDB Community, MariaDB Foundation) • MySQL 호환, 편리, 확장, 이식, 보안, 우수한 성능 • GPL v2 https://github.com/MariaDB/server http://www.mariadb.org http://www.mariadb.com
  • 4. MariaDB History 상호 보완적인 관계로 발전 SUN 인수 Oracle 인수
  • 6. 구분 내 용 Description 고 가용성, 보안, 상호 운용성 및 성능 기능으로 강화 된 MySQL 애플리케이션 호환 오픈 RDBMS. MariaDB ColumnStore를 사용하면 Columnar 스토리지 엔진도 사용 할 수 있습니다. 기본 데이터 베이스 모델 관계형 DBMS 보조 데이터 베이스 모델 Document Store , Graph DBMS DB-Engine Ranking Develper MariaDB Corporation Ab (MariaDB Enterprise), MariaDB Foundation (커뮤니티 MariaDB 서버) Initial release 2009년 Editorial information provided by DB-Engines
  • 7. 구분 내 용 Current release 10.4.12, January 2020 License Subscription(벤더 지원), Open Source Cloud-based only No DBaaS offerings SkySQL (궁극의 MariaDB 클라우드) : 강력한 엔터프라이즈 기능과 세계적 수준의 지원을 탁월한 사용 편의성 및 혁신을 결합하여 MariaDB 플랫폼의 모든 기능을 클 라우드에 제공 하는 최초이자 유일한 DBaaS입니다. MariaDB 용 Azure Database : 추가 비용 없이 고 가용성 및 보안 기능이 내장 된 완벽하게 관리되고 확장 가능한 MariaDB 관계형 데이터베이스 구현 언어 C & C++ 서버운용 체계 FreeBSD, 리눅스, 솔라리스, 윈도우 Data scheme Yes Typing Yes XML support Yes Secondary indexes Yes Editorial information provided by DB-Engines
  • 8. Editorial information provided by DB-Engines 구분 내 용 SQL Yes API 및 엑세스 방법 ADO.NET, JDBC, ODBC, Proprietary native API 지원 프로그래밍 언어 Ada, C, C#, C++, D, Eiffel, Go, Haskell, Java, JavaScript (Node.js), Objective-C, Perl, PHP, Python, Ruby, Scheme, Tcl Server-side scripts Yes Triggers Yes Partitioning methods 스파이더 스토리지 엔진 또는 Galera 클러스터를 사용한 수평 분할, 샤딩 복제방법 마스터-마스터 복제 마스터-슬레이브 복제 MapReduce No Consistency concepts Immediate Consistency Foreign keys Yes Transaction concepts ACID Concurrency Yes
  • 9. Editorial information provided by DB-Engines 구분 내 용 Durability Yes In-memory capabilities Yes User concepts SQL 표준에 따른 세분화 된 액세스 권한
  • 10. More information provided by the system vendor 구분 내 용 특성 기업 도구와 함께 강화의 MySQL의 제작자에서 오픈 소스 데이터베이스 경쟁 우위 MySQL 및 기타 데이터베이스를 능가하는 고 가용성, 확장성, 성능 일반적인 응용 시나리오 고 가용성을 요구하는 웹, SaaS 및 클라우드 운영 / 트랜잭션 애플리케이션 ... 주요 고객 Booking.com, Wikipedia, 구글, Canal +, ClubMed, Deutsche Telekom, La Poste, Virgin, 카카오톡, 카카오뱅크 시장성 MariaDB는 Red Hat 및 SUSE 리눅스에서 제공하는 LAMP 스택의 기본 데이터베이 스입니다
  • 11. MariaDB 편리성 • 다중사용자, 다중 Thread 지원 • 다양한 응용프로그램 API제공 (C, C++, Java, Perl, PHP, Python, .Net, Ruby 등) • ANSI SQL 표준 준수 • 보다 다양한 스토리지 엔진 제공 • MySQL보다 강화된 기능 제공
  • 12. MariaDB 확장성 • Table Partitioning • Replication을 통한 읽기 확장 • Sharding을 통한 쓰기 확장 • Table 수준에서 다양한 특성의 Storage Engine 지원 • 보다 유연한 시스템 확장을 위해 전용 Router 지원 • Cloud 기반의 환경 지원(AWS, Azure, GCP, Docker)
  • 13. MariaDB 이식성 • 다양한 OS환경 지원( Linux기반, Window 32/64) • 쉬운 Migration(MySQL to MariaDB) • MySQL client 지원(mysqldump, mysqladmin 등) • 쉬운 Minor Upgrade
  • 14. MariaDB 보안성 • MariaDB Minor Patch include CVE • SSL 지원 • user & host 기반의 Object별 Privileges. (user & host별 비밀번호, User Role) • Data-at-Rest Encryption (TDE) • Password Validation Plugin 지원
  • 15. MariaDB 성능 • MySQL function full support • Table Partitioning • Thread Pooling • Replication • Storage engine • my.cnf configuration
  • 16. MariaDB Scale Out [Scale Up or Scale Out] 일반적인 상용 RDBMS 들은 일반적으로 Scale Up 을 지향 MariaDB는 Scale Out 에 기반을 두고 DB Architecture 설계 시 고성능 발휘 Scale Up vs Scale Out • 높은 안정성 • 고성능 장점 • 저비용 • 장애시 서비스 Impact 적음 • 부분적 증설이 가능 • 지속적인 시스템 확장 가능 • 고비용 • 장애시 대형 장애로 연결 • 한대의 고성능 서버로 감당이 어려운 경우 문제 발생 단점 • 많은 서버로 인한 관리 부담 • 각 서버의 장애 발생 가능성이 높음
  • 17. Open Source Neoclova MariaDB Product Architecture
  • 20. MariaDB Structure • 1’st Layer: Connectors – MariaDB client – MariaDB에 접근하기 위해 Application에서 설치하여 사용 – C, API, JDBC 등 언어에 따라 여러 가지 connector를 사용 • 2’nd Layer: MariaDB Instance (MariaDB server header) – SQL 구문 분석 – 옵티마이저 최적화로 실행계획 작성 – 필요하면 메모리에 캐쉬 • 3’rd Layer: Storage Engine – 데이터를 저장하고 추출 – 각각의 storage engine은 서로 다른 데이터 저장 및 추출 방법을 가짐 – InnoDB, ColumnStore, Connect, MyRocks, …
  • 21. MariaDB Server Process Flow Application Handler API InnoDB ColumnStore Connect MyRocks .... SQL Thread Cache Logging Thread Cache Connection Manager User Authentication Command Diaspatcher Query Cache Module Optimizer (select) Access Control Table Manager Parser Table Open Cache Table Definition Cache Table Modification (Update) Table Maintenance (Repairs) Replication (Replica) Status Report (status)
  • 23. DBMS 비교 (1 / 5) DBMS 모델 비교 기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID DBMS 종류 관계형 데이타베이스 관계형 데이타베이스 관계형 데이타베이스 관계형 데이터베이스 관계형 데이타베이스 관계형 데이타베이스 DBMS 성능 구조 디스크 기반 DBMS 디스크 기반 DBMS 디스크 기반 DBMS 디스크 기반 DBMS 디스크 기반 DBMS 디스크 기반 DBMS DBMS 구조 멀티 프로세스 멀티 스레드 멀티 스레드 멀티프로세스+ 멀티스레드 멀티프로세스+ 멀티스레드 멀티프로세스+ 멀티스레드 DBMS License Cost 높음 낮음 낮음 높음 높음 보통 지원 API 비교 기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID 표준 SQL 지원 지원 지원 지원 지원 지원 변형 SQL 지원 지원 지원 지원 지원 지원 JDBC Driver 지원 지원 지원 지원 지원 지원 ODBC Driver 지원 지원 지원 지원 지원 지원 PHP Driver 지원 지원 지원 지원 지원 지원 CLI Interface 지원 지원 지원 지원 지원 지원 XA 트랜젝션 지원 지원 지원 지원 지원 지원 Threaded Application 지원 지원 지원 지원 지원 지원 *Oracle, MariaDB, Tibero 등 표준SQL을 포함하여 주요 API 범위를 모두 제공
  • 24. DBMS 비교 (2 / 5) 운영지원 범위비교 기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID GUI Admin Tool OEM MySQL Workbench Webyog tbAdmin Data Studio CM Interactive SQL 수행기 SQLPlus MySQL Command- Line Tool MariaDB Command- Line Tool tbSQL or Control Center csql Data Loader SQL*Loader Load Data Load Data tbLoader CLP loaddb Data 추출 및 적재 Tool Export/Import Mysqldump/ Enterprisebackup Mysqldump/ Xtrabackup/ mariadbbackup Export/Import Load loaddb/unloaddb 마이그레이션 툴 Oracle Migration WorkBench 다양한 서드파티 지원 다양한 서드파티 지원 tbMigrator Export/Import or db2move CMT 기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID Hint 기능 지원 지원 지원 지원 지원 지원 In-line View(서브쿼리) 지원 지원 지원 지원 지원 지원 Join 지원 지원 지원 지원 지원 지원 Outer Join 지원 지원 지원 지원 지원 지원 Array Processing 지원 지원 지원 지원 지원 미지원 분석 함수 지원 지원 지원 지원 지원 지원 비용기반 옵티마이저 지원 지원 지원 지원 지원 지원 내장 함수 지원 지원 지원 지원 지원 지원 SQL지원 범위비교 * Oracle, Tibero, DB2 등의 상용DBMS의 경우 벤더 종속적인 Tool을 통해 SQL 및 운영 지원이 가능한 반면, 공개SW인 MariaDB의 경우 벤더 종속성을 탈피하고 다양한 3rd 솔루션과의 호환성을 통한 운영지원이 가능
  • 25. DBMS 비교 (3 / 5) 기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID 테이블 지원 지원 지원 지원 지원 지원 복합 인덱스 지원 지원 지원 지원 지원 지원 뷰 지원 지원 지원 지원 지원 지원 시퀀스 지원 지원 지원 지원 지원 지원 DB 링크 지원 지원 지원 지원 지원 미지원 권한관리 지원 지원 지원 지원 지원 지원 Role(권한 부여) 지원 지원 지원 지원 지원 지원 프로시저 지원 지원 지원 지원 지원 지원 저장 함수 지원 지원 지원 지원 지원 지원 트리거 지원 지원 지원 지원 지원 지원 Object 지원 기능 비교 * Object 지원 기능은 각 DBMS에서 비교적 동일하게 제공
  • 26. DBMS 비교 (4 / 5) 기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID MVCC ( Multi-Version Concurrency Control ) 지원 지원 지원 지원 지원 지원 로우 레벨 잠금 지원 지원 지원 지원 지원 지원 Lock Escalation 회피 통한 Table Lock 방지 지원 지원 지원 지원 미지원 지원 B-Tree 인덱스 지원 지원 지원 지원 지원 지원 시스템 모니터링 View 지원 지원 지원 지원 지원 지원 SQL Trace(추적) 기능 지원 지원 지원 지원 지원 지원 복잡한 트랜잭션 처리 지원 지원 지원 지원 지원 지원 Partitioning Range 지원 지원 지원 지원 지원 지원 List 지원 지원 지원 지원 미지원 지원 Hash 지원 지원 지원 지원 미지원 지원 Composite 지원 지원 지원 지원 미지원 미지원 Partitioning Methods Horizontal partitioning Horizontal partitioning NDB Cluster Horizontal partitioning Sharding with Spider Galera Cluster Horizontal partitioning Horizontal partitioning Horizontal partitioning Sharding with Cubrid shard 고성능을 위한 기능 비교 * Oracle, Tibero, DB2에서는 고성능을 위한 수평 확장만을 제공하는 반면, MariaDB는 물리적인 Horizontal Partitioning 뿐만 아니라 Sharding Engine등을 통해 수직 확장 기능을 제공
  • 27. DBMS 비교 (5 / 5) 기능 Oracle 11g MySQL MariaDB Tibero DB2 v9.7 CUBRID 자동 Crash Recovery 지원 지원 지원 지원 지원 지원 Log Mirroring 지원 지원 지원 지원 지원 지원 온라인 백업 지원 지원 (Enterprisebackup) 지원 (Mariabackup) 지원 지원 지원 Active Cluster 지원 (Oracle RAC) 지원 (NDB Cluster) 지원 (Galera Cluster) 지원 (Tibero TAC) 지원 (IBM PureScale) (별도 중앙 관리 서 버 필요, IBM 서버 만 동작) 미지원 (Data Replication 방식) Disaster Recovery 기능 빠름 빠름 빠름 보통 보통 보통 Online DDL Operation 지원 지원 지원 지원 지원 미지원 Two-phase Commit 지원 지원 지원 지원 지원 지원 (JDBC만) Third Party Plugins Support 낮음 높음 높음 낮음 낮음 낮음 ETL Supports Level 높음 높음 높음 낮음 낮음 낮음 In-memory capabilities 지원 지원 지원 미지원 미지원 미지원 가용성을 위한 기능 비교 * MariaDB는 다양한 Storage Engine, MaxScale 및 오픈소스 기반의 다양한 3rd Party 솔루션과의 결합을 통해 고성능 및 가용성 확보에 용이
  • 28. Open Source Neoclova MariaDB High Availability • Replication • MHA • MaxScale
  • 29. MariaDB Replication • Replication – Async  binary log  relay log – Semi-Sync (5.5 이상)  Plugin a. semisync_master b. semisync_slave  Built-In(10.3 이상) – STANDARD, RING, STAR, MULTI-SOURCE 1. Replication? 데이터를 물리적으로 다른 서버의 저장 공간 안에 동일한 데이터를 복제하는 기술 2. Replication은 데이터를 이중화 하는 것이고 Oracle RAC는 DB를 이중화 하는 개념 3. Replication은 오직 단일 Master에서만 데이터를 변경 작업을 수행 할 수 있고 Slave는 읽기 분산만 가능 4. Replication은 로그 기반으로 비동기적으로 데이터를 복제 5. Master는 다중 Thread로 데이터 변경 처리를 하고 Slave는 단일 Thread로 데이터 변경 처리(지연 발생 가능성) 6. Auto-Failover를 수행하지 않기 때문에 Master장애 발생시 수동 조치 요구됨
  • 32. Open Source Neoclova MariaDB MHA (Replication)
  • 33. MariaDB MHA (Master High Availibity) MHA Zone Replication Zone Slave Master MHA Manager Master 감지 MHA Zone WAS1 WAS2 Replication Zone New Master( Slave) Master MHA Manager WAS1 WAS2 장애 VIP VIP 1. MHA는 MariaDB Replication의 Auto-Failover를 지원해 주는 솔루션 2. MHA는 최소한의 Down Time으로 Master의 장애를 조치하고 Slave의 Master 변경을 자동으로 수행 (다운타임 시간 10~30초) 3. 각 노드(Master 및 Slave)를 자동으로 전환하며, 각 노드(Slave)는 데이터 불일치가 발생하지 않음 4. 자동 Master monitoring과 Failover 작업 5. 수동 장애 조치 가능 (대화형 Master Failover 및 비대화형 Master Failover)
  • 34. MariaDB MHA (Master High Availibity) • MHA (구성도) MHA Manager Active Master Slave #1 Slave #n … Application Server MHA Zone Replication Zone Master 감지 MHA Manager Active Master Slave #1 Slave #n … Application Server MHA Zone Replication Zone Binary log Copy 장애 발생 Relay log 적용 Save_binary_logs Apply_diff_relay_logs 장애 처리를 위한 shell 파일
  • 35. Open Source Neoclova MariaDB MaxScale (Replication)
  • 36. MariaDB MaxScale • MaxScale – BSL , GPL v2 – 다양한 기능 지원 - Proxy - Query Routing - Replication - Database Sharding - HA https://mariadb.com/kb/en/maxscale/
  • 37. MariaDB MaxScale • MaxScale Master script master_down event Failover Script CHANGE MASTER to new master; START SLAVE Slaves STOP SLAVE Promote as master binlog cache 1 4 3 2 4 SPOF 없는 고가용성 지원 Ensure database uptime ▪ 자동 Fail-Over ▪ New Master로 Slave들의 Master 정보 변경 ▪ Master가 Fail 상태일때도 Read Transaction 지원 Minimize database downtime ▪ 사용자 영향 없이 DB upgrade 지원 ▪ Tee-filter 통해 쿼리 복제하여 신규DB로 전송
  • 38. MariaDB MaxScale • MaxScale – GTID – maxscale 이중화 MaxScale With Keepalived