gpt4 book ai didi

meteor - 用于同步大量数据的 DDP 与直接 MongoDB 访问

转载 作者:行者123 更新时间:2023-12-02 22:07:08 25 4
gpt4 key购买 nike

我们正在 Meteor 中构建一个将参与教育生态系统的应用程序。有许多应用程序(例如 GradeBook、学生信息系统、报告系统......)都需要将其数据存储与 Meteor 保持同步。数据存储大小将达到数十万个文档。

我的理解是,DDP 用于将“客户端”连接到 Meteor 应用程序(通过在 Meteor 推送数据更改和 RPC 以将数据导入 Meteor 时订阅提要)。而“客户端”的范围通常是用户......因此与数据的整体相比,数据集的大小相对较小(教师可能可以访问 250K 文档中的 100 个)。

如果我使用 DDP 将报告系统(作为“客户端”)连接到 Meteor,商店中的所有数据都需要同步......这是否意味着每次报告系统失去与 Meteor 的连接时,所有数据会从 Meteor 重新发送到 DDP 客户端吗? (因为报告系统对所有数据都感兴趣)……如果是这样的话,DDP 就不会是保持应用程序同步的方法,对吧?……这对范围更小的数据集意味着更多…… ..我们可能应该直接与 Mongo 交互以保持同步。

谢谢!迈克

最佳答案

基于此 http://meteor.com/blog/2012/03/21/introducing-ddp

Distributed Data Protocol. DDP is a standard way to solve the biggest problem facing client-side JavaScript developers: querying a server-side database, sending the results down to the client, and then pushing changes to the client whenever anything changes in the database.

很明显,任何新的 DDP 客户端都会接收所有数据,然后随着数据的变化而变化。

我建议,如果您的“客户端”不需要 react 性/实时更新/双向同步,您应该直接从 mongo 中提取数据并避免“同步”的开销。对于“报告系统”,这应该是完全可以接受的,获取大量数据,生成报告。您不应该关心在此上下文中更改数据,只关心快照和来自该快照的报告。

如果您确实需要更实时的功能,DDP 可能值得付出开销和初始设置难度。

关于meteor - 用于同步大量数据的 DDP 与直接 MongoDB 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15931368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com