

# Amazon RDS MariaDB에 대해 지원되는 스토리지 엔진
<a name="MariaDB.Concepts.Storage"></a>

RDS for MariaDB는 다음과 같은 스토리지 엔진을 지원합니다.

**Topics**
+ [InnoDB 스토리지 엔진](#MariaDB.Concepts.Storage.InnoDB)
+ [MyRocks 스토리지 엔진](#MariaDB.Concepts.Storage.MyRocks)

현재 다른 스토리지 엔진은 RDS for MariaDB에서 지원되지 않습니다.

## InnoDB 스토리지 엔진
<a name="MariaDB.Concepts.Storage.InnoDB"></a>

MariaDB는 다양한 기능을 가진 여러 스토리지 엔진을 지원하지만, 모든 엔진이 복구와 데이터 내구성에 최적화되어 있지는 않습니다. InnoDB는 Amazon RDS에서 MariaDB DB 인스턴스용으로 권장되는 스토리지 엔진입니다. 특정 시점으로 복구 및 스냅샷 복원 같은 Amazon RDS 기능을 사용하려면 복구 가능한 스토리지 엔진이 필요하며, 이러한 기능은 MariaDB 버전에 대한 권장 스토리지 엔진에서만 지원됩니다.

자세한 내용은 [InnoDB](https://mariadb.com/kb/en/innodb/)를 참조하세요.

## MyRocks 스토리지 엔진
<a name="MariaDB.Concepts.Storage.MyRocks"></a>

RDS for MariaDB 버전 10.6 이상에서 MyRocks 스토리지 엔진을 사용할 수 있습니다. 프로덕션 데이터베이스에서 MyRocks 스토리지 엔진을 사용하기 전에 철저한 벤치마킹 및 테스트를 수행하여 사용 사례에 대해 InnoDB에 비한 잠재적 이점을 확인하는 것이 좋습니다.

MariaDB 버전 10.6의 기본 파라미터 그룹에는 MyRocks 파라미터가 포함되어 있습니다. 자세한 정보는 [MariaDB에 대한 파라미터](Appendix.MariaDB.Parameters.md) 및 [Amazon RDS의 파라미터 그룹](USER_WorkingWithParamGroups.md) 섹션을 참조하세요.

MyRocks 스토리지 엔진을 사용하는 테이블을 만들려면 `ENGINE=RocksDB` 문에서 `CREATE TABLE`를 지정합니다. 다음 예제에서는 MyRocks 스토리지 엔진을 사용하는 테이블을 생성합니다.

```
CREATE TABLE test (a INT NOT NULL, b CHAR(10)) ENGINE=RocksDB;
```

InnoDB 및 MyRocks 테이블 모두에 걸쳐 있는 트랜잭션은 실행하지 않는 것이 좋습니다. MariaDB는 스토리지 엔진 간 트랜잭션에 대해 ACID(원자성, 일관성, 격리, 내구성)를 보장하지 않습니다. DB 인스턴스에 InnoDB와 MyRocks 테이블을 둘 다 가질 수 있지만, 한 스토리지 엔진에서 다른 스토리지 엔진으로 마이그레이션하는 경우를 제외하고는 이 방법을 사용하지 않는 것이 좋습니다. InnoDB와 MyRocks 테이블이 모두 DB 인스턴스에 존재하는 경우 각 스토리지 엔진마다 고유한 버퍼 풀이 있으므로 성능이 저하될 수 있습니다.

MyRocks는 `SERIALIZABLE` 격리 또는 갭 잠금을 지원하지 않습니다. 따라서 일반적으로 명령문 기반 복제와 함께 MyRocks를 사용할 수 없습니다. 자세한 내용은 [MyRocks 및 복제](https://mariadb.com/kb/en/myrocks-and-replication/)를 참조하세요.

현재 다음 MyRocks 파라미터만 수정할 수 있습니다.
+ [https://mariadb.com/kb/en/myrocks-system-variables/#rocksdb_block_cache_size](https://mariadb.com/kb/en/myrocks-system-variables/#rocksdb_block_cache_size)
+ [https://mariadb.com/kb/en/myrocks-system-variables/#rocksdb_bulk_load](https://mariadb.com/kb/en/myrocks-system-variables/#rocksdb_bulk_load)
+ [https://mariadb.com/kb/en/myrocks-system-variables/#rocksdb_bulk_load_size](https://mariadb.com/kb/en/myrocks-system-variables/#rocksdb_bulk_load_size)
+ [https://mariadb.com/kb/en/myrocks-system-variables/#rocksdb_deadlock_detect](https://mariadb.com/kb/en/myrocks-system-variables/#rocksdb_deadlock_detect)
+ [https://mariadb.com/kb/en/myrocks-system-variables/#rocksdb_deadlock_detect_depth](https://mariadb.com/kb/en/myrocks-system-variables/#rocksdb_deadlock_detect_depth)
+ [https://mariadb.com/kb/en/myrocks-system-variables/#rocksdb_max_latest_deadlocks](https://mariadb.com/kb/en/myrocks-system-variables/#rocksdb_max_latest_deadlocks)

MyRocks 스토리지 엔진과 InnoDB 스토리지 엔진은 `rocksdb_block_cache_size` 및 `innodb_buffer_pool_size` 파라미터에 따라 메모리를 놓고 경쟁할 수 있습니다. MyRocks 스토리지 엔진만 특정 DB 인스턴스에서 사용해야 하는 경우도 있습니다. 이 경우 `innodb_buffer_pool_size minimal` 파라미터를 최소 값으로 설정하고 `rocksdb_block_cache_size`를 가능한 높게 설정하는 것이 좋습니다.

[https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html) 및 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DownloadDBLogFilePortion.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DownloadDBLogFilePortion.html) 작업을 사용하여 MyRocks 로그 파일에 액세스할 수 있습니다.

MyRocks 대한 자세한 내용은 MariaDB 웹사이트의 [MyRocks](https://mariadb.com/kb/en/myrocks/)를 참조하세요.