요약 : 이 튜토리얼에서는 InnoDB, TokuDB, MyISAM, Aria 및 MyRocks를 포함한 MariaDB 스토리지 엔진에 대해 배웁니다.
스토리지 엔진은 물리적 수준에서 데이터를 처리합니다. 스토리지 엔진은 데이터 파일, 데이터 및 인덱스 캐시를 효율적으로 관리하도록 설계되었습니다.
MariaDB 서버에서 사용 가능한 모든 스토리지 엔진을 표시하려면 showengines 문을 사용합니다.
show engines;
코드 언어: SQL(구조적 쿼리 언어) ( sql )
information_schema.engines
또는 다음 표 에서 지원되는 스토리지 엔진을 쿼리할 수 있습니다 .
select *
from information_schema.engines;
코드 언어: SQL(구조적 쿼리 언어) ( sql )
출력에는 support
엔진을 사용할 수 있는지 여부를 나타내는 열이 포함됩니다.
새 테이블 을 생성할 때 스토리지 엔진을 지정해야 합니다. 그렇지 않으면 MariaDB는 테이블에 대한 기본 스토리지 엔진을 사용합니다.
create table table_name(
...
)engine=storage_engine;
코드 언어: SQL(구조적 쿼리 언어) ( sql )
현재 스토리지 엔진을 표시하려면 storage_engine
시스템 변수를 사용합니다.
select @@global.storage_engine;
코드 언어: SQL(구조적 쿼리 언어) ( sql )
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/
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit