나는 최근에 MariaDB가 "mysql 서버"라고 불릴 수 있는지에 대해 흥미로운 토론을 했습니다. 실제로 Maria는 MySQL과 100% 호환되지 않습니다.
내가 아는 한, 원래는 MySQL의 100% 드롭인 대체 포크였지만, 이 글을 쓰는 시점에서는 MariaDB 10.5와 MySQL 8.0이 서로 100% 호환되지 않습니다.
그렇다면 "default-mysql-server"와 같은 Debian 호스트 패키지와 같은 주요 배포판에서 MariaDB 서버를 설치하는 이유는 무엇입니까? 일반 우산 패키지를 "default-sql-server"라고 불러야 하지 않나요?
답변1
일반 우산 패키지를 "default-sql-server"라고 불러야 하지 않나요?
당연히 아니지. MariaDB, MySQL은 유일한 "기본" SQL 서버와는 거리가 멀습니다. 상당한 자유 소프트웨어 경쟁이 있습니다.
그러나 이 글을 쓰는 시점에서는 MariaDB 10.5와 MySQL 8.0이 100% 호환되지 않습니다.
"100% 호환되지 않음"은 그다지 좋은 이유가 아닙니다. 귀하의 xserver 패키지는 여전히 xserver라고 불리며, 여기에는 대부분의 배포판에서 해당 이름으로 제공되는 원래 XFree86과 100% 호환되지 않는 xorg가 포함되어 있습니다.
마리아 데이터베이스예mysql 서버 구현. 기간. 라이브러리, 클라이언트 및 도구에는 여전히 이름에 MySQL이 있습니다.
현재 메인 프로젝트에 호환되지 않는 기능이 있다는 사실은 데이터베이스의 Oracle GPL("커뮤니티") 버전과 무료가 아닌 상업용 버전 간의 차이점에 초점을 맞추고 있습니다. (GPL 버전의 대부분의 기술적 변경 사항은 MariaDB에서 직접 채택할 수 있습니다. 이것이 바로 GPL에 관한 것입니다.)
어쨌든 무료 Linux 배포판은 상용 버전을 제공하지 않기 때문에 MySQL이라는 이름으로 원래 GPLv2 전용 DBMS의 연속이 지배적인 GPLv2 전용 포크 MariaDB라고 가정하는 것이 논리적으로 일관됩니다.
답변2
MariaDB에 "mysql"이라는 이름의 요소가 너무 많은 주된 이유는 "MariaDB 서버"라는 제목의 "MariaDB 소개"라는 제목의 MariaDB 재단 웹 페이지에 암시되어 있습니다(URL:https://mariadb.org/en/#mariadb-server
구체적으로:
MariaDB 5.5까지 MariaDB 서버는 MySQL 버전 번호 체계를 따랐으며 동일한 주요 MySQL 버전과 직접 호환되도록 설계되었습니다.
그리고
MariaDB 서버는 여전히 MySQL과 높은 수준의 호환성을 유지하며 MySQL을 사용하는 가장 널리 사용되는 애플리케이션은 MariaDB와 원활하게 작동합니다.
그리고
MariaDB 서버는 사용자를 방해하지 않는 이전 버전과의 호환성에 중점을 둡니다.
함께 모아서:
- MariaDB는 원래 MySQL용으로 작성된 명령과 스크립트를 지원해야 하는 MySQL을 즉시 대체하기 위해 고안되었습니다. (병렬 예: Postfix 및 Exim과 같은 MTA에는
sendmail
Sendmail용으로 생성된 명령/스크립트를 지원하는 명령이 포함되어 있습니다) - MySQL과의 호환성은 여전히 높은 우선순위로 남아 있지만, 오늘날 더 이상 "드롭인 교체" 수준은 아닙니다.
- 원래 MySQL의 "드롭인" 대체 항목으로 명명된 MariaDB의 일부 이름을 바꾸면 이전 버전의 MariaDB와의 호환성이 손상될 수 있으며 프로젝트에서는 이를 방지하려고 합니다.