存储数据相当简单。 它被摄取,有时被压缩,然后发送到数据库、数据仓库或数据湖。数据压缩算法是缩小数据大小以节省存储成本的方法。 他们通常在数据中寻找模式并通过缩小数据来进行优化。另一种可能节省数据存储的方法是使用 π 作为存储。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。 对此进行扩展的一种可能方法是将数据编码为更小的“字节”大小的数据块。出于加密目的,这会很有趣,因为这两个指针都与它们所代表的实际数据无关。