

# Mecanismos de armazenamento compatíveis com MariaDB no Amazon RDS
<a name="MariaDB.Concepts.Storage"></a>

O RDS para MariaDB é compatível com os seguintes mecanismos de armazenamento.

**Topics**
+ [O mecanismo de armazenamento InnoDB](#MariaDB.Concepts.Storage.InnoDB)
+ [O mecanismo de armazenamento MyRocks](#MariaDB.Concepts.Storage.MyRocks)

Atualmente, não há suporte a outros mecanismos de armazenamento para o RDS para MariaDB.

## O mecanismo de armazenamento InnoDB
<a name="MariaDB.Concepts.Storage.InnoDB"></a>

Embora o MariaDB suporte vários mecanismos de armazenamento com recursos variados, nem todos eles são otimizados para durabilidade de dados e recuperação. O InnoDB é o mecanismo de armazenamento recomendado para instâncias de banco de dados MariaDB no Amazon RDS. Os recursos de restauração point-in-time e de snapshot do Amazon RDS exigem um mecanismo de armazenamento de recuperação de falha e são compatíveis somente com o mecanismo de armazenamento para a versão MariaDB.

Para obter mais informações, consulte [InnoDB](https://mariadb.com/kb/en/innodb/).

## O mecanismo de armazenamento MyRocks
<a name="MariaDB.Concepts.Storage.MyRocks"></a>

O mecanismo de armazenamento MyRocks está disponível no RDS para MariaDB versão 10.6 e posteriores. Antes de usar o mecanismo de armazenamento MyRocks em um banco de dados de produção, recomendamos que você execute testes e benchmarking completos para verificar quaisquer benefícios potenciais em relação ao InnoDB para seu caso de uso.

O grupo de parâmetros padrão para o MariaDB versão 10.6 inclui parâmetros do MyRocks. Para obter mais informações, consulte [Parâmetros para MariaDB](Appendix.MariaDB.Parameters.md) e [Grupos de parâmetros para Amazon RDS](USER_WorkingWithParamGroups.md).

Para criar uma tabela que usa o mecanismo de armazenamento MyRocks, especifique `ENGINE=RocksDB` na instrução `CREATE TABLE`. O exemplo a seguir cria uma tabela que usa o mecanismo de armazenamento MyRocks.

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

É altamente recomendável não executar transações que envolvam as tabelas do InnoDB e do MyRocks. O MariaDB não garante ACID (atomicidade, consistência, isolamento, durabilidade) para transações em todos os mecanismos de armazenamento. Embora seja possível ter tabelas InnoDB e MyRocks em uma instância de banco de dados, não recomendamos essa abordagem, exceto durante uma migração de um mecanismo de armazenamento para o outro. Quando há tabelas InnoDB e MyRocks em uma instância de banco de dados, cada mecanismo de armazenamento tem seu próprio grupo de buffers, o que pode causar degradação da performance.

O MyRocks não é compatível com o isolamento de `SERIALIZABLE` ou bloqueios de lacunas. Portanto, geralmente você não pode usar o MyRocks com replicação baseada em instruções. Para obter mais informações, consulte [MyRocks and Replication](https://mariadb.com/kb/en/myrocks-and-replication/) (MyRocks e replicação).

Atualmente, você só pode modificar os seguintes parâmetros do 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)

O mecanismo de armazenamento MyRocks e o mecanismo de armazenamento InnoDB podem competir pela memória com base nas configurações dos parâmetros `rocksdb_block_cache_size` e `innodb_buffer_pool_size`. Em alguns casos, você pode ter a intenção de usar apenas o mecanismo de armazenamento MyRocks em uma instância de banco de dados específica. Se for o caso, recomendamos definir o parâmetro `innodb_buffer_pool_size minimal` para um valor mínimo e o `rocksdb_block_cache_size` para o valor mais alto possível.

Você pode acessar os arquivos de log do MyRocks usando as operações [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html) e [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DownloadDBLogFilePortion.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DownloadDBLogFilePortion.html).

Para obter mais informações sobre o MyRocks, consulte [MyRocks](https://mariadb.com/kb/en/myrocks/) no site do MariaDB.