请求使用 Ridesharing 应用程序进行 RDMS Firebase 分片的高级建议

Requesting High Level Advice for RDMS Firebase Sharding With Ridesharing App

我有一个使用实时数据库构建的拼车应用程序。与许多应用程序一样,它跟踪用户位置并将这些位置与其他用户的位置结合使用。扩展研究表明超过 200k 的连接,我需要使用 RDMS 计划实施一个名为 "Sharding."

的概念

1) 我想我首先想到的是区域,但您可能和我有同样的想法:对于区域,边界会为靠近它们的用户创建断开连接。

2) 我想到的第二件事是将我们的数据操作迁移到 Firestore。我读到 Google 不推荐将 Firestore 用于位置应用程序,尽管 Geofire(我们使用它并取得了良好的效果,仅供参考)已经扩展到 Firestore,据说可以使用 GeoFirestore。甚至 Firestore 也有一个上限(尽管 1,000,000 允许在大多数地方使用区域,也许我可以将边界用户区域加倍)。

我现在正在为大城市里的人之类的问题摸不着头脑……到目前为止,我已经搜索了 SO 无济于事(它对很多其他问题都很好,所以坚持下去 SO 追随者),但我的直觉告诉我已经为此发明了轮子,所以我正在向你们寻求一些比区域更优雅的解决方案的想法。

编辑:简而言之,我怎样才能让每个人都在自己周围有一个半径,将每个人都包围在他们的半径内?

如有任何建议,我们将不胜感激。谢谢你。

为了分片,您需要能够识别一个单一的、不可变的值来决定某些数据属于哪个分片。如果你没有那个,那么你就不能分片。