【发布时间】:2021-02-14 21:48:47
【问题描述】:
最初的问题是:最好将 GPX 路由存储在后端作为多个单独的文件还是单个整体文件?
您好,我目前正在使用 Squidex 为我的 iOS 应用程序构建后端 CMS,我想知道存储特定类别文件的最佳方式是什么。
我正在构建一个包含多个自然公园的徒步旅行应用。自然公园是我的对象层次结构的最顶层元素。它们包含许多字段,我们不会每天都创建一个,因为它们代表了很多工作。 所有这些公园都包含徒步旅行。应用程序应使用 GPX 文件格式显示远足路线。
使用该应用程序的人通常只会浏览几个公园,并且在这几个公园中,会检查 3 或 4 次徒步旅行。根据大小,公园将包含 10 到 200 次徒步旅行,每次徒步旅行都有自己的 GPX 路线。
我想知道最好的方法是什么。 我应该为每次徒步旅行设置一个 GPX 文件字段,还是应该为整个自然公园只制作一个 GPX 文件?“整体”GPX 文件将包含由 ID 标识的所有徒步旅行路线.
我的主要考虑是:
- 网络成本设备消耗的时间和能源:人们会在网络可能稀缺的地方使用这个应用程序,所以我必须小心管理它。单个文件的单个 GET 调用之间最昂贵的费用是多少,或者假设在很长一段时间内对多个小文件进行 5 到 10 次 GET 调用?
- 数据中的网络成本:获取整个文件在传输数据和影响用户的蜂窝计划方面肯定会更加昂贵。但我认为我们谈论的最多为 10Mb。 GPX 文件并没有那么大,即使是单体也不应该比几张图片大。
- 托管费用:大多数 CMS 按网络调用收费,不一定按传输的数据量收费。但是,对于资产而言,情况往往恰恰相反。
考虑到这些因素,我意识到我的问题可以改写为:与单个大型网络调用相比,小型网络调用的成本是多少?。
当然,我们谈论的是为移动客户提供服务的后端,因此请记住,网络呼叫将在较差的网络条件下执行,这会导致下载速度更长,手机无线电消耗更多能量。
您可能会注意到,我真的很喜欢单体方法,但鉴于我在后端开发方面的经验不足,我害怕错过一些东西。
提前感谢您的见解。
【问题讨论】:
-
这取决于您愿意一次丢失多少数据。数据包会丢失,数据包中的数据越多,丢失数据包时丢失的数据就越多。
标签: ios networking backend assets gpx