相关疑难解决方法(0)

Django:数据库级别或代码级别的TextField(字符串)数据压缩

我制作了 Django 模型,并将测试/虚拟记录插入到 PostgreSQL 数据库后,我意识到每条记录的数据都非常大。所有字段中的数据总和约为每条记录 700 KB。我估计我将拥有大约 500 万条记录,因此这将变得非常大,大约 3350 GB 标记。我的大部分数据都是大型 JSON 转储(每个字段大约 70+ KB)。

我不确定 PostgreSQL 在通过 Django 框架处理时是否会自动压缩我的数据。我想知道在将数据输入数据库之前是否应该压缩数据。

x问题:使用 Django 模型字段类型时,PostgreSQL 是否会使用某种压缩算法自动压缩我的字符串字段TextField

我是否应该依赖 PostgreSQL 并预先压缩我的数据,然后将其输入数据库?如果是这样,我应该使用哪个压缩库?我已经zlib在Python中尝试过了,看起来很棒,但是,我读到gzip也有库,但我很困惑哪个是最有效的(就压缩和解压缩速度以及压缩百分比而言)。

编辑:我正在阅读CompressedTextField 的 Django 代码片段,这引发了我对使用哪个压缩库的困惑。我看到有些人用zlib,有些人用gzip

编辑2:这个stackoverflow问题说PostgreSQL自动压缩字符串数据。

编辑3:PostgreSQL使用pg_lzcompress.c进行压缩,它是LZ压缩系列的一部分。可以安全地假设我们不需要对其本身使用某种其他形式的压缩(zlib或),因为它在数据库本身中是数据类型(可变长度字符串)?gzipTextFieldtext

python database compression django postgresql

5
推荐指数
1
解决办法
1977
查看次数

Postgres的文本列不喜欢我的zlib压缩数据

是否有更好的数据类型用于在Postgresql中存储zlib压缩字符串?

sql compression postgresql zlib

4
推荐指数
2
解决办法
2269
查看次数

标签 统计

compression ×2

postgresql ×2

database ×1

django ×1

python ×1

sql ×1

zlib ×1