MariaDB

위키백과, 우리 모두의 백과사전.

MariaDB
개발자MariaDB 코퍼레이션 Ab, MariaDB 재단
발표일2009년 1월 22일
안정화 버전
11.3.2[1] 위키데이터에서 편집하기 / 2024년 2월 16일(2개월 전)(2024년 2월 16일)
저장소
프로그래밍 언어C, C++, , 배시
운영 체제크로스 플랫폼
플랫폼윈도우, 리눅스, 솔라리스
종류관계형 데이터베이스 관리 시스템
라이선스GPL (버전 2), LGPL
웹사이트https://mariadb.com/

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

마리아 DB의 주요 개발자는 MySQL과 몬티 프로그램 AB를 설립한 몬티 와이드니어스(Michael Monty Widenius)이다. 그는 이전에 자신의 회사, MySQL AB를 썬 마이크로시스템즈에 10억 달러에 판매를 한 적이 있으며, 마리아 DB는 그의 둘째 딸인 마리아의 이름을 딴 것이다.[6]

역사[편집]

버전 최초 출시일 마지막 버전 출시일 상태 수명 종료[7]
오래된 버전, 지원 중단: 5.1 2009년 10월 29일(14년 전)(2009-10-29)[8] 5.1.67 2013-01-30[9] Stable (GA) 오래된 버전, 지원 중단: Feb 2015
오래된 버전, 지원 중단: 5.2 2010년 4월 10일(14년 전)(2010-04-10)[10] 5.2.14 2013-01-30[11] Stable (GA) 오래된 버전, 지원 중단: Nov 2015
오래된 버전, 지원 중단: 5.3 2011년 7월 26일(12년 전)(2011-07-26)[12] 5.3.12 2013-01-30[13] Stable (GA) 오래된 버전, 지원 중단: Mar 2017
오래된 버전, 지원 중단: 5.5 2012년 2월 25일(12년 전)(2012-02-25)[14] 5.5.68 2020-05-12[15] Stable (GA) 오래된 버전, 지원 중단: Apr 2020
오래된 버전, 지원 중단: 10.0 2012년 11월 12일(11년 전)(2012-11-12)[16] 10.0.38 2019-01-31[17] Stable (GA) 오래된 버전, 지원 중단: Mar 2019
오래된 버전, 지원 중단: 10.1 2014년 6월 30일(9년 전)(2014-06-30)[18] 10.1.48 2020-11-04[19] Stable (GA) 오래된 버전, 지원 중단: Oct 2020
오래된 버전, 지원 중단: 10.2 2016년 4월 18일(8년 전)(2016-04-18)[20] 10.2.44 2022-05-20[21] Stable (GA) 오래된 버전, 지원 중단: May 2022
오래된 버전, 지원 중: 10.3 2017년 4월 16일(7년 전)(2017-04-16)[22] 10.3.38 2023-02-06[23] Stable (GA) 오래된 버전, 지원 중: May 2023
오래된 버전, 지원 중: 10.4 2018년 11월 9일(5년 전)(2018-11-09)[24] 10.4.28 2023-02-06[23] Stable (GA) 오래된 버전, 지원 중: Jun 2024
오래된 버전, 지원 중: 10.5 2019년 12월 3일(4년 전)(2019-12-03)[25] 10.5.19 2023-02-06[23] Stable (GA) 오래된 버전, 지원 중: Jun 2025
오래된 버전, 지원 중: 10.6 2021년 4월 26일(2년 전)(2021-04-26)[26] 10.6.12 2023-02-06[23] Stable (GA) 오래된 버전, 지원 중: Jul 2026
오래된 버전, 지원 중단: 10.7 2021년 9월 17일(2년 전)(2021-09-17)[27] 10.7.8 2023-02-06[23] Stable (GA) 오래된 버전, 지원 중단: Feb 2023
오래된 버전, 지원 중: 10.8 2021년 12월 22일(2년 전)(2021-12-22)[28] 10.8.7 2023-02-06[23] Stable (GA) 오래된 버전, 지원 중: May 2023
오래된 버전, 지원 중: 10.9 2022년 3월 23일(2년 전)(2022-03-23)[29] 10.9.5 2023-02-06[23] Stable (GA) 오래된 버전, 지원 중: Aug 2023
오래된 버전, 지원 중: 10.10 2022년 6월 23일(21개월 전)(2022-06-23)[30] 10.10.3 2023-02-06[23] Stable (GA) 오래된 버전, 지원 중: Nov 2023
현재 안정화 버전: 10.11 2022년 9월 26일(18개월 전)(2022-09-26)[31] 10.11.2 2023-02-16[32] Stable (GA) 현재 안정화 버전: Feb 2028
배포 예정인 버전의 미리보기 버전: 11.0 2022년 12월 27일(15개월 전)(2022-12-27)[33] 11.0.1 2023-02-22[34] Release Candidate TBC
배포 예정인 버전의 미리보기 버전: 11.1 2023년 3월 27일(12개월 전)(2023-03-27)[35] 11.1.0 2023-02-22[36] Alpha TBC
범례:
오래된 버전
오래된 버전, 지원 중
최신 버전
최신 미리보기 버전
배포 예정

MySQL의 창업자 중 한 명이자 핵심 개발자였던 몬티 와이드니어스MySQL AB를 인수한 썬 마이크로시스템즈오라클에 인수되면서 개발지침 등에 대한 의견 차이가 생겼다. 그는 그의 입장을 다음과 같이 이야기했다.[37]

아마도 InnoDB 스토리지 엔진을 제외한 MySQL에 있는 기능 대부분은 썬 마이크로시스템즈 때 있었던 기능들입니다. 오라클 인수 후 MySQL은 발전하지 않았습니다. 오라클은 ‘MySQL을 어떻게 하면 자신들의 소유로 할 수 있을까’만 고민했고, 그래서 회사를 나왔습니다.

2009년 동료 몇 명과 함께 썬을 떠나 Monty Program AB사를 설립하고 MariaDB 개발을 시작했다. Maria는 MySQL과 마찬가지로 몬티 와이드니어스의 딸 이름에서 따왔다.[38]

마리아DB의 버전은 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의 색깔을 더 분명히 하고자 함이다. 새로운 특징적 기능들이 개발되면, 새로운 번호가 필요하기 때문이다.[39][40]

특징[편집]

MySQL과의 호환성[편집]

마리아DB는 MySQL과 소스코드를 같이 하므로 사용방법과 구조가 MySQL과 동일하다.[41] 이름만 다르지 명령어나 사용방법 (5.5까지) 모두 MySQL과 동일하다. 편의를 위해 마리아DB는 동일한 MySQL 버전과 바이너리 드롭인 교체를 지원한다. 예를 들어, MySQL 5.1은 마리아DB 5.1과 5.2, 5.3과 호환된다. MySQL 5.5는 마리아DB 5.5와 호환되는 식이다. 이것은 다음과 같은 것을 의미한다.[42]

  • 데이터와 테이블 정의 파일(.frm) 파일이 바이너리 호환이 된다.
  • 모든 클라이언트 API, 프로토콜 그리고 구조가 동일하다.
  • 모든 파일이름과 바이너리, 경로, 포트, 소켓 그리고 기타 등등이 동일하다.
  • 모든 MySQL 커넥터(PHP, Perl, 파이썬, 자바, .NET, MyODBC, Ruby, MySQL C 코넥터 등)가 마리아 DB와 동일하게 작동한다. PHP5에는 알아둬야할 약간의 설치 문제 가 있다.

근본적인 차이점은 마리아DB는 GPL v2 라이선스를 따르는 순수한 오픈소스 프로젝트이기에 오라클로부터 자유롭다. 마리아DB의 모든 코드는 GPL, LGPL, LPGL, BSD의 라이선스로 만들어져 있다. 누구나 필요로 하면 커뮤니티를 통해 마리아DB를 내려받아 쓸 수 있다.[37]

  • 리눅스에서는 이러한 완전한 호환성으로 인해 에 대해서 mysql과 구별하기 위해로 mysql.server는mysqld_safef로 각 각 대응되어 사용되도록 표현하기도 한다.

성능[편집]

마리아DB 커뮤니티는 MySQL과 비교해 애플리케이션 부분 속도가 약 4~5천배 정도 빠르며, MySQL이 가지고 있는 모든 제품의 기능을 완벽히 구현하면서도 성능 면에서는 최고 70%의 향상을 보이고 있다고 주장한다.[37]

기능[편집]

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

  • 가상 컬럼 - 5.2에서 추가
  • Table 제거 - 5.2에서 추가
  • 스토리지 엔진 지정 CREATE TABLE - 5.2에서 추가
  • GIS 기능 지원 - 5.3 이상
  • 멀티 소스 리플리케이션 - 10.3 이상
  • SHOW EXPLAIN - 다른 쓰레드에서 작동되는 EXPLAIN 플랜 제시

엔진[편집]

MariaDB는 원칙적으로 MySQL과 거의 동일한 데이터베이스 엔진(스토리지 엔진)에 대응하고 있다. 해당 데이터베이스 엔진은 다음과 같다.

  • Aria - MyISAM 파생 엔진 대체용 (이전 명칭은 Maria) 123
  • XtraDB - 오라클 InnoDB를 대체하기 위해 만든 InnoDB 파생 포크
  • FederatedX - MySQL Federated 파생 엔진, 트랜잭션 제공
  • OQGRAPH - 버전 5.2 이상에서 지원
  • SphinxSE - 버전 5.2 이상에서 지원, Full-Text Searching이 필요할 때 사용할 수 있는 스토리지 엔진
  • IBMDB21 - 오라클은 이것을 MySQL 5.1.55에서 제거했지만, 마리아DB에서는 5.5까지 유지
  • Cassandra - 10.0에서 포함. 기타 비 sql 저장 엔진을 끌어들이려는 시도
  • PBXT - 트랜잭션 제공, 5.5부터는 더 이상 유지보수를 제공하지 않음. 기본 스토리지 엔진에서 제외
  • TokuDB - MariaDB에서 Load해야지 쓸 수 있습니다. 장점은 다른 엔진보다 압축률이 높습니다.

제3자 소프트웨어[편집]

연결 클라이언트[편집]

MariaDB는 MySQL을 위해 설계된 데이터베이스 연결 클라이언트를 사용할 수 있다. 대표적인 예는 다음과 같다.

  • DBEdit 2 오픈 소스 데이터베이스 연결 클라이언트
  • SQLyog 윈도, 리눅스 상의 데이터베이스 관리 애플리케이션
  • Navicat 독점 데이터베이스 연결 클라이언트
  • MonYog 그리고 SQLYog - 그래픽 데이터베이스 관리자와 모니터 & 어드바이저
  • HeidiSQL - 윈도 상의 MySQL용 자유 그리고 공개 소스 클라이언트. 마리아DB 5.2.7판부터 윈도 MSI 패키지를 통해 지원[43][44]

API[편집]

  • node-mariasql 마리아DB의 비블러킹 운영을 수행하는 node.js용 API

SQL 라이브러리[편집]

애플리케이션[편집]

아래의 애플리케이션들은 마리아DB를 공식적으로 지원하는 것들이다.[45]

주요 사용자[편집]

  • 위키백과는 2012년 12월 MySQL에서 MariaDB로의 전환을 발표했다.[46]
  • 페도라 역시 전환을 검토하고 있다.[47]
  • 구글도 2013년 9월 MySQL에서 MariaDB로 전환을 발표했다.[48]
  • 카카오톡은 2013년 MySQL에서 마리아DB 5.5로 전환하였다.[49]

같이 보기[편집]

각주[편집]

  1. “MariaDB 11.3.2 Release Notes”. 
  2. Contributing Code Archived 2013년 3월 16일 - 웨이백 머신, AskMonty Knowledgebase
  3. MariaDB versus MySQL - Compatibility Archived 2013년 5월 26일 - 웨이백 머신, AskMonty KnowledgeBase
  4. About XtraDB Archived 2013년 7월 8일 - 웨이백 머신, AskMonty KnowledgeBase
  5. Aria FAQ Archived 2013년 6월 16일 - 웨이백 머신, AskMonty KnowledgeBase
  6. Why is the project called MariaDB? Archived 2013년 6월 4일 - 웨이백 머신, AskMonty KnowledgeBase
  7. “Maintenance Policy”. 2019년 8월 8일에 확인함. 
  8. “MariaDB 5.1.38 Release Notes”. 2015년 9월 21일에 확인함. 
  9. “MariaDB 5.1.67 Release Notes”. 2015년 9월 21일에 확인함. 
  10. “MariaDB 5.2.0 Release Notes”. 2015년 9월 21일에 확인함. 
  11. “MariaDB 5.2.14 Release Notes”. 2015년 9월 21일에 확인함. 
  12. “MariaDB 5.3.0 Release Notes”. 2015년 9월 21일에 확인함. 
  13. “MariaDB 5.3.12 Release Notes”. 2015년 9월 21일에 확인함. 
  14. “MariaDB 5.5.20 Release Notes”. 2015년 9월 21일에 확인함. 
  15. “MariaDB 10.4.13, 10.3.23, 10.2.32, 10.1.45 and 5.5.68 now available”. 《mariadb.org》. 2020년 5월 13일. 
  16. “MariaDB 10.0.0 Release Notes”. 2015년 9월 21일에 확인함. 
  17. “MariaDB 10.0.38, MariaDB Connector/J 2.4.0 and MariaDB Connector/Node.js 2.0.3 now available”. February 2019. 2019년 2월 1일에 확인함. 
  18. “MariaDB 10.1.0 Release Notes”. 2015년 9월 21일에 확인함. 
  19. “MariaDB 10.5.7, 10.4.16, 10.3.26, 10.2.35 and 10.1.48 now available”. 《mariadb.org》. 2020년 11월 4일. 2020년 11월 4일에 확인함. 
  20. “MariaDB 10.2.0 Release Notes”. 2016년 9월 28일에 확인함. 
  21. “MariaDB 10.9.1, 10.8.3, 10.7.4, 10.6.8, 10.5.16, 10.4.25, 10.3.35 and 10.2.44 now available”. 《mariadb.org》. 2022년 5월 21일. 2022년 5월 23일에 확인함. 
  22. “MariaDB 10.3.0 Release Notes”. 2017년 4월 23일에 확인함. 
  23. “MariaDB 10.10.3, 10.9.5, 10.8.7, 10.7.8, 10.6.12, 10.5.19, 10.4.28 and 10.3.38 now available”. 《mariadb.org》. 2023년 2월 6일. 2023년 3월 20일에 확인함. 
  24. “MariaDB 10.4.0 Release Notes”. 2018년 11월 15일에 확인함. 
  25. “MariaDB 10.5.0 Release Notes”. 2019년 8월 8일에 확인함. 
  26. “MariaDB 10.6.0 now available”. 2021년 4월 26일. 2021년 4월 26일에 확인함. 
  27. “10.7.0 Comes As Preview Releases”. 2021년 9월 17일. 2021년 9월 17일에 확인함. 
  28. “MariaDB 10.8.0 preview releases now available”. 2021년 12월 22일. 2022년 2월 14일에 확인함. 
  29. “MariaDB 10.9.0 preview releases now available”. 2022년 3월 23일. 2022년 5월 23일에 확인함. 
  30. “MariaDB 10.10.0 preview releases now available”. 2022년 6월 23일. 2022년 6월 23일에 확인함. 
  31. “MariaDB 10.10.0 preview release now available”. 2022년 9월 26일. 2022년 9월 26일에 확인함. 
  32. “MariaDB 10.11.2 GA now available”. 2023년 2월 16일. 2023년 2월 23일에 확인함. 
  33. “MariaDB 11.0 – new optimizer, new major version series”. 2022년 12월 27일. 2022년 12월 27일에 확인함. 
  34. “MariaDB 11.0.1 RC (Short Term Support) now available”. 2023년 2월 22일. 2023년 2월 23일에 확인함. 
  35. “MariaDB 11.0 – new optimizer, new major version series”. 2022년 12월 27일. 2022년 12월 27일에 확인함. 
  36. “MariaDB 11.1.0 preview release now available”. 2023년 3월 27일. 2023년 3월 27일에 확인함. 
  37. MySQL 개발자 “오라클, 잘못 가고 있다” Archived 2013년 2월 7일 - 웨이백 머신, 블로터닷넷, 2013년 2월 3일, 이지영 기자
  38. MySQL의 여동생, MariaDB와 친구되기 Archived 2018년 6월 23일 - 웨이백 머신, 한국데이터베이스진흥원
  39. Explanation on MariaDB 10.0, 2012년 8월 13일, rasmus
  40. 현재의 MariaDB와 MySQL 5.6 사이엔 뭐가 나올까?, 2012년 5월 28일
  41. MariaDB versus MySQL - 특징 Archived 2013년 5월 1일 - 웨이백 머신, 2013년 4월 9일 확인
  42. MariaDB versus MySQL - 호환성 Archived 2013년 5월 26일 - 웨이백 머신, 2013년 4월 8일 확인
  43. MariaDB 5.2.7 shipped with HeidiSQL
  44. MariaDB 5.2.7 released! Archived 2011년 10월 20일 - 웨이백 머신, Monty Program Group Blog
  45. “보관된 사본”. 2013년 6월 6일에 원본 문서에서 보존된 문서. 2013년 4월 8일에 확인함. 
  46. 위키피디아, 마이SQL 걷어낸다, ZDNet Korea
  47. 레드햇, 위키피디아 이어 마이SQL 버리나, ZDNet Korea
  48. Google swaps out MySQL, moves to MariaDB, The Register
  49. https://news.v.daum.net/v/20130904114110569

외부 링크[편집]