Amazon RDS - Caratteristiche di MariaDB
MariaDB è un popolare DB relazionale open source disponibile nei servizi RDS di amazon con le sue caratteristiche di community edition. Quasi tutte le funzionalità di MariaDB possono essere sfruttate nella piattaforma RDS. Di seguito è riportata una breve descrizione delle principali funzionalità di MariaDB nella piattaforma RDS.
Le versioni 10.0, 10.1,10.2 sono le versioni principali supportate nella piattaforma RDS. Se durante la creazione del DB non viene menzionata alcuna versione, il valore predefinito è la versione più recente in quel momento. Di seguito è riportato un esempio di come ottenere tutte le versioni del motore DB supportate utilizzando l'API AWS in un programma 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 eseguiamo il programma sopra, otteniamo il seguente output:
{
"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"
}
]
}
]
}
La sicurezza per RDS MariaDB è gestita a tre livelli.
Utilizzando IAM
In questo approccio l'utente IAM dovrebbe disporre di policy e autorizzazioni appropriate. La concessione di tali autorizzazioni è decisa dal titolare dell'account o dal super utente che concede tali autorizzazioni.
Utilizzo di VPC
Puoi utilizzare un gruppo di sicurezza VPC o un gruppo di sicurezza DB per decidere quali istanze EC2 possono aprire connessioni all'endpoint e alla porta di un'istanza database. Queste connessioni possono essere effettuate anche utilizzando SSL.
Utilizzo dell'autenticazione del database IAM
In questo approccio utilizzi un ruolo IAM e un token di autenticazione. Il token di autenticazione genera un valore univoco rilevante per il ruolo IAM utilizzato nel processo di accesso. Qui lo stesso set di credenziali viene utilizzato per il database e altre risorse aws, come EC2 e S3 ecc.
Il riscaldamento della cache può fornire miglioramenti delle prestazioni per l'istanza database MariaDB salvando lo stato corrente del pool di buffer quando l'istanza database viene arrestata e quindi ricaricando il pool di buffer dalle informazioni salvate all'avvio dell'istanza database. Questo approccio ignora la necessità del pool di buffer di "riscaldarsi" dal normale utilizzo del database e invece precarica il pool di buffer con le pagine per le query comuni note.
Il riscaldamento della cache fornisce principalmente un vantaggio in termini di prestazioni per le istanze database che utilizzano l'archiviazione standard.
È possibile creare un evento per eseguire il dump del pool di buffer automaticamente e a intervalli regolari. Ad esempio, la seguente istruzione crea un evento denominato periodic_buffer_pool_dump che esegue il dump del pool di buffer ogni ora.
CREATE EVENT periodic_buffer_pool_dump
ON SCHEDULE EVERY 1 HOUR
DO CALL mysql.rds_innodb_buffer_pool_dump_now();