Amazon RDS - MariaDB功能

MariaDB是一个流行的开源关系数据库,它在亚马逊RDS服务中提供社区版功能.几乎所有MariaDB的功能都可以在RDS平台中使用.以下是MariaDB在RDS平台中的主要功能的简要说明.

支持的版本

版本10.0,10.1,10.2是支持的主要版本在RDS平台上.如果在创建数据库期间未提及任何版本,则默认为该时间点的最新版本.下面是如何在python SDK程序中使用AWS API获取所有受支持的数据库引擎版本的示例.

import boto3

client = boto3.client('rds')

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

print(response)

当我们运行上述程序时,我们得到以下输出 :

{ 
   "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"
            }
         ]
      }
   ]
}

数据库安全性

RDS MariaDB的安全性分为三层管理.

使用IAM

在此方法中,IAM用户应具有适当的策略和权限.授予此类权限取决于帐户持有者或授予这些权限的超级用户.

使用VPC

您要么使用VPC安全组或DB安全组,以决定哪些EC2实例可以打开与数据库实例的端点和端口的连接.这些连接也可以使用SSL进行.

使用IAM数据库身份验证

在此方法中,您使用IAM角色和身份验证令牌.身份验证令牌生成一个唯一值,该值与访问过程中使用的IAM角色相关.这里使用相同的凭证集用于数据库以及其他aws资源,如EC2和S3等.

缓存变暖

通过在关闭数据库实例时保存缓冲池的当前状态,然后在数据库实例启动时从保存的信息重新加载缓冲池,缓存加温可以为MariaDB数据库实例提供性能提升.这种方法绕过了缓冲池从正常数据库使用中"预热"的需要,而是使用已知常见查询的页面预加载缓冲池.

缓存升温主要提供性能优势对于使用标准存储的数据库实例.

您可以创建一个事件来定期自动转储缓冲池.例如,以下语句创建一个名为periodic_buffer_pool_dump的事件,该事件每小时转储一次缓冲池.

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