Products

6
yesterday 304
visitor 57,471
DBWORKS->MariaDB

 

Maria DB란?

Maria DB(마리아 DB)는 오픈소스(무료) RDBMS(관계형 데이터베이스)입니다.

 

 

 

MySQL과의 관계

MySQL은 1995년 MySQL AB사에서 오픈소스로 제작된 DBMS로 무료 DBMS이면서 대용량 DBMS로서 높은 안정성과 성능덕분에 인기있는 오픈소스 DBMS로 자리 잡고 있었습니다. 2008년에는 선 마이크로 시스템즈에 인수되어 관리됐는데, 아시다시피 선 마크로 시스템즈사는 2010년 오라클사에 인수되었죠. 당연히 MySQL을 개발했던 초창기 개발자 멤버또한 오라클사 소속으로 개발을 진행합니다.

 

MySQL은 오라클에 인수된 이후 5.1, 5.6, 5.7버전을 거쳐 2018년 기준으로 MySQL 8.0 버전이 릴리즈 되었습니다. 그러나 오라클은 라이센스를 유료화하였고(학생용 또는 비상업용도는 무료입니다. 추가적으로 최근에는 Java Oracle JDK도 유료화를 선언하였습니다.) MySQL의 창업자중 한명인 몬티 와이드니어스와 일부 개발자는 오라클의 정책이 추구하는바와 맞지 않는 등의 이유를 통해 오라클을 나와 MariaDB사를 설립하여 MariaDB를 개발하게 됩니다.

 

즉 정리하자면 MySQL을 개발했던 핵심개발자들이 오라클사를 나와 만든것이 MariaDB인 것입니다. "Maria"라는 이름 또한 MySQL의 책임 개발자의 두번째 공주님(딸)의 이름에서 가져온 것이라고 하네요.

 

또한 Miria DB는 MySQL의 소스코드를 그대로 가져와 개발한 것이므로 거의 모든 기능이 동일합니다. 즉 서로간의 호환성이 보장 되는 것입니다. 심지어 따로 설정을 변경하지 않는 경우 서비스 포트마저 3306으로 동일합니다. 그러나 MySQL을 개발했던 기술력으로 Maria DB를 더욱 최적화 시켰기 때문에 성능상으로는 Maria DB가 한수 위라는 분석이 있습니다.

 

다만 둘의 큰 차이점이 있다면 MySQL은 오라클의 소유이기 때문에 기업에서 상업적으로 사용하기에는 비용적인 문제가 있지만 Maria DB는 라이센스와 오라클로부터 자유롭다는 점이 있습니다. 따라서 최근들어서 스타트업이나 오픈소스 프로젝트에서도 MySQL보다는 Maria DB를 점점 더 사용하는 추세이며, 여러 배포판 Linux에서도 MySQL보다는MariaDB를 포함하고 있습니다.

 

 

 

Maria DB와 MySQL의 호환성

MariaDB와 MySQL의 호환성은 앞서 말한 MySQL과의 관계로 인해 거의 100% 호환성을 가지고 있습니다. 즉 핵심 바이너리 구조와 사용하는 프로토콜이 같은 구조를 지닙니다. 이는 mariadb 공식 홈페이지에서도 소개하고 있는 내용입니다. 

-> https://mariadb.com/kb/ko/mariadb-mysql/

 

클라이언트 API와 통신 프로토콜, 경로, 실행 명령어가 동일하며 심지어는 여러 언어에서 연결할때 사용하는 Connector API(JDBC 등..)을 서로 교환해서 사용할수도 있습니다. 다만 MySQL에서의 몇가지 문제점을 보완하기 위해 Maria DB에서 개선 목적으로 일부 기능이나 구조가 다르게 설계된 부분이 있는데, 이부분은 공식 홈페이지를 참고해주시기 바랍니다.


 

추가적으로 MariaDB와 MySQL의 릴리즈 버전 형태가 다르기 때문에 서로 호환되는 버전을 비교하기 위해 다음의 표를 참고해주시기 바랍니다. 추가적으로 MariaDB는 버전정책을 5.x로 유지하다가 그 다음버전부터 10.x로 바꾸어 릴리즈하고 있습니다.