Firebase的多个实例

时间:2018-10-04 11:31:27

标签: android firebase firebase-realtime-database

我正在开发一个Android应用程序。实际上,我的应用程序是供社团/公寓使用的。我正在使用Firebase存储应用程序的所有数据。我有一个Firebase数据库,我想将一个数据库实例分配给一个社团。像社会A一样,将有一个数据库实例。社团B将拥有同一数据库的另一个实例。等等。主数据库将具有其所有数据库实例的链接。 我该如何实现? 我还想知道我们可以在Firebase中为一个项目创建多少个数据库实例?

1 个答案:

答案 0 :(得分:2)

firebaser here

具有多个实时数据库实例的能力是使其能够扩展到单个数据库的能力之外。这就是所谓的分片,因为此方法的关键是将整个用户群划分为单独的分片,其中分片之间的交互作用很小。

但是,您应该考虑是否确实需要为每个社会/公寓单独分配一个碎片。我建议仔细研究When to shard your data,看看您的使用是否真的超出了实时数据库实例的可伸缩性能力。尽管在您的方案中听起来很可能实现技术上的分片,但是使用分片会使事情变得非常复杂,因此,仅应在实际需要时才使用它。

例如您可以通过在单个数据库实例中将社团/公寓的数据划分为单独的分支来轻松开始:

/apt1
  users
  groups
  places
/apt2
  users
  groups
  places
/apt3
  users
  groups
  places

然后,如果您达到了需要分割的条件,则可以将其中一些单元移动到另一个数据库实例中,并使用主数据库(或通常可扩展性更好的隐式键映射)来将用户/公寓绑定到数据库实例。

没有记录的分片数量限制。每个数据库实例的确切含义是:一个单独的数据库,它具有自己的URL,(可能)在不同的基础结构上,等等。可以创建多少个实例可能存在物理限制,但是我还是要回到上一段:如果您发现自己创建了数百个分片,则可能是因为它们需要的数量过多。