使用 NetApp Cloud Volumes 在云中扩展 Oracle 数据库





0/5 (0投票)
使用 NetApp Cloud Volumes 在云中扩展 Oracle 数据库
您是否一直在考虑在云端运行您的 Oracle 环境?您的组织是否正处于技术更新换代时期,或者正在升级其 Oracle 数据库和应用程序?
如果对以上任何一个问题的答案都是肯定的,那么您可能会很高兴了解 NetApp Cloud Volumes for AWS,这是一个新发布的解决方案。有了 Cloud Volumes,在云端扩展您的 Oracle 数据库从未如此简单。
为了证明这一点,让我们来看看 Cloud Volumes 的工作原理。我将首先概述为什么您想在云端运行 Oracle 数据库,然后过渡到演示 NetApp Cloud Volumes 的主要功能。
为什么选择 AWS 云上的 Oracle?
在进行硬件更新或本地迁移时,您通常会受到漫长的采购流程以及有限的硬件供应商和系统配置的约束。在某些情况下,无法获得必要的试用硬件来提前评估性能和迁移路径,从而限制了您的决策和最佳选择。我见过一些公司在项目开始时(由于预算周期)选择并购买设备,结果发现到最终上线时,硬件已经过时了。弹性云环境将允许您的数据库根据您的需求和时间表进行扩展 — 因此您只需为您使用的资源付费。通过将数据库迁移到云端,可以消除本地硬件支持成本并降低数据中心成本。将节省的成本重新分配到员工培训、新的冗余、耐用性和高可用性组件上,以确保持续的业务运行。
在考虑将 Oracle 数据库或基于 Oracle 的应用程序迁移到云端时,有一些重要方面需要从一开始就予以考虑。长期的业务成功将取决于早期做出的关键架构决策,以及内部技术团队及其适应能力。性能、安全、可用性、可靠性和容量是所有可能影响最终用户体验的方面。幸运的是,所有这些都可以在可扩展的环境中逐步进行评估和管理。
了解您的需求和 SLA
任何新的数据库部署或数据库迁移都应事先明确需求和 SLA。响应时间、数据吞吐量、峰值周期、计划内与计划外停机以及地理位置访问等方面的考虑因素应被记录并由团队知晓。对于现有的数据库和应用程序,请提前捕获一组性能和容量基线,并使用它们与迁移后的环境进行比较。许多在本地运行的查询或操作在新的配置中可能无法达到相同的预期。这些指标将帮助您为新系统选择正确的组件,并帮助您调整数据库以满足(在许多情况下是超出)您当前的性能。
存储选项
Oracle 数据库最重要的元素之一是了解如何以及在何处安全、可靠、快速地存储和检索您的数据。Oracle 数据库由二进制文件(可执行文件、控制文件等)、数据库文件(数据)和重做日志文件(用于恢复)组成。使用合适的存储来处理所有类型的文件对于始终保持数据库快速运行至关重要,无论总大小如何。
应用程序开发人员和数据库管理员致力于优化他们的查询,以便从缓冲区缓存中检索大部分数据。当数据不在内存中时,数据块必须从存储子系统检索。访问这些块会产生延迟,从而影响系统的整体性能。部署正确的存储配置将最小化这些延迟并提供最佳性能。AWS 为您的数据库提供了以下本地存储选项:
- EBS 通用卷(gp2)– 这些卷在价格和性能之间取得了良好的平衡。您可以将它们用于启动卷、应用程序文件和二进制文件。通用卷的 IOPS/GB 可达 3 IOPS/GB,最高可达 10,000 IOPS。使用单个卷以上以通过跨多个卷分摊负载来解锁更多带宽。
- EBS 预配 IOPS – AWS 提供块存储(卷),保证 99.9% 的 IOPS 性能,该性能基于卷的大小(例如,每个卷分配 50 IOPS/GB 的存储,每卷最多 32,000 IOPS,延迟为个位数毫秒)。EBS 应与 ASM(Oracle 自动存储管理)一起使用,用于存储数据库数据和日志文件。配置 ASM 以将数据分布到多个 EBS 存储中,以实现最高带宽和扩展存储。
- HDD 支持的卷 – 这些卷最适合需要大量和持续吞吐量的大型数据集(平面文件)。您可以将其用于 ETL 作业,但它们不适用于数据库文件和日志。
AWS 定期更新其定价。请参阅 AWS 网站 以获取当前定价。
NetApp Cloud Volumes
直到最近,EBS 还是 Oracle 数据库文件的唯一 AWS 块存储选项。需要仔细规划才能在读/写延迟、总体数据吞吐量和成本之间实现最佳平衡。NetApp 旨在通过提供一种称为 Cloud Volumes 的高性能存储类型来抽象所有复杂性。
作为设计和配置 Oracle 数据库的数据库架构师,NetApp Cloud Volumes 为我提供了一种高效的方式来设置和扩展此类数据库。Cloud Volumes 不仅仅是 NFS 或 SMB 文件系统。这项新的云服务提供了高耐用性(99.999999%)、静态加密、高可用性和高性能的数据访问,使其成为 Oracle 数据库的理想选择。您的卷在单个 AWS 区域内的所有可用区域中始终可用。此外,Cloud Volumes 还提供独特的功能,例如时间点快照技术,允许您在几秒钟内完成安全备份,而不会影响正在运行的数据库。通过在线管理控制台以及为您的 DevOps 和管理团队提供的专用 API,管理卷变得非常容易。
在基于 Oracle 的应用程序的开发、测试和支持过程中,不同的团队经常需要生产数据库的克隆副本。NetApp 利用其强大的克隆技术,让您可以根据需要即时创建无限数量的克隆数据库。这简化了数据库管理员的流程,使他们能够快速响应组织不断增长的需求。
NetApp Cloud Volumes 实现高吞吐量的秘密在于 Oracle 的 Direct NFS (dNFS) 功能,该功能允许多个网络会话并发访问卷。这比 AWS 的原生存储具有显著优势。NetApp 技术团队运行并发布的内部测试报告显示,在 100% 读取工作负载下,IOPS 接近 300,000,在 75/25 的读/写混合负载下,IOPS 为 235,000。虽然您的实际情况可能有所不同,但该团队能够在一个卷上实现 16Gb/秒的速率。请注意,写入性能的限制因素之一是 AWS 的最大 VPC 出口限制。虽然大多数读取不受限制,但如果达到 AWS 规定的 5Gbps 上限,您将遇到写入延迟。
NetApp 为 Cloud Volumes 的访问提供了三层定价方法,在性能和容量之间取得了平衡。根据您定义的 SLA 使用不同的层。这些层是:
- 标准 每 TB 最高 16MB 存储带宽(0.10 美元/GB/月)
- 高级 每 TB 最高 64MB 存储带宽(0.20 美元/GB/月)
- 极致 每 TB 最高 128MB 存储带宽(0.30 美元/GB/月)
每个单独的卷都可以从 1GB 开始创建,并可以随时轻松快速地扩展到 100TB。但是,您的数据库不受大小限制,并且可以超出所选限制而增长。请注意,AWS 将对所有流出到 Cloud Volumes 的流量(数据库写入)收取标准费用。当前价格因地区而异,从 0.01 美元/GB 到 0.02 美元/GB 不等(例如,一个平均数据库写入速度为 2MB/秒(或每秒 256 个 Oracle 8KB 块)。这笔额外费用大约为 0.72 美元/小时或 17 美元/天。在估算初始加载和持续的数据库操作时,请务必考虑此开销。通过 Chad Morgenstern 的精彩三部曲(第一部分、第二部分、第三部分)了解更多信息。
如果您已经在本地使用 NetApp,请考虑在即将进行的迁移中使用 Oracle Data Guard 或 Oracle GoldenGate Replication。使用实时复制将消除迁移数据到云端的一些挑战。此外,请考虑使用 Cloud Volumes 进行复制,以整合各种数据源并为您的数据提供单一参考点。
立即开始
在 NetApp 网站 上注册一个新帐户。(请注意,目前无法自动访问 NetApp Cloud Volumes,但近期将提供自助服务。)获得帐户访问权限后,登录控制台创建新的 Cloud Volumes。以下是快速启动数据库的主要步骤:
- 创建新的 Cloud Volume。建议创建两个卷,一个用于数据文件,一个用于重做日志文件。这将允许您拍摄数据库快照并应用单独的重做日志,以便将数据库恢复到最新状态。为您的卷选择一个唯一的名称,定义卷路径,指定服务级别,调整大小配额,然后单击“创建卷”。您的 Cloud Volume 将在几秒钟内配置完成。
- 所有 Cloud Volumes - 您可以在控制台中直接查看和管理所有 Cloud Volumes。还提供了一组 API 来自动化某些任务。
- 为您的 Oracle 数据库启用 Oracle Direct NFS 客户端控制 。默认情况下,Direct NFS 客户端在任何单实例 Oracle 数据库安装中都处于禁用状态。您需要启用此功能才能使用 NetApp Cloud Volumes。
- 将当前目录更改为$ORACLE_HOME/rdbms/lib
- 输入以下命令: make -f ins_rdbms.mk dnfs_on
- 挂载卷。创建卷后,NetApp Cloud Manager 将提供必要的挂载说明。
- 创建您的数据库。现在您已经在系统上分配并可用了存储,像平常一样创建数据库。以下是两个屏幕截图,显示了我测试期间在创建的 Cloud Volumes 上找到的数据库文件。
总结
随着对数据和分析的需求呈指数级增长,您的数据库和存储需求也随之增长。NetApp 通过 Cloud Volumes 使高性能存储的配置变得快速而无缝。我尚未在生产环境中部署 Cloud Volumes,但我期待使用这项技术来帮助我简化 Oracle 数据库的工作流程。