我正在计划一个可以处理来自多个数据源的更新的产品。输入数据估计为包含 100 字节大小的消息的总共 100Mbps 流。这些消息包含几个数据字段,需要检查它们与应用程序中现有数据集的相关性。如果输入消息与现有数据记录相关,则输入消息将更新现有数据记录,如果不是:它将创建新记录。假设数据平均每 3 秒更新一次。
假设关联过程是一个瓶颈,因此我打算让我们的产品在需要时能够在多个进程中平衡运行(很可能在单独的硬件或 VM 上)。有点接近天基建筑。然后,我希望在我的进程之间共享存储,以便所有正在运行的进程都可以看到所有现有数据记录。共享存储必须通过基于某些属性(例如海拔)的查询/搜索来获取可能的相关候选。它必须提供配置热冗余,以及每 5 分钟存储一次快照以进行日志记录的可能性。
一切似乎都指向 MongoDB,但我希望您确认 MongoDB 将满足我的需求。所以你认为这是一个去吗?-谢谢
注意:我没有考虑使用关系数据库,因为我们希望将所有编码都集中在我们的应用程序中,而不是必须在单独的环境中制作“存储过程”/“函数”来优化我们系统的性能。此外,数据是多种多样的,我不想尝试将其规范化为模式。