[오픈소스 DBMS] MariaDB – 오픈 소스의 관계형 데이터베이스 관리 시스템

[오픈소스] MariaDB – 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)

웹개발 프로젝트에서 상용 SW인 오라클, MS-SQL을 대체하여 사용하는 웹오픈소스 RDBMS  도입시 고려하는 S/W  를 소개합니다.

MariaDB 는 MySQL 의 발전된 형태의 대체제로써, MySQL과 동일한 소스 코드를 기반으로 하며 GPL v2 라이센스로 유지되고 있고, MariaDB 커뮤니티 와 MariaDB 재단이 주축이 되어 개발되고 있다.

MY SQL과의 호환성

MariaDB 는 현재까지 최신의 MaySQL 과 같은 브랜치로부터 릴리즈되며, 대개의 경우 MySQL과 마찬가지로 동작한다.
MySQL의 모든 명령어, 인터페이스, 라이브러리와 API 가 MariaDB 에도 존재한다. 또한 MariaDB 로 데이터베이스를 변환할 필요도 없다.
즉, MariaDB 는 사실상 MySQL 의 완벽한 대체제라고 말할 수 있다!

마리아DB는 MySQL과 소스코드를 같이 하므로 사용방법과 구조가 MySQL과 동일하다.

이름만 다르지 명령어나 사용방법 (5.5까지) 모두 MySQL과 동일하다. 편의를 위해 마리아DB는 동일한 MySQL 버전과 바이너리 드롭인 교체를 지원한다. 

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

근본적인 차이점은 마리아DB는 GPL v2 라이선스를 따르는 순수한 오픈소스 프로젝트이기에 오라클로부터 자유롭다.

 

▶ 스토리지 엔진

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

  • 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, 데이터 웨어하우징에 최적화된 컬럼 기반의 스토리지 엔진

▶ 속도개선

  • MariaDB 5.3에는 많은 옵티마이저의 향상이 있었으며,  서브 질의가 사용 가능
  • 더 빠르고 안전한 복제: 바이너리 로그에 대한 Group 커밋
    – 이것은 복제와 많은 업데이트를 이용한 설치 작업을 2배 이상 빠르게 해줌
  • 병렬 복제. — new in 10.0
  • 윈도 상의 Innodb 비동기 IO 서브시스템에 대한 개선 .
  • MEMORY(HEAP) 엔진용 인덱스가 더 빨라짐
    – 간단한 테스트에 의하면, INSERT 문의 성능은 integer용 인덱스에 24% 이상 빨라졌으며, CHAR(20) 컬럼 상의 인덱스는 60% 이상 빨라짐
  • 세그먼크된 키 캐쉬 for MyISAM. MyISAM 에 대해 4x 성능 개선 가능. — new in 5.2
  • 조절 가능한 해시 크기 for MyISAM 와 Aria. 이를 통해 MyISAM/Aria 테이블을 지연된 키와 함께 사용할 경우 셧 다운 타임이 비약적으로 개선됨 (몇 시간에서 몇 분으로). — new in 10.0.13
  • CHECKSUM TABLE 더 빨라짐
  • 문자 셋 변환의 성능 개선 (불필요한 변환은 제거)
    – 전반적으로 1-5% 성능 향상 (sql-bench에 따르면), 0x00-0x7f 사이의 문자들로 이루어진 큰 결과 셋에 대해서는 더 큰 성능 향상을 보임
  • MariaDB 5.1 에서의 쓰레드 풀 과 MariaDB 5.5 에서의 성능 향상
    – 이를 통해 MariaDB는 20만 이상의 동시 연결과 눈에 띄는 성능 개선을 지원함
  • MariaDB 로의 클라이언트 연결시 속도의 많은 향상
    – 특히 MariaDB 10.1 과 MariaDB 10.2 에 적용됨
  • DBUG 코드를 개선
    – 디버그를 컴파일하지만 사용하지 않음으로써 속도를 향상시킴.
  • Aria 스토리지 엔진 사용을 통한 복잡한 질의 (보통 디스크에 임시 테이블을 사용하는 질의) 를 더 빠르게 실행할 수 있음
    – 이는 Aria 스토리지 엔진을 내부 임시 테이블 용도로 사용하는데, 복잡한 SELECT 문의 실행 속도를 높여줌. Aria 는 임시 테이블 처리에서 MyISAM 과 비교하여 더 빠른데, 이는 Aria가 row 데이터 처리에 메모리를 사용하고 디스크를 사용하지 않기 때문임
  • 테스트 도구가 확장되었으며, 더 많은 항목들을 테스트함에도 더 빠르게 실행됨

▶ 오픈소스 다운로드  (Source, Binaries, and Packages)

URL: MariaDb 다운로드 클릭하세요

URL: MariaDB – Korean 홈페이지 클릭하세요