MariaDB와 MySQL은 모두 관계형 데이터베이스 관리 시스템(RDBMS)
실제로 MariaDB는 MySQL의 포크(fork)로 시작
포크는 기존 소스 코드를 복사하여 독립적으로 개발하는 것을 의미
MariaDB는 MySQL의 포크로 시작되었지만, 지속적인 개발과 업데이트로 인해 현재는 독립적인 데이터베이스 시스템으로 간주
MariaDB는 오픈 소스 프로젝트이며, 개발과 유지보수에 참여하는 개발자 커뮤니티가 있다.
MySQL 역시 오픈 소스이지만, 오라클이 소유하고 있다.
따라서 MariaDB는 커뮤니티 주도의 개발 방식을 채택하고 있으며, MySQL은 오라클의 상용 소프트웨어 제품으로 관리되고 있다.
MariaDB는 GNU 일반 공중 사용 허가서(GPL)를 기반으로 한 오픈 소스 라이선스를 사용한다.
MySQL은 이중 라이선스 모델을 사용하여 오픈 소스 버전과 상용 버전을 제공한다.
상용 버전은 추가 기능과 서비스를 제공하며, 상업적인 환경에서 사용할 수 있다.
MariaDB와 MySQL은 기능적으로 매우 유사
MariaDB는 MySQL의 대부분의 기능과 호환성을 유지하면서 일부 기능을 개선하고 새로운 기능을 추가했다.
따라서 기존 MySQL 사용자가 MariaDB로 전환하는 것은 비교적 쉽다.
MongoDB는 NoSQL 데이터베이스로 분류되며, 일반적인 RDBMS와 몇 가지 주요한 차이점이 있다.
RDBMS는 정형화된 데이터 모델을 사용하여 테이블과 관계로 구성된 데이터를 저장한다.
반면에 MongoDB는 유연한 문서 데이터 모델을 사용한다.
데이터는 JSON 형식의 문서로 저장되며, 필드와 값의 쌍으로 구성된다.
이는 비정형화된 데이터나 변동성이 높은 데이터를 저장하고 쿼리하는 데 유용하다.
RDBMS는 수직적 확장(Vertical Scaling)에 의존하여 단일 서버에서 성능을 향상시킨다.
MongoDB는 수평적 확장(Horizontal Scaling)을 강조하여 여러 서버에 데이터를 분산시킴으로써 대규모 데이터 처리에 유리하다.
RDBMS는 ACID (원자성, 일관성, 고립성, 지속성) 트랜잭션을 지원하여 데이터 일관성과 무결성을 보장한다.
MongoDB는 기본적으로 단일 문서 내의 트랜잭션만을 지원하며, 복수 문서 간의 트랜잭션은 지원하지 않는다.
RDBMS는 고정된 스키마를 가지고 있어 데이터 구조 변경이 어렵다.
MongoDB는 유연한 스키마를 가지고 있어 데이터 구조의 변화에 유연하게 대처할 수 있다.
MariaDB와 MySQL은 서로 밀접한 관계를 가지고 있지만, MariaDB는 독립적으로 개발되고 유지보수되는 오픈 소스 RDBMS이다.
MongoDB는 NoSQL 데이터베이스로, RDBMS와 몇 가지 중요한 차이점을 가지고 있다.
이러한 차이점은 데이터 모델, 확장성, 트랜잭션, 스키마 유연성 등의 측면에서 나타난다.