Amazon RDS - Recursos do MariaDB

MariaDB é um popular banco de dados relacional de código aberto que está disponível nos serviços RDS da amazon com seus recursos de edição de comunidade. Quase todos os recursos do MariaDB podem ser aproveitados na plataforma RDS. Abaixo está uma breve descrição dos principais recursos do MariaDB na plataforma RDS.

As versões 10.0, 10.1,10.2 são as principais versões com suporte na plataforma RDS. Se nenhuma versão for mencionada durante a criação do banco de dados, o padrão será a versão mais recente naquele momento. Abaixo está um exemplo de como obter todas as versões do DB Engine com suporte usando AWS API em um programa SDK python.

import boto3

client = boto3.client('rds')

response = client.describe_db_engine_versions(
    DBParameterGroupFamily='',
    DefaultOnly=True,
    Engine='mariadb',
    EngineVersion='',
    ListSupportedCharacterSets=False, #True,
)

print(response)

Quando executamos o programa acima, obtemos a seguinte saída -

{ 
   "ResponseMetadata": { 
      "RetryAttempts": 0,
      "HTTPStatusCode": 200,
      "RequestId": "16179fbd-9d07-425b-9b86-cc61359ce7b4",
      "HTTPHeaders": { 
         "x-amzn-requestid": "16179fbd-9d07-425b-9b86-cc61359ce7b4",
         "date": "Fri, 14 Sep 2018 06:45:52 GMT",
         "content-length": "1658",
         "content-type": "text/xml"
      }
   },
   "u'DBEngineVersions'": [ 
      { 
         "u'Engine'": "mariadb",
         "u'DBParameterGroupFamily'": "mariadb10.2",
         "u'SupportsLogExportsToCloudwatchLogs'": true,
         "u'SupportsReadReplica'": true,
         "u'DBEngineDescription'": "MariaDb Community Edition",
         "u'EngineVersion'": "10.2.12",
         "u'DBEngineVersionDescription'": "mariadb 10.2.12",
         "u'ExportableLogTypes'": [ 
            "audit",
            "error",
            "general",
            "slowquery"
         ],
         "u'ValidUpgradeTarget'": [ 
            { 
               "u'Engine'": "mariadb",
               "u'IsMajorVersionUpgrade'": false,
               "u'AutoUpgrade'": false,
               "u'Description'": "MariaDB 10.2.15",
               "u'EngineVersion'": "10.2.15"
            }
         ]
      }
   ]
}

A segurança do RDS MariaDB é gerenciada em três camadas.

Usando IAM

Nesta abordagem, o usuário IAM deve ter políticas e permissões apropriadas. A concessão de tais permissões é decidida pelo titular da conta ou pelo superusuário que concede essas permissões.

Usando VPC

Você pode usar um grupo de segurança VPC ou grupo de segurança de banco de dados para decidir quais instâncias EC2 podem abrir conexões com o endpoint e a porta de uma instância de banco de dados. Essas conexões também podem ser feitas usando SSL.

Usando autenticação de banco de dados IAM

Nesta abordagem, você usa uma função IAM e um token de autenticação. O token de autenticação gera um valor exclusivo que é relevante para a função IAM que é usada no processo de acesso. Aqui, o mesmo conjunto de credenciais é usado para banco de dados, bem como outros recursos aws, como EC2 e S3 etc.

O aquecimento do cache pode fornecer ganhos de desempenho para sua instância MariaDB DB salvando o estado atual do buffer pool quando a instância DB é encerrada e recarregando o buffer pool a partir das informações salvas quando a instância DB é inicializada. Essa abordagem ignora a necessidade do buffer pool "aquecer" do uso normal do banco de dados e, em vez disso, pré-carrega o buffer pool com as páginas para consultas comuns conhecidas.

O aquecimento do cache fornece principalmente um benefício de desempenho para instâncias de banco de dados que usam armazenamento padrão.

Você pode criar um evento para despejar o buffer pool automaticamente e em um intervalo regular. Por exemplo, a instrução a seguir cria um evento denominado periodic_buffer_pool_dump que despeja o buffer pool a cada hora.

CREATE EVENT periodic_buffer_pool_dump 
   ON SCHEDULE EVERY 1 HOUR 
   DO CALL mysql.rds_innodb_buffer_pool_dump_now();