使用 π 存储数据

2023-03-21   出处: medium  作/译者:Jeffrey Morris/Yilia


  存储数据相当简单。 它被摄取,有时被压缩,然后发送到数据库、数据仓库或数据湖。数据压缩算法是缩小数据大小以节省存储成本的方法。 他们通常在数据中寻找模式并通过缩小数据来进行优化。另一种可能节省数据存储的方法是使用 π 作为存储。Pi 是一个无限数,表示圆的周长与其直径的比值。 它还包含所有可能的数字,这意味着理论上它也存储其中所有内容的数据。
  另一种说法是,如果可以将它编码为数字,它应该存在于 Pi 中。将任何大数编码成 pi 就是将这个数的起点和终点存储在 pi 中,然后在解码时找到这 2 个指针之间的数据。例如,如果我想存储数字 14159,将存储 (1,6),它的数据远小于原始 14159。我们可以通过几种方法来实现这一点。 首先是缓存 pi 的值,然后快速搜索它以找到你的指针,这违背了节省存储成本的目的,因为 Pi 正在存储。 因此,我改为在每次运行时计算 Pi 的值,这要慢很多数量级。在大多数情况下,存储更大数字的指针实际上可能比原始数据本身占用更多的数据。
python 代码
一些快速性能测试:
2 位数字 — 0 秒
3 位数 — 7.3 秒
4 位数 — 15.1 秒
5 位数 — 9.4 秒
6 位数字 — 10 分钟后停止运行

结论:

这是一篇讽刺文章,对于任何想在世界末日之前存储/检索数据的人来说,这是一个糟糕的主意。 这类似于用于数据存储的 Monkeysort。 对此进行扩展的一种可能方法是将数据编码为更小的“字节”大小的数据块。出于加密目的,这会很有趣,因为这两个指针都与它们所代表的实际数据无关。


声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
218° /2189 人阅读/0 条评论 发表评论

登录 后发表评论