通过缩短字段名称来节省firebase带宽?

Pub*_*cus 8 firebase

使用Firebase我给这些字段提供了易于理解的名称,例如"timestamp","last_changed","message_direction"等.

字段名称是每个"行"的数据交换的一部分吗?

意思是,我会通过缩短字段名称来节省带宽吗?

Kat*_*ato 19

正如弗兰克指出的那样:是的,它们会影响带宽.但是,如果你进行数学计算,你会发现带宽很少值得付出努力和混淆,而且通常你的数据有效负载会大大超过密钥的几个额外字符.

让我们考虑平均聊天消息:

{
  "sender": "typicaluserid:12345678901234567890",
  "timestamp": 1410193850266,
  "message": "Hello world. All your base are belong to us!"
}
Run Code Online (Sandbox Code Playgroud)

好的,首先让我们看一下这条消息的有效载荷.这是163字节,UTF-8编码.如果我将密钥更改为无意义的三个字符ID(例如sdr,ts和msg),那么它将是149个字节.有了一些自由填充的交易开销,让我们说大约40个字节,大约节省2%,以换取需要一个rosetta stone来读取我的数据.

接下来,让我们考虑带宽使用情况.如果我们有一个非常活跃的,非常庞大的聊天系统(即我们正在严肃的$$),我们可能有10k活跃用户每天平均发送50封邮件.这意味着我们每天都会发送200 bytes * 500k = 100MB数据,或者3GB每月发送大量数据.

这意味着我可以在Firebase的免费计划中轻松支持大规模聊天系统,而不会超出带宽限制.

如果我们把那11个字节关掉,我们就有了189 * 500k * 30 = 2.8GB.所以努力没有显着差异.