MariaDB(마리아DB)는 오픈 소스 관계형 데이터베이스(RDBMS)이다. 대표적인 오픈 소스 관계형 데이터베이스로는 MySQL이 있는데, MariaDB는 MySQL의 포크(Fork)버전이다.
이러한 점 때문에 MySQL과 완벽하게 호환이 가능하며, MySQL에서 사용하는 라이브러리와 API를 그대로 사용가능하다.
MariaDB는 C 및 C++로 작성되었으며, Java, C, C++, Python 등 여러 언어와 Window, Linux 및 MacOS 등 여러 운영체제를 지원합니다.
MariaDB는 공동 창립자인 미카엘 “몬티” 비데니우스(Michael "Monty" Widenius)의 딸 이름에서 따왔습니다. 현재 Oracle이 상표 등록을 한 MySQL는 첫째 딸 이름 My에서, MariaDB는 둘째 딸 Maria의 이름에서 따왔습니다. MariaDB라는 이름은 원래 Aria로 이름이 변경된 스토리지 엔진에 사용되었습니다.
MariaDB는 MySQL과 동일한 기능을 제공하며, MySQL 데이터베이스 서버를 직접 대체할 수 있습니다. MySQL을 제거한 후 아무런 변경 없이 MariaDB를 설치하면 된다는 의미입니다. 속도, 안정성 및 사용 편의성을 위해 설계된 MariaDB는 소규모 작업과 엔터프라이즈 처리 작업 모두에 사용할 수 있습니다.
- 트랜잭션 처리
MariaDB는 빈번한 쿼리 지원, 빠른 응답 시간 및 소량의 데이터 처리 기능이 필요한 엔터프라이즈 트랜잭션 애플리케이션에 적합합니다. InnoDB 스토리지 엔진은 ACID 호환 트랜잭션을 지원하고 각 트랜잭션이 단일 단위로 처리되도록 합니다.
- 웹 애플리케이션
MariaDB는 웹 애플리케이션과 이커머스 플랫폼에서 원활히 작동하며, 멀티스레딩 메커니즘을 통해 다른 데이터베이스 시스템보다 높은 로드를 처리할 수 있습니다. 멀티스레딩 모델과 높은 성능 덕분에 MariaDB는 확장이 가능해 애플리케이션이나 사이트의 트래픽 급증이나 급속한 비즈니스 성장을 지원할 수 있습니다.
MariaDB는 MySQL의 많은 기능을 유지하면서, MySQL 대비 다음과 같은 몇 가지 강력한 기능이 내장되어 있으며 더 높은 성능을 제공합니다.
라이선스 모델: MariaDB와 MySQL은 모두 GPLv2로 제공되는 커뮤니티 에디션과 함께 오픈 소스 데이터베이스로 사용할 수 있습니다. MariaDB의 커뮤니티 에디션은 모든 기능을 갖춘 패키지를 제공하지만, MySQL은 엔터프라이즈 에디션에서만 스레드 풀링과 같은 일부 기능을 제공합니다.
성능: MariaDB는 뷰를 쿼리하고 플래시 스토리지를 처리할 때 MySQL보다 높은 성능을 제공합니다. MySQL은 뷰에 연결된 모든 테이블을 쿼리합니다. MariaDB는 쿼리에 필요한 테이블만 쿼리하여 프로세스를 최적화합니다. MariaDB는 또한 플래시 스토리지에서 더 나은 성능을 발휘하도록 설계된 MyRocks 스토리지 엔진과 RocksDB를 제공합니다.
멀티스레딩: MariaDB의 스레드 풀링 기능은 최대 20만개의 동시 연결을 처리할 수 있습니다. 이 기능은 MySQL 엔터프라이즈 에디션에서만 사용할 수 있습니다.
더 많은 스토리지 엔진: MariaDB는 Aria, Connect, Sharding용 Spider, 빅데이터 처리용 TokuDB 등 MySQL보다 더 많은 스토리지 엔진과 플러그인을 함께 제공합니다.
MariaDB와 MySQL은 모두 강력하며 각자 장단점이 있습니다. 조직의 비즈니스 요구 사항을 충족하는 쪽을 선택하는 것이 가장 좋습니다. MySQL은 오랫동안 사용돼 왔으며 더 많은 리소스가 나와 있고 대규모 조직이 지원합니다. 이 때문에 더 빠른 버그 수정과 새로운 기능 출시가 가능합니다.
반면 MariaDB는 커뮤니티 지원에 의존하지만, 더 빠른 성능과 더 많은 스토리지 엔진을 제공하여 다양한 유형의 데이터를 저장할 수 있습니다. MariaDB는 MySQL과 유사하기 때문에 직접적인 대체가 가능하며, 추가 기능을 활용할 수 있습니다.
MariaDB, MySQL 차이점
- MariaDB 12개의 새로운 스토리지 엔진이 있는 반면 MySQL 스토리지 엔진이 적습니다.
- MariaDB 최대 200,000개 이상의 연결을 지원하는 더 큰 연결 풀이 있는 반면 MySQL 연결 풀이 더 작습니다.
- MariaDB vs MySQL 성능, 에서 MariaDB에서는 복제가 더 빠르지만 MySQL, 복제 속도가 느려집니다.
- MariaDB 오픈 소스인 반면 MySQL Enterprise Edition에서 일부 독점 코드를 사용합니다.
- MariaDB 데이터 마스킹 및 동적 열을 지원하지 않습니다. MySQL 그것을 지원합니다.
- MariaDB or MySQL, 비교적 MariaDB 보다 빠릅니다 MySQL.
터미널에서 해당 코드를 입력하여 MariaDB 설치를 한다.
$ brew install mariadb
MariaDB를 실행시키는 코드
$ brew services start mariadb or $ mysql.server start
서버를 실행 후, mariadb를 실행한다$ mariadb
접속 후 데이터베이스 확인을 한다.
show databases
mysql을 사용하여 사용자 계정들을 확인한다.use mysql; select host, user, password from user;
Password에 invalid라고 적혀 있으면 비밀번호가 셋팅이 안되어있기 때문에 비밀번호 설정을 해준다.
SET PASSWORD FOR 'root@localhost' = PASSWORD('mariadb');
비밀번호 변경을 하면 root 계정 설정이 완료되었습니다.
create database mariadb_test;
먼저 생성한 데이터베이스로 전환 후, 테이블을 생성한다
use mariadb_test;
create table person(name varchar(20), age integer);
show tables;
exit;
or
\q
출처 : https://www.purestorage.com/kr/knowledge/what-is-mariadb.html
https://pso62.tistory.com/entry/MariaDB%EB%9E%80-%EC%9E%A5%EC%A0%90%EA%B3%BC-%EB%8B%A8%EC%A0%90
https://www.guru99.com/ko/mariadb-vs-mysql.html