MariaDB는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)이다.
MySQL과 동일한 소스 코드를 기반으로 하며, GPL v2 라이선스를 따른다.
오라클 소유의 현재 불확실한 MySQL의 라이선스 상태에 반발하여 만들어졌으며, 배포자는 몬티 프로그램 AB(Monty Program AB)와 저작권을 공유해야 한다. 이것은 MySQL과 높은 호환성을 유지하기 위함이며, MySQL APIs와 명령에 정확히 매칭하여, 라이브러리 바이너리와 상응함을 제공하여 교체 가능성을 높이고자 함이다.
마리아 DB에는 새로운 저장 엔진인 아리아(Aria)뿐만 아니라, InnoDB를 교체할 수 있는 XtraDB 저장 엔진을 포함하고 있다. 이것은 트랜잭션과 비트랜잭션 엔진 그리고 미래에 나올 MySQL 판에 대응하고자 함일 것이다.
마리아 DB의 주요 개발자는 MySQL과 몬티 프로그램 AB를 설립한 마이클 몬티 와이드니어스(Michael Monty Widenius)이다.
그는 이전에 자신의 회사, MySQL AB를 썬마이크로시스템즈에 10억 달러에 판매를 한 적이 있으며, 마리아 DB는 그의 둘째 딸인 마리아의 이름을 딴 것이다.
MySQL의 창업자 중 한 명이자 핵심 개발자였던 마이클 와이드니어스는 MySQL AB를 인수한 썬마이크로시스템즈가 오라클에 인수되면서 개발지침 등에 대한 의견 차이가 생겼다.
그는 그의 입장을 다음과 같이 이야기했다.
아마도 InnoDB 스토리지 엔진을 제외한 MySQL에 있는 기능 대부분은 썬마이크로시스템즈 때 있었던 기능들입니다. 오라클 인수 후 MySQL은 발전하지 않았습니다. 오라클은 ‘MySQL을 어떻게 하면 자신들의 소유로 할 수 있을까’만 고민했고, 그래서 회사를 나왔습니다.
2009년 동료 몇 명과 함께 썬을 떠나 Monty Program AB사를 설립하고 MariaDB 개발을 시작했다. Maria는 MySQL과 마찬가지로 마이클 와이드니어스의 딸 이름에서 따왔다.
마리아DB의 버전은 2013년 현재까지 5.5이며, MySQL의 번호를 따랐다. 그리하여 마리아 5.5를 쓰고 있다면, MySQL 5.5의 모든 특징을 가지고 있음을 알게 된다.
특히 MySQL 5.1과 5.5에는 차이가 존재하지만, 마리아DB는 5.2와 5.3에 핵심을 내놨다.
5.5 이후에는 개발판을 10.x로 수를 붙이기로 결정을 하였다. 이러한 변화는 마리아DB가 조만간 MySQL 5.6에서 모든 특징들을 불러오지 않을 것이며(마리아DB의 표준에 안정성이 떨어진다고 판단하여 또는 자신만의 특징을 드러내기 위해), 이것은 마리아DB의 색깔을 더 분명히 하고자 함이다. 새로운 특징적 기능들이 개발되면, 새로운 번호가 필요하기 때문이다.
* MySQL과의 호환성
마리아DB는 MySQL과 소스코드를 같이 하므로 사용방법과 구조가 MySQL과 동일하다. 이름만 다르지 명령어나 사용방법 (5.5까지) 모두 MySQL과 동일하다. 편의를 위해 마리아DB는 동일한 MySQL 버전과 바이너리 드롭인 교체를 지원한다. 예를 들어, MySQL 5.1은 마리아DB 5.1과 5.2, 5.3과 호환된다. MySQL 5.5는 마리아DB 5.5와 호환되는 식이다. 이것은 다음과 같은 것을 의미한다.
. 데이터와 테이블 정의 파일(.frm) 파일이 바이너리 호환이 된다.
. 모든 클리이언트 API, 프로토콜 그리고 구조가 동일하다.
. 모든 파일이름과 바이너리, 경로, 포트, 소켓 그리고 기타 등등이 동일하다.
. 모든 MySQL 커넥터(PHP, Perl, 파이썬, 자바, .NET, MyODBC, Ruby, MySQL C 코넥터 등)가 마리아 DB와 동일하게 작동한다. PHP5에는 알아둬야할 약간의 설치 문제가 있다.
근본적인 차이점은 마리아DB는 GPL v2 라이선스를 따르는 순수한 오픈소스 프로젝트이기에 오라클로부터 자유롭다. 마리아DB의 모든 코드는 GPL, LGPL, LPGL, BSD의 라이선스로 만들어져 있다. 누구나 필요로 하면 커뮤니티를 통해 마리아DB를 내려받아 쓸 수 있다.