

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 成本优化支柱
<a name="cost-optimization-pillar"></a>

Well-Architecte AWS d Framework [的成本优化支柱](https://docs.aws.amazon.com/wellarchitected/latest/framework/cost-optimization.html)侧重于避免不必要的成本。以下建议可以帮助您满足 Neptune Analytics 的成本优化设计原则和架构最佳实践。

成本优化支柱侧重于以下关键领域：
+ 了解一段时间内的支出并控制资金分配
+ 选择类型和数量正确的资源
+ 在不超支的情况下进行扩展以满足业务需求

## 了解使用模式和所需的服务
<a name="usage-patterns"></a>

在采用 Neptune Analytics 之前，请评估您的用例是否适合进行图表分析。
+ **图形数据库**：如果您的数据模型具有清晰的图形结构，并且您的查询需要探索关系并遍历多个跃点，则诸如 Neptune 之类的图形数据库非常适合您的工作负载。图形数据库不适合以下模式：
  + 主要是单跳查询。在此用例中，请考虑您的数据是否可以更好地表示为对象的属性。
  + 作为属性存储的 JSON 或二进制大对象 (blob) 数据。
+ **图表分析**：Neptune Analytics 是一个图形分析数据库引擎，可以快速分析内存中的大量图形数据，以获得见解和发现趋势。您可以在 Neptune 数据库和 Neptune Analytics 图表中存储和查询图表数据。Neptune 数据库最适合可扩展的在线事务处理 (OLTP) 需求。Neptune Analytics 最适合临时分析工作负载。您可以将两者结合使用，方法是将数据从面向交易的 Neptune 数据库加载到 Neptune Analytics 图表中，对这些数据进行分析。分析完成后，您可以移除 Neptune Analytics 图表。有关更详细的比较，请参阅 Neptune Analytics 文档[中的何时使用 Neptune Analytics 以及何时使用 Neptune](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/neptune-analytics-vs-neptune-database.html) 数据库。

在考虑成本的基础上，确定如何最好地填充您的 Neptune Analytics 图表。
+ [批量导入](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/bulk-import.html)暂存在 S3 存储桶中的图表数据。如果您的数据之前已暂存以批量加载到 Neptune 数据库，或者您已经拥有或可以轻松生成要以 [CSV 或批量导入所需的其他支持格式](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/loading-data-formats.html)进行分析的数据，我们建议您使用此选项。您可以将批量导入作为图表创建过程的一部分运行。[您可以对最小和最大容量设置界](https://docs.aws.amazon.com/neptune-analytics/latest/apiref/API_CreateGraphUsingImportTask.html)限。您还可以在[先前创建的空图表上运行导入](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/loading-data-existing-graph.html)，并在[导入任务运行时对其进行监控](https://docs.aws.amazon.com/neptune-analytics/latest/apiref/API_ListImportTasks.html)。
+ [你可以创建一个空图，然后使用批量加载通过 OpenCypher 查询填充它。](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/batch-load.html)如果要加载的数据暂存在 Amazon S3 中且小于 50 GB，则此选项非常理想。
+ 您可以[从 Neptune 数据库集群（在 Neptune 数据库版本 1.3.0 或更高版本中支持）中的数据填充图表](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/bulk-import-create-from-neptune.html)。这种模式的目的是对*当前*存在于图表数据库中的数据进行分析。即使数据库最初是通过批量加载填充的，此后也可能发生了重大变化。要从数据库导入，Neptune Analytics 会克隆您的数据库并将克隆中的数据导出到 S3 存储桶。此过程会产生成本：尤其是运行克隆的 Neptune 数据库成本，以及 Amazon S3 存储和使用导出数据的成本。导出完成后，克隆将被删除。您可以在 Amazon S3 中删除导出的数据。
+ 您可以[从 Neptune 数据库集群的快照中填充图形](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/bulk-import-create-from-neptune.html)。这与前一个选项类似，唯一的不同是源是数据库快照。要从快照导入，Neptune Analytics 首先将快照恢复到新的数据库集群，然后将数据导出到 S3 存储桶。此过程会产生成本：尤其是运行已恢复集群的 Neptune 数据库成本，以及 Amazon S3 存储和使用导出数据的成本。
+ 您还可以通过在图表上使用符合原子性、一致性、隔离性、耐久性 (ACID) 的事务来执行 OpenCypher 查询来创建、更新或删除数据。我们建议使用这种方法来进行小幅更新，但不能作为播种图表的一种方式。

如果分析所需的数据已在 Amazon S3 中暂存，我们建议批量导入或批量加载。它们比从 Neptune 数据库集群或快照填充图表更具成本效益。

## 选择资源时要注意成本
<a name="consider-cost"></a>

Nep@@ [tune Analytics 的定价](https://aws.amazon.com/neptune/pricing/#Amazon_Neptune_Analytics)使用一种称为内存优化型海王星容量单位 (m-ncU) 的单位。使用给定的 m-ncU 运行图表需要支付固定的每小时成本。图表可能有用于故障转移的副本，而且这些副本还会产生每小时 m-nCU 成本。

我们建议采用以下最佳做法来估算容量、限制成本并根据性能监控成本：
+ 如果可能，请通过从现有来源导入数据来创建图表：在 Amazon S3 中暂存的数据或现有 Neptune 集群或快照。这可以节省您的精力，因为Neptune Analytics执行了为图表播种的繁重工作，并且[您可以指定最大容量。](https://docs.aws.amazon.com/neptune-analytics/latest/apiref/API_CreateGraphUsingImportTask.html)
+ 您可以[更改现有图表上的预配置容量](https://docs.aws.amazon.com/neptune-analytics/latest/apiref/API_UpdateGraph.html)。
+ 当不再需要该图表时，您可以[创建快照并删除该图表](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/managing-deleting.html)。如果您需要再次使用它，可以从快照中恢复图表。
+ 在创建图表时，您可以选择副本的数量。根据您的分析可用性要求设置该值。通过最小化此设置来节省成本。最大值为 2 允许在不同的可用区中使用两个副本实例。最小值为 0 表示 Neptune Analytics 不会运行副本。但是，当副本可用时，恢复速度会更快。有关图表失败和恢复的说明，请参阅 “[可靠性” 支柱](reliability-pillar.md)部分。
+ 使用监控当前和过去账单周期的 Neptune Analytics 费用。[AWS 账单与成本管理](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html)
+ 监控 Neptune Analytics 的指标`GraphSizeBytes`，尤其`NumQueuedRequestsPerSec`是`CPUUtlization`、、和，以评估配置的容量大小是否适合图表。 CloudWatch `NumOpenCypherRequestsPerSec` `GraphStorageUsagePercent`确定较小的容量能否容纳观察到的请求速率、CPU 使用率和图形大小。
+ 如果您的图表需要私有终端节点，请注意弹性 IPs、虚拟私有云 (VPC) 终端节点、NAT 网关的成本或其他与 VPC 相关的费用。有关更多信息，请参阅 [Amazon VPC 定价](https://aws.amazon.com/vpc/pricing/)和[亚马逊 EC2定价](https://aws.amazon.com/ec2/pricing/)。
+ 您可能需要运行一个或多个 Neptune 笔记本实例，以提供客户端界面来帮助开发人员和分析师查询和可视化图表（参见 Nept [un](https://aws.amazon.com/neptune/pricing/#Neptune_workbench) e 工作台定价）。为了最大限度地降低成本，请在用户之间共享实例，并为每个用户创建单独的笔记本文件夹。不使用实例时将其关闭。有关自动关闭的方法，请参阅 AWS 博客文章[使用资源标签自动停止和启动 Amazon Neptune 环境资源](https://aws.amazon.com/blogs/database/automate-the-stopping-and-starting-of-amazon-neptune-environment-resources-using-resource-tags/)。