sql-server - AWS NVMe 存储 - 托管数据库

标签 sql-server database amazon-web-services amazon-ec2

现在 AWS 正在通过 i3 系列服务器提供 NVMe,是否有在其中一个服务器的实例存储上托管数据库的最佳实践?

我的理解是,如果实例停止,存储可能会被完全删除。如果服务器有意或无意地重新启动,情况似乎并非如此,但您仍然只需按一下按钮即可删除重要数据,因此这非常可怕。

我对底层基础设施的理解是,这是因为 NVMe 存储直接连接到物理主机,因此如果亚马逊决定将您的 VM 移动到另一台主机,您将丢失数据。此外,将关键任务数据存储在 AWS 旁边的单个硬件设备上也是不好的。

但考虑到 NVMe 相对于 EBS(SAN?)存储的性能优势,推荐的设置是什么? VM 副本、事务日志备份到永久存储等。

最佳答案

可以将 i3 实例上的 NVMe SSD 变成持久的高可用存储。

选项:

1) 在 2 或 3 个实例上的 NVMe SSD 之间进行镜像

2) NVMe SSD 和 EBS 之间的镜像(EBS 可以在不同的实例上),主要从 NVMe SSD 读取数据。

虽然写入性能仍将受到网络或 EBS 的限制,但您可以获得 NVMe 的完整读取性能。在大多数情况下,读取带宽是大型数据库运行繁重查询真正需要的带宽。

但是,关于实例之间的数据库故障转移以及实例停止/启动故障后恢复冗余的问题仍然存在。

具体查看此白皮书和第 9 页,了解有关如何为 Oracle 数据库集群完成的详细信息: https://www.flashgrid.io/wp-content/sideuploads/resources/FlashGrid_OracleRAC_on_AWS.pdf

本文主要关注 Oracle RAC 数据库,但同样的解决方案适用于单实例 Oracle 以及任何其他基于 Linux 的数据库。尽管如此,您仍然需要 Oracle Clusterware(免费)。

关于sql-server - AWS NVMe 存储 - 托管数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43201991/

相关文章:

mysql - 基于多条件的SQL查询

SQL Server : success and failure combination

javascript - 关闭 Node 中的 MSSQL 连接

C#、SQL : Storing arbitrary user data in a database as serialized binary

PHP 表单需要点击两次提交按钮才能消失

amazon-web-services - JMeter AWS HTTPS SNI 问题

ruby-on-rails - Errno::ECONNREFUSED: 连接被拒绝 - connect(2) for "bucketname.s3-eu-west-1.amazonaws.com"

linux - 在可能不同的 MySQL 安装上恢复 MySQL 数据库?

database - 带外键的 EF 数据库第一个角色名称?

tomcat - 无法访问EC2中安装的tomcat实例