검수요청.png검수요청.png

마리아디비

위키원
이동: 둘러보기, 검색
마리아디비(MariaDB)
마리아디비(MariaDB)
몬티 와이드니어스(Micheal Monty Widenius)

마리아디비(MariaDB)는 기존의 마이에스큐엘(MySQL) 5 버전을 포크하여 만든, 오픈소스 기반의 관계형 데이터베이스 관리 시스템(RDBMS)이다. 마이에스큐엘(MySQL)을 개발했던 몬티 와이드니어스(Monty Widenius)가 개발했다. '마리아'(Maria)는 그의 둘째 딸 이름이며, 마리아 DB의 로고는 물개이다. '마리나 DB'가 아니라 '마리아 DB'가 올바른 표기법이다.

개요[편집]

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

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

역사[편집]

마리아디비(Maria DB)는 마이에스큐엘(My SQL)의 창업자 중 한명이자 핵심 개발자였던 몬티 와이드니어스는 마이에스큐엘 AB를 인수한 썬 마이크로시스템즈오라클에 인수되면서 개발지침 등에 의견차이가 생겼다. 2009년 썬을 떠나 몬티 프로그램 AB사를 설립하고 마리아디비 개발을 시작했다. 마리아는 마이에스큐엘과 마찬가지로 몬티 와으디니어스의 딸 이름에 따온 것이다. 마리아디비의 버전은 5.5 까지는 마이에스큐엘의 번호를 따랐다. 즉 마리아디비에서의 5.5버전은 마이에스큐엘에서의 5.5버전의 모든 특징을 가지고 있는 것이다. 5.5 이후에는 개발판을 10.X로 숫자를 붙이기로 했다. 이것은 마이에스큐엘과 다르게 마리아디비의 색을 더 분명히 하고자 함이다. 새로운 특징적 기능들이 개발되면, 새로운 번호가 필요하기 때문이다.

호환성[편집]

마이에스큐엘과의 호환성[편집]

마리아디비마이에스큐엘소스코드가 같아 사용방법과 구조가 동일하다. 명령어, 사용방법까지 버전 5.5까진 모두 마이에스큐엘과 동일하다. 편의를 위해 마리아 디비는 동일한 마이에스큐엘 버전과 바이너리 드롭인 교체를 지원한다.

  • 데이터와 테이블 정의 파일(.frm) 파일이 바이너리 호환이 된다.
  • 모든 클라이언트 API, 프로토콜 그리고 구조가 동일하다.
  • 모든 파일이름과 바이너리, 경로, 포트, 소켓 그리고 기타 등등이 동일하다.
  • 마이에스큐엘 커넥터가 마리아디비와 동일하게 작용한다.
  • 리눅스에서는 이러한 완전한 호환성으로 마리아디비에 대해 마이에스큐엘과 구별하기위해 mysqld로 mysql.server는 mysqld_safef로 각 각 대응되어 사용되도록 표현하기도 한다.

오라클 호환성 기능[편집]

오라클데이터베이스 제품은 아직도 업계에서 가장 널리 사용되지만 라이선스 비용과 계약상 제한 때문에 많은 사용자가 대체 제품으로 눈을 돌리고 있다. 이 과정에서 오라클을 기반으로 개발한 많은 애플리케이션이 오라클 PL/SQL 전용 기능과 구문을 많이 사용하는 것이 문제가 되기도 한다.

이에 따라 마리아DB는 지난 몇 개의 버전을 거치면서 오라클의 PL/SQL 언어 등 오라클 데이터베이스의 작동 방식을 모방하는 여러 새로운 기능을 도입했다. 이론적으로는 이를 통해 마리아DB에서 기존의 많은 PL/SQL 코드를 그대로 또는 약간의 수정을 거쳐 실행할 수 있다. 마리아DB 개발팀은 호환성 기능을 사용해 레거시 오라클 PL/SQL의 약 80%를 그대로 실행할 수 있다고 설명한다. 오라클 PL/SQL 모드를 사용하기 위한 마리아DB 명령은 클라이언트별로 적용되므로, 이 기능을 사용하기 위해 마리아DB의 작동방식 전체를 바꿀 필요가 없다.[2]

마이에스큐엘 대비 특징[편집]

시스템 버전 테이블[편집]

SQL 표준의 2011 버전에서 데이터베이스가 테이블 행의 버전을 추적할 수 있는 버전 테이블 기능이 추가됐다. 마리아DB는 버전 10.3.4에서 네이티브 기능으로 이 시스템 버전 테이블을 받아들였다. 마리아DB의 시스템 버전 테이블을 이용하면 주어진 임시 범위를 이용해 쿼리를 실행할 수 있고 제공된 결과는 해당 기간에 대해 표시된다. 또한 데이터 범위에 속하는 행을 수정 또는 삭제, 추적할 기간을 추가, 제거할 수 있고 애플리케이션 수준, 시스템 수준, 두 수준 모두에서 지정된 기간을 이용할 수 있다. 이론적으로 시간 값을 지원하는 모든 데이터베이스에서 이 기능을 사용할 수 있지만 스스로 적용하기는 어려운데 마리아DB가 이를 지원한다. 마리아DB에서는 어느 데이터베이스 엔진에 대해서나 시스템 버전 테이블을 지원한다. 단, 주어진 트랜잭션 중간에 레코드를 보여주는 트랜잭션 정밀 이력 등 기능은 이노DB 엔진에서만 사용할 수 있다.[2]

성능[편집]

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

더 많은 스토리지 엔진[편집]

표준화된 MyISAM, BLACKHOLE, CSV, MEMORY, ARCHIVE, 와 MERGE를 포함하여, 마리아디비 소스 와 바이너리 패키지는 다음과 같은 스토리지 엔진을 포함하고 있다.

  • Aria
  • XtraDB (InnoDB 의 대체)
  • FederatedX (Federated 의 대체)
  • OQGRAPH (In MariaDB 5.2, MariaDB 5.3 and MariaDB 10.0. Disabled in MariaDB 5.5 only.) — new in 5.2
  • SphinxSE — new in 5.2
  • IBMDB2I. Oracle은 MySQL 5.1.55 에서 이 코드를삭제했지만, MariaDB 는 5.5 버전까지 보존하고 있다.
  • TokuDB in MariaDB 5.5 와 MariaDB 10.0
  • Cassandra in MariaDB 10.0
  • MariaDB에 NoSQL 스토리지 엔진을 추가중에 있다.
  • CONNECT in MariaDB 10.0
  • SEQUENCE in MariaDB 10.0
  • Spider in MariaDB 10.0
  • ColumnStore, 데이터 웨어하우징에 최적화된 컬럼 기반의 스토리지 엔진[3]

기능[편집]

기존에 마이에스큐엘 엔터프라이즈에서 프롤그인으로 제공한 쓰레드풀 기능이 내장되었으며, 스토리지 엔진을 활용한 샤딩 기술을 제공한다. 즉, 마이에스큐엘의 오픈소스 버전을 넘어 모든 버전을 대체할 수 있는 특징들을 갖추고 있다.

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

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

연결 클라이언트[편집]

마리아디비마이에스큐엘을 위해 설계된 데이터베이스 연결 클라이언트를 사용할 수 있다. 대표적인 예는 다음과 같다.

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

애플리케이션[편집]

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

  • Drupal
  • Kajona
  • 미디어위키
  • phpMyAdmin
  • Plone
  • SaltOS
  • 워드프레스
  • Zend Framework
  • XpressEngine (설치시 지원)[1]

각주[편집]

  1. 1.0 1.1 1.2 마리아 디비〉, 《위키백과》
  2. 2.0 2.1 마리아DB의 신기능〉, 《ciokorea》-2019.06.28
  3. MariaDB 와 MySQL - 기능〉, 《마리아디비 공식 홈페이지》

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 마리아디비 문서는 데이터에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.