MariaDB와 MySQL 선택에 대해서 > 자유게시판

자유게시판

MariaDB와 MySQL 선택에 대해서 정보

MariaDB와 MySQL 선택에 대해서

본문

요즘 DB 튜닝에 관심이 많아서 MariaDB와 MySQL 선택에 대해서 조사를 하는 중입니다.
이하 내용은 Real MariaDB (2014) - 위키북스 이성욱지음 - 에서 발췌한 부분을 요약했습니다.
회원분들의 DBMS 선택에 도움이 되지 않을까해서 작성해드립니다.
자세한 내용은 직접 책을 구매해서 보시면 큰 도움이 되리라 생각합니다.
 

1.1 MariaDB란?
MariaDB는 MySQL 커뮤니티 코드 베이스를 이용해서 탄생했다.
MariaDB는 Monty Program AB에 의해서 다듬어진 MySQL이다.
MariaDB는 오픈소스이다. 그리고 계속 오픈소스로 남기를 바란다.

 

1.2.1 MariaDB와 MySQL 그리고 PerconaServer
MariaDB를 이해하기 위해서는 먼저 MySQL과 PerconaServer(퍼코나서버)를 알아야한다.
PerconaServer는 Percona라는 회사에서 MySQL서버의 소스코드를 기반으로 만든 MySQL 서버의 또 다른 포크(fork) 버전이다.
MariaDB는 PerconaServer의 XtraDB 스토리지 엔진을 배포 버전에 포함하고 있다.
XtraDB는 MySQL 서버의 InnoDB의 소스코드를 개선해서 만든 새로운 스토리지 엔진이다.

 

1.2.2 공통점
MariaDB의 실행 프로그램들과 유틸리티는 모두 MySQL과 이름이 동일하며, 호환된다.
모든 클라이언트 API와 통신 프로토콜은 서로 호환된다.
MariaDB 5.x 버전에서는 사실 개발자가 MySQL 5.x 서버와 크게 구분해서 생각할 필요가 없을 정도다.
MariaDB 10.x 버전부터는 개발자에게 노출되는 부분도 편의성과 효율성 그리고 성능과 관련해서 많은 부분들이 개선 되었다.

 

1.2.3 차이점
MySQL의 이중 라이선스(커뮤니티와 엔터프라이즈 라이선스) 정책을 생각하면 뭔가 큰 차이가 있어 보이기도 한다.
MariaDB가 MEMORY 스토리지 엔진의 가변 데이터 타입에 대해 지원을 언급하고 있지만 10.0 버전에서는 구현되지 않았다는 것이 확인되었다.
MariaDB는 기본 내부 임시 테이블용 스토리지 엔진은 Aria를 사용한다. 이는 MySQL 기본엔진 MyISAM에 비해서는 빠른 처리를 보장한다.
MariaDB는 기본 트랜젝션 지원 스토리지 엔진으로 XtraDB를 사용한다. 물론 InnoDB도 사용할 수 있다.
내부적으로 사용하는 스토리지 엔진이 다르기 때문에 튜닝을 해야하는 옵션들이 서로 차이가 있고, 장단점이 다르다고 볼 수 있다.
MariaDB는 스레드 풀을 지원한다. MySQL은 엔터프라이즈 버전에서만 지원한다.
MariaDB의 XtraDB에서는 SSD 기반의 디스크 I/O를 위한 블록 플러시 알고리즘을 지원한다.
MariaDB는 서브 쿼리와 조인 쿼리 최적화를 지원한다.
MariaDB는 멀티 스레드 리플리케이션을 지원한다.
MariaDB는 롤(ROLE) 기반의 권한 관리를 지원한다.
MariaDB는 가상 칼럼과 동적 칼럼을 지원한다.

 

1.2.4 버전별 호환성
MariaDB 5.1 5.2 5.3은 MySQL 5.1과 호환된다.
MariaDB 5.5 10.0은 MySQL 5.5와 호환된다.

 

1.2.5 성능 비교
누가 더 빠르다라는 이야기를 쉽게 할 수 있는 사람은 거의 없을 것이다.
누가 테스트를 했는지 어떤 시나리오로 벤치마크를 했는지에 따라서 결과가 서로 달라진다.
직접 우리 회사 서비스 모델로 테스트해 보고 그 결과를 비교해보는 것이 최선이라고 볼 수 있다.

 

1.2.6 MariaDB가 MySQL을 대체하게 될까?
정답은 알 수가 없다. 단지 저자의 개인적인 생각으로는 MariaDB는 아마도 지금보다는 더 넓은 사용자층을 가지게 될 것으로 보인다.
구글에서 MariaDB 오픈소스를 지원하겠다고 선언한 상황이어서, 앞으로 MariaDB가 쉽게 사라지지는 않을 것이다.
다만 오라클이 더 패쇄적으로 엔터프라이즈 버전의 기능과 성능에만 집중할지, 커뮤니티 버전을 더 활성화시킬지는 두고 볼 일이다.

 

1.2.7 MariaDB와 MySQL 선택
DBMS를 선택할 때 가장 크게 고려해야 할 부분은 DBMS 성능, 안정성, DBMS 기능과 유틸리티, 기술 지원이다.
안정성 문제에 있어서 MySQL 서버의 대응은 조금 문제가 있어 보인다.
MySQL 엔터프라이즈 버전과 MariaDB의 기능을 비교하자면 MariaDB가 무료로 기능을 사용 할 수 있는 부분이 많다.
스레드 풀, 백업 기능, 메모리 사용량 체크등 소소해 보이지만 꼭 필요한 기능은 MariaDB에서 더 많이 제공 하고 있다.
기술 지원에 있어서도 MariaDB가 오라클에 비해 대응이 미흡하지 않다.

 

추천
4

댓글 8개

오라클이 mysql 을 인수 후 mysql 의 업데이트에 소극적인 태도에 개발자가 나와서 다시 만든 것이 mariadb로 알고 있습니다.
저는 큰 차이가 없다는 판단하에 mariadb 를 선호하고 있습니다.
저도 그렇게 이해하고 있고 MariaDB를 선호합니당!
실제로 Release 되는 기간만 놓고 봐도, MariaDB는 1달에 몇 번도 하는 경우가 있는데, MySQL은 대략 3개월에 한 번 꼴로 대응하더라구요.
정확히는 MySQL은 GPL라이선스의 커뮤니티 버전과 상용 라이선스의 엔터프라이즈 버전으로 나뉩니다.
MariaDB는 라이브러리나 커넥터에 따라 다르지만 GPL 라이선스와 LGPL 라이선스를 혼용해서 배포하고 있습니다.
마냥 MySQL이 상용 프로그램이다 라고 단정 짓는 것은 무리가 있어 보이네요.
물론 관점에 따라서는 mysql이 상용프로그램이라고 단정 짓는 것이 무리가 있을 수도 있습니다.
하지만 지금까지 모든 리눅스 배포본에서 mysql을 default 데이타베이스로 하지 않은 것은 그렇게 보기 때문입니다.
MYSQL은 사용자가 선택해서 설치하도록 함으로서 설치 이후의 문제는 사용자가 책임지도록 한 것입니다.
인용글의 요지는 오픈소스 진영에서는 mariaDB를 사용하므로 오픈소스 프로그램은 mariaDB를 사용하는 것이 이념에 맞다는 의미입니다.

커뮤니티 버전은 "비영리, 교육기관 그리고 개인적인 사용"에 대하여만 GPL로 허용한 것입니다.
허용된 이외의 사용은 커뮤니티 버전이라도 상용입니다.
음.. 커뮤니티 버전은 비영리 교육기관 그리고 개인적인 사용이라는 부분이 어디에 명시 되어있는지 확인 가능하신지요?
지적재산권 관련해서는 매우 복잡합니다. 문제가 생긴다면 결국은 소송에 의해 결론이 날 수 밖에 없습니다.
그렇기 때문에 "명시"되어 있지 않다고 그렇치 않다고 하는 것은 좀 위험합니다.
  https://dev.mysql.com/downloads/mysql/ 우측에 보시면

http://www.mysqlkorea.com/sub.html?mcode=product&scode=08
첨언하면 그누보드, XE, 워드프레스 등에서 mysql을 사용하는 것, 또는 gshn 님이 만든 php프로그램이 mysql을 사용한 다고 해도 라이센스 위반은 아닙니다. mysql을 포함해서 배포하는 것은 아니기 때문이고, php에서 mysql에 연결하는데 별도의 커넥터가 있기 때문입니다.
전체 195,063 |RSS
자유게시판 내용 검색

회원로그인

진행중 포인트경매

  1. 참여1 회 시작24.03.28 11:15 종료24.04.04 11:15
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT