MariaDB

MariaDB는

오픈소스 관계형 데이터베이스(RDBMS)로 MySQL과 동일한 소스 코드를 기반으로 하며, GPL v2 라이선스를 따릅니다.오라클의 MySQL 라이센스 정책에 대한 대안으로 만들어졌으며, 배포자는 몬티 프로그램 AB(Monty Program AB)와 저작권을 공유해야 합니다. 이것은 MySQL과 높은 호환성을 유지하기 위함이며, MySQL APIs와 명령에 정확히 일치하여, 라이브러리 바이너리와 상응함을 제공하여 대체 가능성을 높이고자 함입니다. 마리아 DB에는 새로운 저장 엔진인 아리아(Aria)뿐만 아니라, 이노DB(InnoDB)를 교체할 수 있는 XtraDB저장 엔진을 포함하고 있는데 이것은 트랜잭션과 비트랜잭션 엔진 그리고 미래에 나올 MySQL 판에 대응하고자 함일 것입니다.

MariaDB의 가치와 장점

기존에 MySQL 엔터프라이즈에서 플러그인으로 제공한 쓰레드풀 기능이 내장됐으며, 스토리지 엔진을 활용한 샤딩 기술을 제공합니다. 즉, MySQL의 오픈소스 버전을 넘어 모든 버전을 대체할 수 있는 특징들을 갖추고 있습니다.

  • 멀티 소스/병렬 복제
  • Global Transaction ID로 안정성 강화
  • ROLE 기반 권한 관리 지원
  • 카산드라, TokuDB, Connect, 스파이더 스토리지 엔진 추가
  • 서브 쿼리 개선 : EXISTS-to-IN
  • Slow Query Log 로깅과 동시에 실행계획을 같이 출력.
  • 세션별 메모리 사용량 추적 기능
  • Insert/Update/Delete 문 EXPLAIN 지원
MySQL 버전 MariaDB 버전
5.1 5.1
5.2
5.3
5.5 5.5
5.6 10.x

MariaDB 아키텍쳐

MariaDB는 근본적인 태생이 MySQL과 같기 때문에 pluggable Storage Engine의 종류만 조금 다를뿐 MySQL의 기본아케텍쳐와 동일합니다.

MariaDB와의 호환성

MariaDB는 MySQL과 소스코드를 같이 하므로 사용방법과 구조가 MySQL과 동일합니다. 이름만 다르지 명령어나 사용방법 (5.5까지) 모두 MySQL과 동일하다고 할수 있습니다. 편의를 위해 MariaDB는 동일한 MySQL 버전과 바이너리 드롭인 교체를 지원합니다. 예를 들어, MySQL 5.1은 MariaDB 5.1과 5.2, 5.3과 호환되며 MySQL 5.5는 MairaDB 5.5와 호환되는 식이며 다음과 같은 것을 의미합니다.

  • Aria – MyISAM 파생 엔진 (이전 명칭은 Maria), MyISAM 엔진을 대체하기 위해 개발되었으며Crash-Safe를 목표로 진행 중이고 부분적으로 Transaction을 제공합니다. GROUP BY, DISTINCT 등 복잡한 쿼리의 처리 성능이 MyISAM 보다 좋습니다.
  • XtraDB – InnoDB 파생 엔진, InnoDB 엔진을 기반으로 개발된 것으로, 서로 호환성이 있습니다. 최근 하드웨어 환경에 특화한 사양으로, I/O Thread 의 멀티화와 Buffer pool 등의 잠금 장치가 수정돼 기존의 InnoDB와 비교하면, 멀티 코어-멀티 디스크 환경에서 보다 성능이 향상되어지고, 기본적으로 트랜젝션, row level locking, 외래 키를 지원합니다.
  • PBXT – 트랜잭션 제공, Transaction Log에 사전 기록 없이 바로 DB에 기록, 5.5부터는 더이상 유지보수를 제공하지 않으며. 기본 스토리지 엔진에서 제외되었습니다.
  • 모든 MySQL 커넥터(PHP, Perl, 파이썬, 자바, .NET, MyODBC, Ruby, MySQL C Connect 등)이 MariaDB와도 동일하게 작동 FederatedX – Federated 파생 엔진으로 트랜잭션을 제공합니다.
  • OQGRAPH – Graph 기능을 제공하는 스토리지 엔진, 5.2 버전이상부터 지원합니다.
  • SphinxSE – Full-Text Searching이 필요할 때 사용할 수 있는 스토리지 엔진으로 5.2버젼이상부터 지원합니다.
  • IBMDB21 – 오라클은 MySQL 5.1.55에서 제거했지만, MariaDB에서는 5.5까지 유지하고 있습니다.
  • Cassandra – 10.0에서 포함. 기타 비 sql 저장 엔진을 끌어들이려는 시도중 입니다.

MariaDB Galera Cluster

MariaDB에서MariaDB/Galera Cluster 제품군을 새롭게 출시하였습니다. MariaDB/Galera는 MariaDB의 Synchronous 방식 으로 동작하는 multi-master Cluster입니다. MariaDB/Galera Cluster은 Galera 라이브러리를 사용하여 노드 간 데이터 복제를 수행합니다.

MariaDB의 가치와 장점

  • Synchronous 방식으로 노드 간 데이터 복제
  • Active-Active 방식의 다중 마스터 구성 -모든 노드에서 읽기/쓰기가 가능
  • 클러스터 내 노드 자동 컨트롤 ? 특정 노드 장애 시 자동으로 해당 노드 제거
  • 자동으로 신규 노드 추가
  • 완벽한 병렬적으로 데이터를 행단위로 복제
  • 기존의 MySQL 클라이언트 방식으로 동작 이와 같은 특징에서 전통적인 Asynchronous 방식의 리플리케이션이 가지는 한계점이 해결됩니다.
  • 마스터/슬레이브간 데이터 동기화 지연 없음
  • 노드 간 유실되는 트랜잭션이 없음
  • 읽기/쓰기 모두 확장이 가능
  • 클라이언트의 대기 시간이 줄어듬 ? 데이터는 로컬 노드에 존재

SkySQL Enterprise Monitor

SkySQL Enterprise Monitor는 MONyog을 바탕으로 되어있으며, DBA 업무에 관한 모니터,관리,조정과 데이터베이스 응용프로그램의 정확한 문제를 파악하는데 도움을 줍니다. 주요 기능은 다음과 같습니다.

  • 에이전트 및 클라우드 준비 : MariaDB를 실행하는 host에 에이전트를 설치할 필요없음.
  • 600+ 이상의 모니터와 에이전트를 보장
  • Javascript를 사용한 Custom SQL object와 full customization 를 지원
  • History와 trend 분석
  • 실시간 쿼리 확인 및 쿼리분석
  • 구성 관리 및 오류 로그 모니터링
  • Replication 모니터링
  • 디스크 및 락 모니터링
  • 특정시간에 있었던 MariaDB의 상태를 찾아볼수 있음.
  • 실시간 모니터링

MONyog은 SkySQL 엔터프라이즈 데이터 제품군의 일부로 WEByog와 함께 SkySQL에 의해 지원됩니다.

SkySQL Backup and Recovery Manager

SkySQL Backup and Recovery Manager는 Zmanda의 백업, 복구 솔루션을 사용 주요 기능은 다음과 같습니다.

  • 유연한 백업 계획 : 전체, 증분, 논리적 백업 지원
  • 응용프로그램과 사용자에게 영향을 주지 않는 실시간 백업
  • 스케줄링 지원
  • One-click point-in-time 복구
  • ZRM 서버에서 중앙 집중식 백업 관리
  • 자동 알림 및 리포트 제공
  • 이메일과 RSS 지원
  • 로컬 서버의 데이터베이스를 원격 서버로 백업 가능
  • 직접 연결 또는 SAN에 연결된 NAS / SAN 스토리지 장비에 백업 저장 가능
  • 암호화 지원

SkySQL Enterprise Advanced Subscription안에 SkySQL™ Backup and Recovery Manage 포함 Zmanda (ZRM) architecture

SkySQL Visual Editor

SkySQL™ Visual Editor는 Webyog, INC 의 MySQL, MariaDB GUI tool을 바탕으로 개발되어졌습니다. SQLyog 는 Windows XP/Windows 2003 to Windows 8/Server 2008 R2 의 윈도우 플랫폼을 지원 주요 기능은 다음과 같습니다.

  • 스키마와 데이터 동기화
  • SSH와 HTTP 터널링
  • 자동 완성 및 SQL 형식
  • 비주얼 쿼리 빌더
  • 쿼리 프로파일
  • 데이터 검색
  • 폼보기와 FK가 조회
  • 스키마 최적화와 인덱스 분석기
  • 시각적 스키마 디자이너