Amazon RDS – MariaDB 功能
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 安全组或数据库安全组来决定哪些 EC2 实例可以打开与数据库实例的终端节点和端口的连接。也可以使用 SSL 进行这些连接。
使用 IAM 数据库身份验证
在此方法中,您使用 IAM 角色和身份验证令牌。身份验证令牌生成与访问过程中使用的 IAM 角色相关的唯一值。此处,同一组凭据用于数据库以及其他 aws 资源,如 EC2 和 S3 等。
缓存预热
通过在数据库实例关闭时保存缓冲池的当前状态,然后在数据库实例启动时从保存的信息重新加载缓冲池,缓存预热可以为您的 MariaDB 数据库实例提供性能提升。这种方法不需要缓冲池从正常的数据库使用中“预热”,而是使用已知常见查询的页面预加载缓冲池。
缓存预热主要为使用标准存储的数据库实例提供性能优势。
您可以创建一个事件以定期自动转储缓冲池。例如,以下语句创建一个名为 period_buffer_pool_dump 的事件,该事件每小时转储一次缓冲池。
CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();