MariaDB 서버 10.3으로 업그레이드하십시오. 새로운 기능

MariaDB 서버 10.3으로 업그레이드하십시오. 새로운 기능

MariaDB Server 10.3의 일반 업데이트 릴리스를 발표하게 되어 기쁩니다! 이 릴리스는 MariaDB 서버 개발의 큰 이정표이며 개발 팀과 기여자들의 막대한 노력의 결과입니다. 관련된 모든 분들께 감사드립니다! 작년에 MariaDB Server 10.2의 이전 주요 릴리스와 함께 우리는 호스팅 서비스에 엔터프라이즈급 기능을 추가하여 독점 데이터베이스와의 격차를 더 잘 연결하는 여정을 시작했습니다. MariaDB Server 10.3을 통해 우리는 임시 데이터 처리(시스템 버전 관리를 통해) 및 Oracle 및 Oracle PL/SQL 시퀀스와의 호환성과 같은 기능을 추가하는 최초의 오픈 소스 엔터프라이즈 데이터베이스가 되어 이 경로에서 큰 진전을 이루었습니다. 동시에 우리는 다양한 워크로드와 사용자가 사용할 수 있는 다양한 하드웨어에 보다 쉽게 ​​적응할 수 있는 새로운 스토리지 엔진에 대한 지원을 추가하여 오픈 소스와 혁신적인 뿌리에 충실하고자 합니다(그렇지 않으면 혁신이라고 부르지 않을 것입니다!). . 이 경로를 통해 새로운 혁신이 지속적으로 가속화되는 속도로 생성되는 끊임없이 변화하는 환경에 빠르게 적응할 수 있습니다. 이것은 우리의 가장 큰 릴리스이며 이번 릴리스를 통해 우리의 지분을 엔터프라이즈 데이터베이스.

MariaDB Server 10.3의 주요 개선 사항은 다음 범주로 나눌 수 있습니다.

  • 시간 데이터 처리(시스템 버전의 테이블)
  • Oracle 호환성 기능
  • 특별히 제작된 스토리지 엔진

시간 데이터 처리

시스템 버전 관리 기능을 통한 임시 데이터 처리는 MariaDB Server 버전 10.3의 가장 흥미로운 추가 기능 중 하나입니다. 시스템 버전 관리를 통해 데이터베이스는 테이블의 각 행에 대한 모든 변경 사항을 추적합니다. 이전 버전의 행은 일반 쿼리 구문을 통해 볼 수 없지만 특수 구문을 사용하면 모든 이전 버전의 행에 액세스할 수 있습니다. 이 기능은 감사 및 포렌식(얼마 전에 실행된 의심스러운 쿼리의 정확한 특정 시점 결과 집합 찾기)에서 데이터 변경 분석, 고객 선호도 비교와 같은 다양한 사용 사례에 적합합니다. 년 및 기타 다양한 가능성. 이 기능은 모든 테이블에 대해 켤 수 있으며 테이블이 무한정 커지지 않도록 기록을 주기적으로 지울 수도 있습니다. 사용 사례는 흥미롭고 끝이 없습니다!

오라클과의 호환성

대기업에서 MariaDB 서버에 대한 수요가 증가함에 따라 독점 데이터베이스에서 쉽게 사용할 수 있는 기능에 대한 필요성도 확인했습니다. DBA와 숙련된 데이터베이스 엔지니어가 MariaDB를 다른 제품보다 쉽게 ​​사용할 수 있도록 호환성을 최대한 추가했습니다.

MariaDB Server 10.3에는 기존 MariaDB SQL/PSM 구문 외에 새로운 저장 프로시저 구문이 추가되었습니다. 이제 Oracle PL/SQL과 호환되도록 설계된 구문인 MariaDB SQL/PL을 지원할 수 있습니다. 이렇게 하면 기존 애플리케이션의 마이그레이션이 훨씬 쉬워지고 복잡한 재교육 없이 기존 기술을 사용할 수 있습니다. 그 과정에서 새로운 ROW 데이터 유형과 같은 저장 프로시저를 지원하기 위해 몇 가지 새로운 구문이 추가되었습니다.

새로운 구문은 유일한 새로운 호환성 기능이 아니며, 기존의 auto_increment 함수보다 고유한 기본 키를 생성하는 더 유연한 방법을 제공하기 위해 시퀀스가 ​​추가되었습니다. 이 기능은 Oracle 시퀀스와 완벽하게 호환됩니다. 이전에 추가된 기능(예: 창 함수, 공통 테이블 표현식(CTE) 등)과 함께 이제 모든 유형의 애플리케이션 요구 사항을 해결할 수 있는 심층적인 엔터프라이즈급 기능 세트가 있습니다.

특별히 제작된 스토리지 엔진

MariaDB에서는 올바른 작업에 올바른 도구를 사용하는 것이 중요하다고 믿습니다. 그러나 우리는 이 목표를 달성하기 위해 모든 것이 변해야 한다고 생각하지 않습니다. 우리는 사용자가 핵심 기능을 변경하지 않고 사용 사례 및 워크로드에 데이터베이스를 적용할 수 있는 플러그형 스토리지 엔진을 갖춘 고유한 아키텍처를 보유하고 있습니다. 우리는 이러한 유연성이 사용자의 관심에 부합한다고 믿으며 향후 버전의 MariaDB에서 이 측면을 더욱 개선하기 위해 노력할 것입니다. 이 아키텍처를 통해 커뮤니티와 우리 팀은 새로운 하드웨어 및 새로운 사용 사례를 위해 설계된 스토리지 엔진을 추가하여 더욱 혁신할 수 있습니다. MariaDB Server 10.3에서는 MyRocks와 Spider라는 두 가지 새로운 안정적인 스토리지 엔진을 도입했습니다.

MyRocks는 주로 Facebook에서 관리하는 오픈 소스 프로젝트인 RocksDB 위에 스토리지 엔진을 구축하는 Facebook과의 협업입니다. MyRocks의 스토리지 엔진은 로그 구조 병합 트리(LSM 트리) 아키텍처를 사용하여 구축되었으며 쓰기 집약적인 워크로드에 매우 적합합니다. MyRocks는 또한 압축률이 매우 높으며 SSD 드라이브의 수명을 최대화하도록 제작되었습니다.

Spider는 극한의 규모를 위해 설계된 스토리지 엔진입니다. Spider 스토리지 엔진을 사용하면 여러 노드에 걸쳐 특정 테이블을 샤딩할 수 있습니다. 분할 프로토콜을 사용하여 테이블을 분할하는 방법을 정의하고 각 개별 샤드는 해당 특정 샤드에 대한 쿼리만 처리하는 원격 MariaDB 서버에 상주합니다. Spider를 사용하면 INSERT 및 키에 대해 거의 선형 스케일링을 얻을 수 있습니다.

그리고 더…

이 외에도 스키마 작업의 속도를 높이는 데 도움이 되는 다양한 기능(예: 인스턴트 ADD COLUMN)과 기타 최적화 및 호환성 기능이 추가되었습니다. ADD COLUMN 기능은 Alibaba, Tencent 및 ServiceNow를 포함한 고객 및 파트너와 함께 MariaDB 개발 팀의 또 다른 예이며 무거운 DDL 작업을 보다 유용하게 만드는 시작일 뿐입니다.