MariaDB 와 MySQL - 기능
See also MariaDB vs MySQL - Compatibility
더 많은 스토리지 엔진
표준화된 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에는 많은 옵티마이저의 향상이 있었음 드디어 서브 질의가 사용 가능해 졌다! 전체 목록과 MySQL는 여기. 벤치마크를 찾으려면 여기.
- 더 빠르고 안전한 복제: 바이너리 로그에 대한 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 데이터 처리에 메모리를 사용하고 디스크를 사용하지 않기 때문임
- 테스트 도구가 확장되었으며, 더 많은 항목들을 테스트함에도 더 빠르게 실행됨
확장성과 새로운 특징
우리는 많은 새로운 기능을 MariaDB에 추가했다. 만약 패치나 특징이 유용하거나 안전하고, 안정적이라면, — MariaDB에 그것을 포함하려는 모든 노력을 다할 것이다. 가장 눈여겨 봐야할 특징들은 다음과 같다:
- Microseconds in MariaDB — new in 5.3
- DECIMAL 형식에서 소숫점 이하 자리수 확대
30
to38
. — new in 10.2 - Microsecond Precision in Processlist
- Table 제거
- 가상 컬럼 — new in 5.2
- CHECK CONSTRAINT — new in 10.2
- DEFAULT expression, including
DEFAULT
forBLOB
andTEXT
. — new in 10.2 - 확장된 사용자 통계 — new in 5.2
- 사용자의 모든 질의 KILL — new in 5.3,
- KILL QUERY ID - 연결은 유지한 채 특정 질의를 종료 — new in 10.0.5,
- Pluggable Authentication — new in 5.2
- 스토리지-엔진-지정 CREATE TABLE — new in 5.2
- INFORMATION SCHEMA.PLUGINS 테이블 향상 — new in 5.2
- 바이너리 로그에 대한 그룹 커밋. 눈에 띄게 복제 속도 향상 — new in 5.3
mysqlbinlog 사용된 데이터베이스를 변경하는 옵션 추가 — new in 5.2--
rewrite-db- 진행률 보고 for
ALTER TABLE
andLOAD DATA INFILE
. — new in 5.3 - 더 빨라진 조인과 서브 질의. — new in 5.3
- HandlerSocket 과 더 빨라진 HANDLER 호출. — new in 5.3
- Dynamic Columns 지원. — new in 5.3
- GIS Functionality — new in 5.3
- 멀티 소스 복제. — new in 10.0
- Global Transaction ID. — new in 10.0
- SHOW EXPLAIN 다른 쓰레드에서 실행되는 질의에 대한 EXPLAIN 플랜 제공 — new in 10.0
- Roles. — new in 10.0
- PCRE 정규식 (including
REGEXP_REPLACE()
). — new in 10.0 - DELETE ... RETURNING. — new in 10.0
전체 목록을 보려면, 각 릴리즈별 특징을 참조
향상된 테스팅를 위한 조언
- 테스트 묶음에서 더 많은 테스트를 실행
- 버그는 테스트를 통해서만 발견할 수 있음
- 더 나은 기능을 테스트하기 위해 다른 설정 옵션으로 테스트를 실행
- 불필요한 테스트를 제거 (예를 들어, 테스트 하지 않은 기능 "X"를 테스트 하지 말 것)
더 줄어든 경고와 버그
- 버그는 나쁘다. 가능한 많은 버그를 해결하고, 새로운 버그를 안만들려고 노력했다.
- 컴파일러의 경고도 또한 나쁘다. 가능한 많은 컴파일러 경고를 제거했다.
진정한 오픈 소스
- MariaDB 내의 모든 코드는 GPL, LPGL 또는 BSD 하에서 배포된다.
- MaridDB 는 MySQL Enterprise Edition 과 같은 클로즈드 소스 모듈을 가지고 있지 않음. 그러나, MySQL 5.5 Enterprise Edition 클로즈드 소스 모듈에 포함된 모든 기능은 MariaDB 오픈 소스 버전에서도 발견할 수 있음
- MariaDB 클라이언트 라이브러리 (C, Java(JDBC), 윈도(ODBC)) 는 LGPL 하에서 릴리즈되며 클로즈드 소스 소프트웨어에 연결 가능함. 그러나, MySQL 클라이언트 라이브러리는 GPL 하에서 릴리즈되지만 다른 클로즈드 소스 소프트웨어에서의 연결을 허용하지 않음
- MariaDB 는 모든 해결된 버그들의 테스트 케이스를 포함하고 있음. Oracle 은 MySQL 에서 해결된 새로운 버그들의 테스트 케이스를 제공하지 않음.
- 모든 버그들 과 개발 계획 이 공개됨
- MariaDB 는 진정한 오픈 소스 정신을 지키는 개발자 커뮤니티에 의해 개발됨
관련 링크
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.