오늘은 RDBMS 중에서도 많이 사용되고 있는 mysql과 mariadb를 알아보려고 합니다.
이 둘은 서로 호환성도 좋지만, 성능적인 면에서 크게 차이가 있습니다. 우선 공통점부터 알아보겠습니다.
MySQL
- 세계에서 가장 많이 쓰이는 오픈 소스 관계형 데이터베이스 관리 시스템
- 다중 스레드. 다중 사용자, 구조질의어 형식의 데이터베이스 관리 시스템으로 Oracle이 관리 및 지원하고 있습니다.
- SQL이라고 칭하는 구조화된 쿼리 언어를 사용하여 데이터를 정의, 조작, 제어, 쿼리할 수 있습니다.
- 데이터가 하나 이상의 열과 행의 테이블에 저장되어 서로 다른 데이터 구조가 어떻게 관련되어 있는지 쉽게 파악할 수 있습니다.
- GUI를 통해 액세스할 수 있습니다.(MySQL Workbench)
MariaDB
- MySQL이 Oracle에 인수된 뒤, 불확실한 License 문제를 해결하려고 나온 오픈 소스 RDBMS
- MariaDB는 MySQL의 수정된 버전이고, MySQL이 Oracle Corporation에 인수된 후 라이선스 및 배포 문제로 인해 MySQL의 원래 개발 팀이 개발
- MySQL과 동일한 소스 코드를 기반으로 만들어졌으며, GPL v2 라이선스를 따릅니다.
- MySQL과 높은 호환성을 유지하기 위해 배포자는 몬티 프로그램(Monty Program AB)과 저작권을 공유해야 합니다.
공통점
- MySQL과 MariaDB는 모두 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
- 데이터베이스를 사용하여 형과 열이 있는 표 형식으로 데이터를 저장할 수 있습니다.
- 트랜잭션을 정의하는 4가지 속성인 ACID 규정을 준수합니다.
- MySQL, MariaDB 모두 SQL을 사용하여 데이터를 쿼리하고 관리합니다.
차이점
- MySQL과 MariaDB 모두 JSON 데이터의 검색 및 저장을 지원하지만, MariaDB는 JSON 보고서를 문자열로 저장하고 MySQL은 바이너리 객체 형식으로 저장합니다.(JSON 데이터 처리방식의 차이)
- MySQL은 super 읽기 전용 함수, 동적 열 및 데이터 마스킹을 지원하고, MariaDB는 데이터베이스 보기에서 보이지 않는 열을 지원합니다.(기능적 차이)
- MySQL과 MariaDB 모두 저장 데이터와 전송 중인 데이터를 암호화하는데, MySQL은 바이너리 로그 암호화와 임시 테이블 암호화를 지원하지 않습니다.(암호화 차이)
- MariaDB는 한 번에 20만 개 이상의 연결을 관리할 수 있는 스레드 플러그인이 있습니다. 하지만, MySQL은 MariaDB만큼 많은 연결을 한 번에 처리할 수 없습니다.
- MySQL은 PL/SQL 지원을 하지 않지만, MariaDB는 10.3 버전부터 PL/SQL을 지원합니다(Oracle DB와의 호환성 차이)
- MySQL 8.0은 MariaDB 10.3 버전보다 초당 더 많은 쿼리를 처리할 수 있었지만, MariaDB가 현재 더 초당 더 많은 쿼리 수행 속도 및 복제 작업 처리 속도가 빠릅니다.(속도 및 성능 차이)
오늘은 MySQL과 MariaDB의 공통점과 차이점에 대해 알아보았습니다.
<참고 자료>
https://cloud.google.com/mysql?hl=ko
https://ko.wikipedia.org/wiki/MariaDB
https://aws.amazon.com/ko/compare/the-difference-between-mariadb-vs-mysql/
'Database' 카테고리의 다른 글
[DB] DB 형상관리를 위한 Flyway 적용 (0) | 2025.01.07 |
---|---|
[DB] MySQL Replication, Garela Cluster (0) | 2023.09.21 |
[DB] Redis란 무엇인가? (0) | 2023.09.08 |