본문 바로가기
Data Analysis/SQL

[SQL]. 25 Maria DB 와 Mysql은 어떤 부분이 다른가 ?

by Hagrid 2023. 5. 7.
반응형

1. Maria db와 MySQL은 뭐가 다른가요 ?

  1. MariaDB와 MySQL은 모두 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
  2. MySQL은 1995년에 개발되었습니다.
    1. 초기 MySQL 버전은 오픈 소스로 개발되었지만, 2008년 이후로 Sun Microsystems와 Oracle Corporation이 소유하고 있습니다.
  3.  MariaDB는 MySQL의 원래 개발자 중 한 명인 Michael Widenius가 MySQL의 구 버전에서 포크(fork)하여 개발한 데이터베이스입니다.
    1. 즉, MySQL을 기반으로 합니다. 
  4. MariaDB는 MySQL과 유사하지만, 일부 기능이 다릅니다.  MariaDB는 MySQL에서 발전된 부분을 포함하여 여러 가지 기능을 추가하고, 기존 기능을 개선하였습니다. 
    1. 예를 들어, MariaDB는 MySQL과 달리 여러 개의 기본 저장 엔진을 제공하며, InnoDB 저장 엔진의 성능을 개선하였습니다.
    2. 예를 들어, MariaDB는 MySQL과 달리 JSON 데이터 유형을 지원하며, 병렬 복제(parallel replication)와 Galera 클러스터링을 지원합니다.
  5. 대부분의 경우 MariaDB와 MySQL은 상호 호환성이 있어서, 기존 MySQL 애플리케이션을 MariaDB로 전환하는 것이 비교적 간단합니다. 그러므로, 선택적으로 사용하는 것이 가능합니다.
    1. MariaDB는 MySQL과 동일한 클라이언트 및 API를 사용하며, SQL 구문도 거의 동일합니다.
  6. MariaDB의 장점 (비교적)
    1. MySQL과 호환성이 높지만, MySQL에 없는 일부 고급 기능을 제공합니다. 예를 들어, MariaDB는 기본으로 Galera 클러스터링을 지원하므로, 고 가용성(high availability) 및 확장성(scability)을 높일 수 있습니다.
      1. Galera 클러스터링은 여러 대의 서버를 하나의 논리적 데이터베이스로 묶어서 사용하는 기술입니다.
        1. MariaDB에서 Galera 클러스터링을 사용하면, 여러 대의 서버를 마치 하나의 큰 서버처럼 사용할 수 있습니다. 이를 통해, 데이터베이스 서버의 고가용성(high availability)과 확장성(scalability)을 높일 수 있습니다.
          1. 고 가용성은(high availability) 서버나 네트워크 장애 등에 대처하여 시스템이 계속해서 가용 상태를 유지할 수 있는 능력을 말합니다.
            Galera 클러스터링은 여러 대의 서버를 하나의 논리적 데이터베이스로 묶어서 사용하므로, 하나의 서버가 다운되어도 데이터베이스 서비스가 중단되지 않습니다. 이를 통해, 고가용성을 확보할 수 있습니다.
          2. 확장성(scalability)은 서버의 성능을 유연하게 조절하여 시스템을 확장할 수 있는 능력을 말합니다. Galera 클러스터링은 여러 대의 서버를 사용하기 때문에, 데이터베이스 서버의 처리 능력을 필요에 따라 확장할 수 있습니다. 이를 통해, 데이터베이스 서버의 확장성을 높일 수 있습니다.
    2. MySQL의 커뮤니티 버전과 비교하여 더 빠른 성능을 제공하는 경우가 있습니다. 마리아디비는 MySQL의 개선된 쿼리 옵티마이저와 인덱스 알고리즘, 그리고 InnoDB 스토리지 엔진을 개선하였기 때문입니다.
    3. 마리아디비는 GPL 라이선스를 사용하며, MySQL의 사용 조건이 변하거나 라이선스 비용이 발생하는 경우에도 마리아디비를 무료로 사용할 수 있습니다.
    4. MariaDB의 가장 큰 특징이자 가장 큰 장점은 그 속도와 성능입니다.
      1. 쿼리 또는 복제 작업을 수행할 때, MariaDB는 MySQL보다 더 빠릅니다. 따라서 고성능 관계형 데이터베이스 솔루션을 필요로 할 경우, MariaDB는 좋은 선택입니다.
      2. 또한, MariaDB는 고도의 동시 접속 수를 지원하면서도 성능 저하가 거의 없습니다. 따라서 다수의 데이터 소스가 있는 경우, 이는 MariaDB를 MySQL보다 선호하는 또 다른 이유가 될 수 있습니다.
  7. MySQL도 여전히 널리 사용되고 있으며, Oracle Corporation은 MySQL에 대한 지속적인 지원을 제공하고 있습니다.
    1. 또한, MySQL은 Oracle Corporation이 소유하고 개발 및 유지보수를 하고 있습니다. Oracle Corporation은 긴 역사와 함께 다양한 기술 지원 서비스를 제공하고 있어, MySQL을 사용하는 조직에서는 Oracle Corporation의 기술 지원 서비스를 선호하는 경우가 있습니다.
    2. 또한, MySQL은 Oracle Corporation의 기술력과 전문성을 활용하여 개발되고 있습니다. 이는 MySQL의 안정성, 보안성, 성능, 확장성 등의 측면에서 매우 중요합니다. Oracle Corporation은 MySQL 개발팀과 협력하여 MySQL의 향후 버전을 개발하고, MySQL의 안정성과 기능을 개선하는 데 지속적으로 투자하고 있습니다. Oracle Corporation이 MySQL의 개발과 유지보수를 지속하고 있기 때문에, 일부 개발자나 조직에서는 Oracle의 기술 지원 서비스와 MySQL의 안정성과 신뢰성을 더 중요하게 생각할 수 있습니다.
    3. MySQL의 가장 큰 장점 중 하나는 오랜 시간동안 시장에서 존재해 왔다는 것입니다.
      1. 인기 있는 데이터베이스 솔루션 중 가장 오래된 것 중 하나이므로, 개발자와 데이터베이스 관리자들이 문제에 대한 답변을 찾거나 버그를 수정할 수 있는 다양한 커뮤니티 리소스가 있습니다. MySQL 지원 서비스를 지불하지 않더라도, 많은 데이터베이스 관리자들이 이미 알고 있는 데이터베이스 솔루션이므로, 데이터베이스 팀이 이미 있다면 학습과 구현이 쉬울 수 있습니다.
    4. 결국, MySQL과 MariaDB는 모두 오픈 소스 RDBMS이므로, 개발자나 조직이 필요에 따라 선택할 수 있습니다.

2. 가격은요 ?

  1. MySQL은 무료로 사용 가능한 커뮤니티 버전과, 유료로 이용 가능한 상용 버전으로 나뉘어져 있습니다.
    1. 커뮤니티 버전은 MySQL의 서버, 클라이언트 프로그램, 라이브러리 등 모든 구성 요소가 GPL (General Public License) 라이센스를 따르며, 누구나 무료로 사용하고 수정할 수 있습니다. 이러한 GPL 라이센스는 오픈 소스 라이센스 중 하나로, 소프트웨어의 사용, 복사, 수정, 배포 등을 자유롭게 할 수 있도록 규정하고 있습니다.
    2. 반면에 상용 버전은 MySQL Enterprise Edition이라고도 불리며, 상용 라이선스를 따르므로 라이선스 비용을 지불해야만 사용할 수 있습니다. MySQL Enterprise Edition은 MySQL 커뮤니티 버전에 비해 다양한 기능과 지원 서비스를 제공합니다. 예를 들어, 백업 및 복원, 모니터링, 보안, 복제 등의 기능과 지원 서비스를 제공합니다.
    3. 따라서, MySQL의 커뮤니티 버전은 GPL 라이선스로 무료로 사용 가능하며, 상용 버전은 MySQL Enterprise Edition이라는 상용 라이선스를 따르므로, 라이선스 비용을 지불해야만 사용할 수 있습니다.

3. 결론 

  • MariaDB를 선택할 경우, 상용 라이선스가 없다는 것이 큰 장점으로 작용할 수 있으며, MySQL을 선택할 경우, 많은 레퍼런스와 지원 서비스가 있는 것이 큰 장점으로 작용할 수 있습니다.
  • 그러나, 최종 선택은 개인 또는 팀의 프로젝트에 따라 다를 수 있습니다. MariaDB와 MySQL은 각각 고유한 특징과 장단점을 가지고 있으므로, 프로젝트의 요구사항과 용도에 따라 적절한 것을 선택하는 것이 중요합니다.
 
반응형

댓글