Snowflake Connector for ServiceNow®V2 的成本治理¶
Snowflake Connector for ServiceNow® V2 受 Snowflake Connector 条款 的约束。
本主题提供有关成本治理和为 Snowflake Connector for ServiceNow®V2 找到最佳仓库大小的最佳实践。
衡量连接器的成本¶
如果连接器有一个仅用于数据引入和存储的单独账户,并且该账户没有显示其他活动(例如用户使用所引入的数据执行查询),则您可以读取账户级别的总体成本。要了解更多信息,请参阅 探索总体成本。
如果账户不仅仅专用于连接器或者需要进一步调查成本,则应分别分析三个组件的收费成本:
有关成本这三个组成部分的介绍,请参阅 了解总体成本。
一般建议¶
要获取连接器产生的费用,我们建议创建一个单独的账户,专门用于使用连接器。这样您就可以跟踪连接器生成的确切数据传输。
如果您无法为连接器使用单独的账户,请尝试以下操作:
创建一个单独的数据库来存储引入数据,以便更轻松地跟踪存储成本。
仅为连接器分配仓库以获得准确的计算成本。
对数据库和仓库使用 对象标签,构建自定义成本报告。
计算成本¶
我们建议仅为连接器创建单独的仓库。此设置允许您为仓库创建 资源监视器。您可以使用监视器来发送电子邮件警报并暂停使用仓库,在超出设置的 Credit 配额时停止连接器。Credit 配额续订后,连接器会自动恢复。请注意,在引入大量数据的配置中将 Credit 配额设置得太低可能会导致连接器无法引入所有数据。
有关如何查看仓库消耗的 credit 的信息,请参阅 探索计算成本。您还可以为仓库分配 对象标签,并使用标签创建成本报告。
如果连接器使用的仓库被其他工作流程使用,您可以按角色分摊成本。要按角色拆分用量,请使用 拆分仓库用量查询 并在 QUERY_HISTORY 视图上添加以下 WHERE
子句:
WAREHOUSE_NAME = '<connector warehouse name>' AND ROLE_NAME = 'APP_PRIMARY'
该查询仅提供成本的近似值。
备注
只有一个原生应用程序可以使用该仓库,否则不同应用程序的成本将无法分割,因为每个原生应用程序都使用相同的角色名称 (APP_PRIMARY)。
存储成本¶
Snowflake Connector for ServiceNow®V2 将数据存储在两个地方:
连接器数据库通过列表创建,还可以保存连接器内部状态。
由用户指定存储引入数据的架构。
Snowflake 故障安全 功能也使用数据存储。故障安全中存储的数据量取决于连接器已完成的表格更新。如果从 ServiceNow® 引入的表行频繁更新或重新加载整个表,数据量会增加。通常,连接器设置后七到十天,故障安全数据量会稳定下来(假设未执行重新加载并且引入的数据流速率稳定)。
如果您想检查 Snowsight 中的存储空间用量,我们建议使用单独的数据库来存储引入的数据。通过这种方式,您可以按对象筛选存储空间用量图表,该图表按单个数据库显示的使用情况。您也可以通过查询 DATABASE_STORAGE_USAGE_HISTORY 视图,以及按连接器使用的两个数据库进行筛选来查看。
如果数据库包含与连接器无关的其他架构,您可以查询专门用于从连接器引入的数据的特定架构的存储空间用量。您可以先按数据库和架构名称筛选,并使用存储空间用量将列汇总,再从 TABLE_STORAGE_METRICS 视图获取信息。
数据传输成本¶
连接器使用外部访问权限检索来自 ServiceNow® 的数据。Snowflake 仅根据连接器向 ServiceNow® 发出的请求大小对连接器生成的出口流量收费。ServiceNow® 的响应不会在 Snowflake 端产生成本。
有关数据传输用量的信息仅在账户级别以所有外部访问集成的汇总形式提供。要访问传输的字节数,请使用 DATA_TRANSFER_HISTORY 视图并按 EXTERNAL_ACCESS 传输类型筛选。
运行状况检查任务成本¶
该连接器会创建一项无服务器任务,该任务将定期检查应用程序实例的运行状况,并 仅 将汇总结果(无论运行状况与否)发送给 Snowflake。该任务是在完成安装向导(或调用 FINALIZE_CONNECTOR_CONFIGURATION
工作表)后创建的。它在后台运行,即使没有启用 ServiceNow® 表以进行复制,也会产生每天最多 0.5 Credit 的固定成本。
无法手动停止或删除该任务。但是,为降低此成本,您可以调用 PAUSE_CONNECTOR
过程,该过程将禁用该任务,并且在连接器未使用时不会产生任何成本。
成本优化¶
确定连接器实例的最佳仓库大小¶
要找到连接器的最佳仓库大小,应考虑影响连接器性能的因素,例如 ServiceNow® 实例的大小、启用的表的数量以及同步每个表的计划。例如,如果仅启用了几个表格,则连接器可能无法从增加的并行化中受益。
我们建议您定义一组可衡量的期望,例如应同步所有表格的时间间隔,并选择满足这些期望的最小仓库大小。对于包含数十个同步表格的大量引入数据,默认建议为大型仓库。另一方面,如果您只想试用连接器并启用单个表格进行引入,X-Small 仓库应该足够。要了解是否可以缩小仓库规模,请参阅 监控仓库负载。
在指定时间范围内自动启动和停止连接器¶
为了节省成本,您可以通过调用 PAUSE_CONNECTOR
和 RESUME_CONNECTOR
程序,仅在指定的时间范围内(例如,营业时间之外)运行连接器。
您可以使用任务自动暂停和恢复连接器。例如,您可以使用以下查询,在 UTC 营业时间之外运行连接器:
CREATE TASK start_connector_after_business_hours
WAREHOUSE = <my_warehouse>
SCHEDULE USING CRON 0 17 * * MON-FRI Europe/London
AS CALL <my_connector_servicenow>.PUBLIC.RESUME_CONNECTOR();
CREATE TASK stop_connector_before_business_hours
WAREHOUSE = <my_warehouse>
SCHEDULE USING CRON 0 9 * * MON-FRI Europe/London
AS CALL <my_connector_servicenow>.PUBLIC.PAUSE_CONNECTOR();
设置自定义数据引入计划¶
可为任何表配置特定的引入计划。这可用于减少 ServiceNow® 实例在工作时间内的仓库使用情况和负载。例如,每周只在周末运行时引入一次 example_table
表:
CALL <my_connector_servicenow>.PUBLIC.CONFIGURE_TABLES_SCHEDULE(['example_table'], { 'type': 'custom', 'value': { 'hour': 11, 'dayOfWeek': '6' } });
这将使连接器在每周六 11 AM UTC 为表 example_table
引入数据。