마리아DB에서 주목할 만한 새 기능 5가지

ITWorld Korea | | 💼 비즈니스
#db팁 #mariadb #mariadb 12.0 #옵티마이저
원문 출처: ITWorld Korea · Genesis Park에서 요약 및 분석

요약

MariaDB는 오라클이 MySQL을 인수한 이후 MySQL 포크로 출발했지만, 시간이 지나면서 스스로의 길을 개척해왔다. 오픈소스 RDBMS인 MariaDB는 최근 몇 차례의 주요 개정판을 거치며 독자적인 기능을 추가하고 MySQL과의 호환성을 강화하는 한편 오라클 SQL 사용자가 마이그레이션을 고려할 만한 다양한 동작을 도입했다. 이번 기사에서는 MariaDB의 가장 강력하고 유용한 새로운 기능 몇 가지를 살펴본다. 옵트인 오라클 호환성 MariaDB는 오라클을 현재 상태 그대로 MariaDB로 더 쉽게 이식할 수 있도록 버전 10.3부터 꾸준히 오라클 호환 기능을 추가해왔다. 오라클 호환성은 옵트인 방식이다. 특정 SQL 문 집합에 대해 호환성을 활성화하려면 SET SQL_MODE='ORACLE' 명령을 실행하기만 하면 된다. 가능한 경우 기존 MariaDB 동작도 유지된다. 대부분의 오라클 호환 기능은 오라클 SQL 구문을 지원하는 데 주력하며, 특히 ANSI SQL 또는 M

본문

MariaDB 12.0에서는 힌트를 전역, 그리고 특정 테이블이나 인덱스에 적용할 수 있는 방법으로 새로운 스타일의 옵티마이저 힌트 가 도입됐다. 이러한 힌트는 /*+와 */ 구분자가 있는 인라인 주석 형식으로 사용된다. 확장된 힌트는 일상적으로 사용하는 기능은 아니다. 확장된 힌트가 강제로 활성화하거나 비활성화하는 동작은 일반적으로는 기본 상태에서도 잘 작동한다. 다만 특정 상황에서는 명시적으로 제어할 때 더 효과적이다. 예를 들어 여러 컬럼에 대해 인덱스 스캔을 수행할 때 INDEX_MERGE 힌트는 사용할 특정 특정 인덱스를 쿼리 옵티마이저에 알려준다. 이렇게 하면 인덱스가 많은 테이블에서, 또는 특정 쿼리를 처리할 복합 인덱스가 없는 상황에서 쿼리 속도를 높일 수 있다. 그러나 이러한 최적화가 실제 환경에서 이론대로 작동할 것이라고 막연히 전제하는 것은 금물이다. 쿼리 최적화와 함께 항상 EXPLAIN 문을 사용해서 실제 속도 개선이 있는지 확인하는 것이 좋다 성능뿐 아니라 문제 해결에 유용한 힌트도 있다. 예를 들어 MAX_EXECUTION_TIME() 힌트는 특정 밀리초가 지나면 쿼리를 중단할 수 있다. 이 힌트는 비정상적인 쿼리가 시스템을 점유하는 것을 방지하는 데 사용하거나 통제를 벗어나 실행되는 경향이 있는 기존 쿼리를 디버깅하는 과정에도 사용할 수도 있다. 새로운 XML 타입 아직 많은 역할을 하지는 않지만 미래 지향적인 개선 사항으로 MariaDB 12.3에서 도입된 XMLTYPE 컬럼 타입 이 있다. 현재 이 타입이 하는 일은 최대 4GB 크기의 문자열을 허용하고 UPDATEXML 함수 를 통해 XML의 선택적 대체를 가능하게 해주는 것이 전부다. XML을 검증하거나 스키마를 강제하는 특성은 현재로서는 없지만 향후 추가될 예정이며 오라클과 XMLTYPE의 기능적 호환성을 더 높이게 된다. 향후 확장을 위한 경로를 여는 역할이다. 아직 없는 기능 MariaDB는 MySQL과는 다른 독자적인 개발 경로를 개척하면서 동적 또는 가상 컬럼과 같이 MySQL에 없는 많은 기능을 도입했다. 그러나 그 반대도 사실이다. 일부 MySQL 기능은 적어도 아직은 MariaDB에 존재하지 않는다. 아직 없는 중요한 기능 중 하나는 MySQL 리소스 그룹 으로, 제안은 된 상태 지만 구현을 위해서는 여전히 작업이 필요하다. 또한 JSON에 대한 MySQL의 ‘패킹된(바이너리)’ 스토리지 형식 과 같이 앞으로도 상호 호환되지 않을 가능성이 높은 기능도 있다. 또한 MariaDB와 MySQL은 전역 트랜잭션 ID에 대해 서로 다른, 호환되지 않는 방법을 사용하므로 MariaDB 서버를 MySQL 서버의 복제본으로 사용하는 것은 가능하지만 그 반대는 불가능하다. 긍정적인 면은 MySQL에서 MariaDB로 이전할 때 복제를 마이그레이션 전략으로 활용할 수 있다는 점이다. 단, 두 데이터베이스 버전이 서로 호환 돼야 한다.| [email protected]

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →