【问题标题】:Can I compress data for Database with swift?我可以用 swift 压缩数据库的数据吗?
【发布时间】:2019-10-28 01:54:22
【问题描述】:

我正在尝试将数据存储在 Firebase 数据库中,但我担心当前存储计划的空间不足。有没有一种相对简单的方法可以在将数据上传到数据库之前对其进行压缩,然后再解压缩?

这些数据很简单:字符串、整数,可能还有双精度数。 (使用 Firebase 的 JSON 样式格式)

【问题讨论】:

  • 我的建议是,不要担心,做一些计算,看看你的应用实际使用了多少数据。由于您正在存储字符串,因此使用 ASCII 作为量尺进行一些快速数学运算; 1 个字符 = 1 个字节。例如,如果一个字符串有 20000 个字符 = 20000 个字节。与单个节点中字符串的最大大小(即 10 MB)相比,除以 1000 得到 20 kb(即 0.02 Mb)。 Firebase 数据是 UTF-8 编码的,将 20k 乘以 4。所以 20,000 个字符的字符串占用 80k。如果您要存储大量数据集,那么@frankvanpuffelen 的答案就是您要走的路; Firebase 存储。

标签: json swift firebase compression


【解决方案1】:

数字具有固定大小,因此您无法在压缩它们的同时仍将它们保留为数字。

唯一可以合理压缩的类型可能是字符串。任何 JavaScript 字符串压缩库都可能是一个不错的起点,所以我建议您看看这个问题:String compression in JavaScript

也就是说:您通常存储在数据库中的字符串大小通常不会太大,因此节省的空间可能很小。如果您有大量数据,请考虑是否最好将其存储在 Cloud Storage 中的文件中,然后将其(小得多的)路径存储在数据库中。

【讨论】:

    猜你喜欢
    • 2011-09-01
    • 1970-01-01
    • 2021-03-07
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多