반응형

실전 투입 전 감 살릴겸 공부를 위해서

MySQL 커뮤니티 버전을 설치하려던 와중에

MariaDB가 생각나서 적어본다.

 

* 참고 :

https://sabarada.tistory.com/164

 

[database] mysql과 mariaDB 중 어떤 DB가 나에게 맞을까?

안녕하세요. 오늘은 mysql과 mariaDB에 대한 차이점을 알아보고 어떤것을 사용하면 개인에게 그리고 팀에게 적합할지 알아보는 시간을 가져보도록 하겠습니다. 히스토리 mariaDB는 mysql의 개발자가

sabarada.tistory.com

 

MariaDB는 MySQL 개발자가 나와서 개발했다고 한다.

MontyProgram AB라는 회사를 차리면서 MariaDB를 만들게 되었다.

자체적으로 서비스로 MariaDB 뿐만아니라 PerconaServer도 있다고 한다.

 

MariaDB와 PerconaServer는 MySQL을 기반으로 fork하여 개발되었고,

MariaDB는 MySQL의 엔진에 PerconaServer의 엔진을 함께 사용하고 있다.

 

그렇기에 MariaDB는 MySQL과 공통적인 부분이 많으며

MySQL을 다룰줄 안다면 MariaDB를 사용하는 것은 금방 익힐 수 있다.

 

* MySQL

- 널리 사용되는 오픈소스 RDBMS

- 1994년 개발

- 2008년, 썬마이크로시스템즈에 인수됨

- 2010년, 오라클에 인수됨

 

* MariaDB

- MySQL의 브랜치

- 오픈소스 RDBMS

- 라이선스 : GPLv2

 

* 공통점

- MariaDB의 실행 프로그램과 유틸리티는 모두 MySQL과 이름이 동일하며 호환된다.

- MySQL 5.x 데이터 파일과 데이터 정의 파일 *.FRM은 MariaDB 5.x와 호환된다.

- 모든 클라이언트 API와 통신 프로토콜은 서로 호환된다.

- MySQL Connector는 모두 MariaDB에서 변경업싱 사용 가능하다.

- MySQL 클라이언트 프로그램은 MariaDB 서버의 연결에 사용할 수 있다.

 

* 차이점

- 서로 기능이나 성능에 큰 차이점을 모빙지 않지만, 이끄는 회사가 다르므로 지켜보아야 한다.

- 아래 내용은 상단에 기재한 블로그에서 참고하여 Real MariaDB 서적에서 발췌한 내용의 일부라고 한다.

- 스토리지 엔진 비교

용도 MariaDB MySQL
메모리 스토리지 엔진 MySQL 코드 베이스에 포함된 메모리 스토리지 엔진을 기본으로 사용한다. MariaDB의 메모리 스토리지 엔진과 거의 동일하다
디스크 기반 내 비임시 테이블 스토리지 엔진 기본적으로 Aria 스토리지 엔진을 사용한다. 이것은 InnoDB와 비슷하게 인덱스하며 레코드 데이터까지 모두 메모리 캐시를 이요할 수 있기 때문에 MySAM에 비해서는 빠른 처리를 보장한다. MySAM 스토리지 엔진을 사용하는 테이블을 생성하여 작업을 처리한다.
트랜잭션 지원 스토리지 엔진 PerconaServer에서 나온 XtraDB가 사용되었으며, 10.0.7 버전부터는 InnoDB가 기본이 되었다고 한다. InnoDB 스토리지 엔진을 사용한다.
NoSQL 지원 엔진 Cassandra의 데이터를 MariaDB 서버를 통해 접근할 수 있다, Memcached 플러그인을 제공한다.

- 기능 비교

용도 MariaDB MySQL
스레드 풀 MariaDB 5.1 버전부터 지원한다. 엔터프라이즈 버전에서만 지원한다.
버퍼풀 프리로드 XtraDB에서 버퍼 풀의 내용을 덤프하고, 덤프된 버퍼 풀 정보를 MariaDB 재시작 후 다시 버퍼 풀로 로딩할 수 있는 기능을 제공한다. MySQL 5.6 버전에서부터 InnoDB 버퍼풀의 덤프와 로딩 기능을 지원한다.
SSD 지원 XtraDB에서는 SSD 기반의 디스크 IO를 위한 블록 플러시 알고리즘을 지원한다. -
롤 기반의 권한 관리 오라클과 같이 특정 유저 그룹을 위한 롤 생성 가능하다. -
반 동기화 레플리케이션 - 플러그인 형태로 제공한다.
가상 컬럼 1개 이상의 컬럼 값을 미리 별도의 컬럼에 저장하거나 쿼리 처리 시점에 가공하여 보여주는 기능을 제공한다. -
동적 컬럼 NoSQL 처럼 사용 할 수 있는 동적 컬럼 지원 기능을 제공한다. -

 

* 라이센스

- MySQL

 커뮤니티 버전, 상용 버전으로 나뉘어 진다.

 커뮤니티 버전은 서버/클라이언트/라이브러리 모두 GTL 라이센스로 배포된다.

 오픈소서로써 사용 가능하지만 상용 버전 라이센스 사용을 위해서는 지용을 지불해야 한다.

- MariaDB

 MySQL 커뮤니티 버전을 fork하여 사용하고 있다.

 서버는 GPL 라이센스로 배포되며, 클라이언트와 라이브러리는 LGPL 라이센스를 따른다.

 GNU GPLv2 라이센스로만 배포되며 상용버전은 별도로 없으며 MySQL을 fork해서 사용하기 때문에 자체적으로 상용버전을 출시할 수 없다.

 

 

**

MySQL을 사용한 경험이 있고 다양한 RDBMS를 경험해 보고 싶다면

MariaDB도 설치해서 사용해보는 것이 좋다고 생각한다.

지금까지도 사람들의 입에 오르내리고 상용 버전이 없는 오픈소스 제품으로서

MariaDB는 충분히 매력적이라고 생각된다.

기업 측면에서 확실한 지원을 받기를 원한다면,

비용을 지불하며 MySQL 상용 버전을 사용하는 것도 좋겠다.

반응형

'2022' 카테고리의 다른 글

프로젝트관리 키워드 등등  (0) 2022.03.10
MariaDB 설치  (0) 2022.03.10
Microsoft Azure (마이크로소프트 애저)  (0) 2022.03.04
넥사크로 퀵코드-Nexacro QuickCode  (0) 2022.03.02
var, let 성능?  (0) 2022.03.02

+ Recent posts