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();