MySQL과 MariaDB는 둘 다 데이터 관리 및 조작을 위해 SQL(Structured Query Language)을 사용하는 오픈소스 관계형 데이트베이스 관리 시스템(RDBMS)이다.
1. MySQL과 MariaDB의 유사점
MySQL은 1995년 릴리스 된 관계형 데이터베이스 관리 시스템이다. 2009년에 개발자들은 MySQL 5.1.38의 코드 포크(fork)로 MariaDB를 릴리스했다.
MariaDB가 MySQL에서 포크 된 것처럼, 두 관계형 데이터베이스 관리 시스템에는 많은 유사점이 있다.
MariaDB는 MySQL의 포크된 코드이기 때문에 MySQL의 구조, 명명 규칙 및 데이터 정의 파일을 유지했다. 또한 모든 MySQL 커넥터, 연결 및 포트를 지원한다. MySQL 클라이언트 패키지는 변경 없이 MariaDB에서 작동한다.
(1) ACID 규정 준수
원자성, 일관성, 격리 및 내구성 (ACID)은 데이터베이스 트랜잭션의 신뢰성을 보장하는 4가지 핵심 원칙이다. MySQL과 MariaDB는 모두 이러한 원칙을 준수한다. 두 데이터베이스 모두 ACID를 준수하여 데이터의 정확성과 무결성을 유지한다.
(2) SQL 호환성
MySQL과 MariaDB는 데이터를 테이블 형식으로 구성하는 관계형 데이터베이스이다. 두 데이터베이스 모두 SQL을 사용하여 데이터를 관리하고 쿼리 한다.
(3) 오픈 소스 소프트웨어
오픈 소스 관계형 데이터베이스 관리 시스템인 MySQL과 MariaDB의 소스코드는 일반에 공개된다.
MySQL 데이터베이스에는 일반 공용 라이선스(GPL)에 따라 릴리스 된 완전 오픈 소스 버전이 하나 있고, 추가 기능 및 지원이 제공되는 유료 Enterprise 버전이 하나 있다. MariaDB는 GitHub에서 완전 오픈 소스로 제공된다.
(4) 보안
MySQL과 MariaDB는 유사한 기본 보안 기능을 제공한다. 암호화, 액세스 제어 메커니즘, 사용자 인증 및 권한 부여, SSL/TLS 지원을 제공한다. 또한 세분화된 액세스 제어가 가능하므로 사용자마다 다른 권한 수준을 부여할 수 있다.
2. MySQL과 MariaDB의 차이점
(1) JSON 데이터 처리
MariaDB와 MySQL은 JSON 데이터 검색 및 저장을 지원한다. 하지만 JSON 보고서를 서로 다른 방식으로 저장한다. MariaDB는 JSON 보고서를 문자열로 저장하고, MySQL은 JSON 보고서를 바이너리 객체로 저장한다.
(2) 기능
MySQL은 단일 열에 여러 데이터 값을 정의하고 함수를 사용하여 열을 수정할 수 있는 동적 열을 제공한다. 동적 열을 사용하면 데이터 마스킹을 통해 민감한 정보를 보호할 수 있다.
MariaDB는 데이터베이스 보기에서 보이지 않는 열을 지원한다. 사용자가 SELECT 문을 수행하거나 INSERT 문에서 값을 요청할 때는 보이지 않는 열이 나열되지 않는다.
(3) 사용자 인증
MySQL에는 validate_password 구성 요소가 있으며, 이 구성요소를 사용하여 암호 보안을 강화할 수 있다.
MariaDB에는 기본적으로 이 기능이 없지만, 3가지 검사기 플로그인을 제공한다. 이러한 암호 플러그인을 사용하여 암호에 대한 보호를 강화할 수 있다.
(4) 암호화
MySQL과 MariaDB는 모두 저장 데이터와 전송 중인 데이터를 암호화한다.
MySQL을 사용하면 관리자가 다시 실행 및 실행 취소 로그를 구성하고 암호화할 수 있지만,
MariaDB는 임시 테이블스페이스나 바이너리 로그는 암호화하지 않는다.
(5) 스레드 풀링
스레드 풀링은 데이터베이스가 새 연결을 기존 스레드와 페어링 하여 리소스를 최적화할 수 있도록 한다. 수천 명의 사용자들을 동시에 확장하고 서비스를 제공하려는 애플리케이션에는 높은 스레드 풀 용량이 필수적이다.
MariaDB의 경우 Community Edition의 일부인 스레드 풀 플러그인에 스레드 풀링이 포함되어 있다. 따라서 MariaDB는 한 번에 20만 개 이상의 연결을 관리할 수 있는 기능을 제공한다.
MySQL의 경우 Enterprise 버전에 스레드 풀 플러그인이 있다. 하지만 MariaDB만큼 많은 연결을 한 번에 처리할 수는 없다.
<현재 MariaDB의 장점>
- 동일 하드웨어 사양으로 MySQL보다 향상된 성능
- 좀 더 활성화된 커뮤니티
- 다양한 기능
- 다양한 스토리지 엔진
- 빠르고 투명한 보안패치 릴리즈
'Knowledge > 이론' 카테고리의 다른 글
소셜 로그인 구현 표준, OAuth란? (0) | 2024.03.21 |
---|---|
Polling / Long Polling / SSE / WebSocket 정리 (0) | 2024.03.20 |
데이터베이스 조인 (Join) (1) | 2024.03.12 |
정규화 & 비정규화 (0) | 2024.03.04 |
SQL 명령어 (0) | 2024.03.04 |