首页 > 解决方案 > Salesforce 中的大数据负载

问题描述

我遇到了奇怪的限制,想听听是否有人解决了这个问题。

问题陈述:从外部加载 Salesforce 中的数据。数据量为 100 万条记录,每 3 小时一次。

我的源编排工具 (NiFi) 能够制作这么多 REST API,但销售人员要求不要使用具有这么多吞吐量的 REST。我不确定销售人员或产品团队的限制是否造成了人为的天花板。

他们建议使用 dataloader,这似乎是 salesforce 的批处理加载器,但也不是那么快。它也有不同的问题。当我获取数据时,我无法触发数据加载器,所以也没有太大帮助。

很久以前,我使用 Informatica 连接到 salesforce,并且我们过去常常传递相似数量的数据,并且没有问题。有人可以回答 informatica 连接器是如何解决这个瓶颈问题的吗?它在下面使用什么?

还有其他方法可以将这么多数据推送给salesforce吗?

标签: salesforceinformatica

解决方案


简短的回答:重新考虑您的用例。重写您的应用程序以使用不同的连接到 SF 的机制。

长答案:标准 Salesforce API(SOAP 或 REST,没关系)是同步的。请求-响应,工作完成。一次 API 调用中最多只能有 200 条记录。您的卷更适合批量 API。那个是 REST-only(虽然它可以接受 XML、JSON 或 CSV),一个 API 调用中最多 10K 记录。主要区别在于它是异步的。您提交作业,您取回作业的 ID,您可以检查它(每 10 秒?每分钟?)“它完成了吗?如果是 - 给我我的成功/失败结果”。但是这些检查中的每一个当然也会消耗 1 个 API 调用。与此同时,SF 从您那里收到了一堆压缩文件,并将在资源允许的情况下尽快解压缩和处理它们。

所以(忽略最初的login电话)让我们谈谈限制。在沙盒中,API 调用的 24 小时滚动限制为 500 万次调用。大量的。在生产中,每个完整许可用户(销售云、服务云)需要 15K API 调用 + 1K + 您可以购买更多容量...或者只需转到设置 -> 公司信息并检查您的限制。

假设您有 5 个用户,因此每天有 20K 次通话。在最大容量的 24 小时内,您将能够推送 10K * 20K = 200M 插入/更新。好吧,由于登录调用和检查状态并拉下结果文件,所以少了一点,但仍然 - 相当不错。如果这还不够——你有更大的问题;)使用标准 API 会让你去 200 * 20K = 仅仅 4M 记录。

SF 支持告诉您使用 Data Loader,因为在 DL 中,它只是勾选一个复选框以使用批量 API。您不在乎后端机制不同。您甚至可以编写 Data Loader 脚本以从命令行运行(https://resources.docs.salesforce.com/216/latest/en-us/sfdc/pdf/salesforce_data_loader.pdf第 4 章)。或者,如果它是一个 Java 应用程序 - 只需重用构建 DL UI 的 JAR 文件。

这些也可能有帮助:


推荐阅读