MariaDB는 무료 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 2009년 Oracle에 인수된 MySQL이 상용화될 것이라는 우려 속에, MySQL의 원래 개발자들이 만든 것입니다.
MariaDB는 C 및 C++로 작성되었으며 C, C#, Java, Python, PHP, Perl 등 여러 프로그래밍 언어를 지원합니다. MariaDB는 또한 Windows, Linux 및 macOS를 포함한 모든 주요 운영 체제를 지원합니다.
관계형 데이터베이스이지만, MariaDB 버전 10부터 NoSQL(비구조화 쿼리 언어)과 유사한 기능을 제공합니다. Connect 엔진을 사용하면 MariaDB 내의 비정형 데이터에 쉽게 액세스할 수 있으며, 동적 열은 동일한 행에 있는 다양한 유형의 객체를 NoSQL 유형으로 저장할 수 있게 해줍니다.
MariaDB는 어디에 사용될까요?
MariaDB는 MySQL과 동일한 기능을 제공하며, MySQL 데이터베이스 서버를 직접 대체할 수 있습니다. MySQL을 제거한 후 아무런 변경 없이 MariaDB를 설치하면 된다는 의미입니다. 속도, 안정성 및 사용 편의성을 위해 설계된 MariaDB는 소규모 작업과 엔터프라이즈 처리 작업 모두에 사용할 수 있습니다.
왜 MariaDB라고 불릴까요?
MariaDB는 공동 창립자인 미카엘 “몬티” 비데니우스(Michael "Monty" Widenius)의 딸 이름에서 따왔습니다. 현재 Oracle이 상표 등록을 한 MySQL는 첫째 딸 이름 My에서, MariaDB는 둘째 딸 Maria의 이름에서 따왔습니다. MariaDB라는 이름은 원래 Aria로 이름이 변경된 스토리지 엔진에 사용되었습니다.
MariaDB는 어떤 유형의 데이터베이스일까요?
MariaDB는 오픈소스 관계형 데이터베이스 관리 시스템입니다. RDBMS는 데이터 간에 사전 정의된 관계를 관리하는 일반적인 데이터베이스 유형으로, 데이터는 테이블, 열 및 행의 집합으로 정리됩니다.
테이블의 열은 데이터 속성을 저장하며, 각 행은 각 속성에 대한 값이 있는 레코드입니다. 고유 ID나 기본 키를 사용하면 데이터 간 관계를 만들 수 있습니다. 관계형 데이터베이스 모델은 모든 규모의 조직에서 널리 사용됩니다.
어떤 경우에 MariaDB를 사용해야 할까요?
트랜잭션 처리
MariaDB는 빈번한 쿼리 지원, 빠른 응답 시간 및 소량의 데이터 처리 기능이 필요한 엔터프라이즈 트랜잭션 애플리케이션에 적합합니다. InnoDB 스토리지 엔진은 ACID 호환 트랜잭션을 지원하고 각 트랜잭션이 단일 단위로 처리되도록 합니다.
웹 애플리케이션
MariaDB는 웹 애플리케이션과 이커머스 플랫폼에서 원활히 작동하며, 멀티스레딩 메커니즘을 통해 다른 데이터베이스 시스템보다 높은 로드를 처리할 수 있습니다. 멀티스레딩 모델과 높은 성능 덕분에 MariaDB는 확장이 가능해 애플리케이션이나 사이트의 트래픽 급증이나 급속한 비즈니스 성장을 지원할 수 있습니다.
세 가지 MariaDB 쿼리 예시
MariaDB 쿼리는 MySQL과 유사하며 표준 SQL 쿼리 형태를 띕니다. 다음은 MariaDB 쿼리의 세 가지 예입니다.
테이블에서 고객 정보 추출:
SELECT firstname, lastname, address, city, state, zip FROM customer;
행 삽입:
INSERT INTO customer (firstname, lastname, address, city)
VALUES ('Andrew', 'Williams', ‘75 Rose View’, 'Miami', ‘FL’, 33126);
고객 정보 업데이트:
UPDATE customer SET address = “175 Ocean City” WHERE lastname = ‘Williams’;
MariaDB는 어떤 데이터 유형을 처리할 수 있을까요?
MariaDB는 숫자, 문자열, 날짜 및 시간 등 여러 SQL 데이터 유형을 지원합니다.
- 숫자 데이터 유형: Tinyint, Boolean, smallint, mediumint, int, zerofill, bigint, decimal, float, double, bit
- 날짜 및 시간 데이터 유형: 날짜, 시간, 날짜/시간, 타임스탬프 및 연도
- 문자열 데이터 유형: String literals, char, varchar, binary, varbinary, tinyblob, blob, mediumblob, longblob, longtext, tinytext, text, mediumtext, enum, set
- 기타 데이터 유형: Geometry, auto_increment, data type storage requirements, auto_increment_faq, nulls
MariaDB에는 네이티브 클라이언트가 있을까요?
MariaDB는 대화형 및 비대화형의 사용을 지원하는 네이티브 MySQL 명령 줄 클라이언트가 함께 제공됩니다. 대화형으로 사용하는 경우 쿼리 결과는 ASCII 테이블 형식으로 표시되고, 비대화형(예: 필터)으로 사용하는 경우 결과는 탭으로 구분된 형식으로 표시됩니다. 명령 옵션을 사용하여 출력 형식을 변경할 수 있습니다.
MariaDB는 어디서 다운로드할 수 있을까요?
MariaDB 웹사이트에서 MariaDB의 테스트와 버그 수정이 완료된 최신 버전을 다운로드할 수 있습니다. 개발 및 프로덕션에서 사용할 수 있는 추가적인 MariaDB 제품과 툴은 MariaDB 제품 & 툴 페이지에 있습니다.
MariaDB의 소스 코드는 GitHub에서 다운로드할 수 있습니다.
MariaDB의 가격은 얼마일까요?
MariaDB Community Server는 GNU 퍼블릭 라이선스 하에 v2가 릴리스되었으며, 영구적으로 무료로 사용할 수 있는 오픈소스입니다. MariaDB 커뮤니티 서버는 JSON 기반 SQL 지원, 오라클 및 MySQL과의 호환성, 다수 스토리지 엔진 지원 및 실시간 분석 기능을 제공합니다.
MariaDB는 엔터프라이즈 버전과 클라우드 버전으로도 사용할 수 있습니다. MariaDB 엔터프라이즈 버전에는 MariaDB MaxScale, 애플리케이션 및 통합 커넥터, 관리 툴 및 기술 지원이 포함됩니다. 맞춤 견적을 요청해 MariaDB 엔터프라이즈를 구입할 수 있습니다.
MariaDB의 클라우드 버전인 SkySQL은 클라우드 환경이 포함되며 고가용성, 확장성 및 보안을 제공합니다. 여러 워크로드, 재해 복구 및 선제적 모니터링을 지원합니다. MariaDB SkySQL은 500달러 크레딧이 함께 제공되며, 시간당 0.1702달러부터 시작합니다.
네 가지 MariaDB 질문에 대한 답변
누가 MariaDB를 만들었나요?
MariaDB는 MySQL AB(현 MariaDB Corporation)의 창립자이자 MariaDB Foundation의 창립 멤버인 미카엘 “몬티” 비데니우스(Michael "Monty" Widenius)가 만들었습니다. MySQL의 최초 개발자 중 일부는 MariaDB 개발에도 참여했습니다. 1995년에 설립된 MySQL AB는 2008년 Sun Microsystems에 인수됐습니다. Sun은 2010년 Oracle에 인수됐습니다.
MariaDB는 MySQL과 하위 호환이 가능할까요?
MariaDB는 버전 5.5까지 MySQL과 동등한 버전을 유지했으며, 소소한 제한을 두고 ‘즉시 교체’가 가능합니다. MariaDB의 데이터 파일과 클라이언트 프로토콜은 일반적으로 MySQL과 호환되는 바이너리입니다.
MySQL에서 MariaDB로 간단하게 업그레이드할 수 있습니다. 대부분의 경우에서 데이터 파일을 변환하지 않고 MySQL을 제거한 후 바로 MariaDB를 설치할 수 있습니다. 그러나 MariaDB에는 MySQL에는 없는 몇 가지 새로운 옵션, 확장, 스토리지 엔진 및 버그 수정이 있습니다.
왜 MySQL이 아니라 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 중 어느 것이 나을까요?
MariaDB와 MySQL은 모두 강력하며 각자 장단점이 있습니다. 조직의 비즈니스 요구 사항을 충족하는 쪽을 선택하는 것이 가장 좋습니다. MySQL은 오랫동안 사용돼 왔으며 더 많은 리소스가 나와 있고 대규모 조직이 지원합니다. 이 때문에 더 빠른 버그 수정과 새로운 기능 출시가 가능합니다.
반면 MariaDB는 커뮤니티 지원에 의존하지만, 더 빠른 성능과 더 많은 스토리지 엔진을 제공하여 다양한 유형의 데이터를 저장할 수 있습니다. MariaDB는 MySQL과 유사하기 때문에 직접적인 대체가 가능하며, 추가 기능을 활용할 수 있습니다.
오픈소스 워크로드를 위한 최신 데이터 경험 생성
MariaDB는 MySQL의 대안으로 더 큰 효율성, 향상된 데이터베이스 성능 및 여러 스토리지 엔진을 통해 다양한 데이터 유형에 대한 지원을 제공하는 영구적으로 무료인 오픈소스입니다.
퓨어스토리지는 오픈소스 데이터베이스 워크로드를 위한 여러 현대적인 데이터 스토리지 솔루션을 제공합니다.
플래시블레이드(FlashBlade®) 올플래시 스토리지 어레이와 퓨리티(Purity) 스토리지 관리 소프트웨어가 지원하는 속도와 성능으로, 데이터 스토리지를 간단하고 원활하며 지속 가능하게 유지할 수 있습니다. 오늘날의 혁신적인 비즈니스 요구 사항을 충족하도록 설계된 현대적인 데이터 경험(Modern Data Experience™)을 구축하세요.