MariaDB 스토리지 엔진

in kr-dev •  3 years ago 

요약 : 이 튜토리얼에서는 InnoDB, TokuDB, MyISAM, Aria 및 MyRocks를 포함한 MariaDB 스토리지 엔진에 대해 배웁니다.

스토리지 엔진은 물리적 수준에서 데이터를 처리합니다. 스토리지 엔진은 데이터 파일, 데이터 및 인덱스 캐시를 효율적으로 관리하도록 설계되었습니다.

MariaDB 서버에서 사용 가능한 모든 스토리지 엔진을 표시하려면 showengines 문을 사용합니다.

show engines;
코드 언어:  SQL(구조적 쿼리 언어)  ( sql )

information_schema.engines또는 다음 표 에서 지원되는 스토리지 엔진을 쿼리할 수 있습니다 .

select *
from information_schema.engines;
코드 언어:  SQL(구조적 쿼리 언어)  ( sql )

MariaDB 스토리지 엔진

출력에는 support엔진을 사용할 수 있는지 여부를 나타내는 열이 포함됩니다.

새 테이블 을 생성할 때 스토리지 엔진을 지정해야 합니다. 그렇지 않으면 MariaDB는 테이블에 대한 기본 스토리지 엔진을 사용합니다.

create table table_name(
    ...
)engine=storage_engine;
코드 언어:  SQL(구조적 쿼리 언어)  ( sql )

현재 스토리지 엔진을 표시하려면 storage_engine시스템 변수를 사용합니다.

select @@global.storage_engine;
코드 언어:  SQL(구조적 쿼리 언어)  ( sql )

MariaDB 스토리지 엔진 - 기본 스토리지 엔진

MariaDB는 버전 5.5부터 InnoDB를 기본 스토리지 엔진으로 만들었습니다. 이전 버전에서는 Aria를 기본 스토리지 엔진으로 사용했습니다.

테이블의 스토리지 엔진을 찾으려면 테이블에서 engine열을 쿼리할 수 있습니다 information_schema.tables.

select 
    table_name,
    engine 
from 
    information_schema.tables
where 
    table_schema='nation'
    table_name = 'countries';
코드 언어:  SQL(구조적 쿼리 언어)  ( sql )

InnoDB 스토리지 엔진

InnoDB는 저장점이 있는 트랜잭션, XA 트랜잭션 및 외래 키를 지원하는 고성능 범용 스토리지 엔진입니다. 저장점은 필요한 경우 복원할 수 있는 트랜잭션 중간의 지점입니다. XA는 SQL 데이터베이스뿐만 아니라 여러 리소스를 포함할 수 있는 트랜잭션을 위해 설계된 특수한 유형의 트랜잭션입니다.

대부분의 경우 InnoDB의 성능이 다른 엔진보다 우수하므로 기본 스토리지 엔진입니다.

TokuDB 스토리지 엔진

InnoDB와 유사하게 TokuDB는 저장점이 있는 트랜잭션 및 XA 트랜잭션을 지원합니다. 그러나 외래 키와 전체 텍스트 인덱스는 지원하지 않습니다.

InnoDB와 달리 TokuDB는 사실 트리라고 하는 인덱스에 대한 특수 구조를 지원합니다. 또한 TokuDB의 또 다른 중요한 기능은 데이터 압축입니다.

프랙탈 트리와 데이터 압축 덕분에 TokuDB는 너무 커서 메모리에 완전히 저장할 수 없는 데이터 세트에 적합합니다. 이러한 상황에서

MyISAM 및 Aria 스토리지 엔진

MyISAM은 버전 5.5 이전의 MySQL 및 MariaDB용 기본 스토리지 엔진이었습니다. MyISAM은 쓰기 작업이 아닌 읽기 작업에 최적화된 간단한 스토리지 엔진입니다. MyISAM은 읽기 작업량이 많은 웹 사이트 및 보고 시스템에 적합합니다.

Aria는 MyISAM의 후계자입니다. Aria는 충돌 후 데이터 복구를 가능하게 하는 로그를 사용합니다. Aria는 MyISAM보다 낫습니다. 동시성이 있는 환경입니다.

MyISAM과 Aria는 모두 트랜잭션과 외래 키를 지원하지 않습니다. Aria의 각 명세서는 트랜잭션으로 간주됩니다.

MyRocks 스토리지 엔진

MyRocks 스토리지 엔진은 원래 Facebook에서 개발한 RocksDB를 기반으로 합니다. MyRocks 스토리지 엔진은 높은 압축률과 I/O 효율성이 필요한 워크로드에 적합합니다.

MyRocks 스토리지 엔진은 InnoDB에서 사용하는 B-트리보다 압축률이 더 우수한 LSM(Log Structured Merge) 아키텍처를 사용합니다. 쓰기에 최적화되어 있으며 데이터 로드 및 복제가 더 빠릅니다.

MyRocks storge 엔진은 읽기 커밋 및 반복 가능한 읽기 격리 수준을 지원합니다. 그러나 직렬화를 지원하지 않습니다.

출처 : https://www.mariadbtutorial.com/mariadb-basics/mariadb-storage-engines/

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.