Firebase数据库设计建议书

Ron*_*nen 0 firebase firebase-realtime-database

我正在编写一个处理组织成员和付款的应用程序.我有以下实体:

Organization---+
               |
               +---Members-----+
               |               |
               |               +---Children
               +---Accounts
               |
               +---Payments
Run Code Online (Sandbox Code Playgroud)

每个组织可以支付> 100,000,但只有少数会员和帐户.当会员登录后,他只能看到他的付款.管理员登录后,他应该能够访问所有数据.

问题是:

  1. 我应该保持组织的层级结构还是应该压扁每个实体?
  2. 如果我想保持结构分层,是否有可能让组织只有部分子集(不是所有成员而不是所有付款)

谢谢.

Fra*_*len 5

使用Firebase的实时数据库时要始终牢记的一件事是您要检索的数据量以及您使数据库考虑的数据量.

如果您让数据库考虑100K付款以显示当前用户的<10付款,那么您浪费了大量资源.我在此处写了更多相关内容:Firebase可扩展性限制Firebase性能:每个节点有多少个孩子?.

如果您分别为每个用户的付款建模,则会大幅减少服务器必须考虑的数据量.这提高了可扩展性,当然不是线性的.

如果管理员用户需要查看所有数据,我建议您首先让他们选择一个用户.之后,他们将遵循与普通用户相同的访问模式.