【问题标题】:firebase performance and scalabilityfirebase 性能和可扩展性
【发布时间】:2019-09-10 14:40:38
【问题描述】:

我想知道查询数千条记录可能需要多长时间,将来可能会达到数百万条记录。

我将有一个时间表集合,用于存储来自各种医疗保健专业人员的时间表,我真的不知道我应该将时间表存储在专业人员内还是单位内。

Firebase 中可以创建一些索引,但我怎样才能以不复杂的方式获取计划?

1.第一种方式。

db.collection('unity').doc('6BfbptQ8blacBLi1GNIJ').collection('schedules').

2。第二种方式。

 db.collection('unity').doc('6BfbptQ8blacBLi1GNIJ')
.collection('professionals').
doc('Z6JDd0Ek7WO8yqiZJkBuJooF1FH3')
.collection('schedules').

使用第二种方法,我将不得不遍历该单元的所有专业人员,并获取每个专业人员的所有日程安排,并添加计数以获得该单元的总日程安排,这不会很酷。

我想知道当集合有数千或数百万条记录时我是否可以表现良好。

【问题讨论】:

    标签: angular typescript firebase google-cloud-firestore


    【解决方案1】:

    这取决于数据量。成千上万的文档不是问题,但您必须记住,您必须支付通过网络传输所有数据的费用,可能是通过移动连接。这可能是很多数据,并且可能需要很多时间。发出请求的客户端设备也需要可用内存来存储所有这些结果。

    如果不知道确切您尝试传输的查询结果、网络质量以及应用程序可用的内存,则无法说这是否可行。您应该自己对此进行基准测试。

    【讨论】:

    • 感谢您的回答,我正处于结构化阶段,我正在定义它。例如,如果我使用在一个月内搜索记录的查询进行查询,如果我搜索的这个集合有很多记录,它仍然可以吗?通过按时间表日期进行索引,即使在集合中有数千条记录,是否可以获得具有性能的一个月时间表?
    • 集合的大小根本不重要。它可能有数十亿条记录并且没有问题。结果集(匹配文档)的大小对性能很重要。
    • 我明白你说的。文档阅读是否根据查询类型进行?因为我总是会在一个月内获得记录,所以我相信我在这个集合中每月有 6,000 条记录,在本例中为 6,000 条读数。如果我用同一个查询进行两次查询,我会在 Cloud Firestore 中进行两次读数吗?
    • 对于传输到客户端的每个文档,查询都需要读取一个文档。
    • 好的,谢谢你的回答,我明白我需要什么了!
    猜你喜欢
    • 2016-11-20
    • 2012-05-10
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    • 2019-09-05
    相关资源
    最近更新 更多