对于相同的数据集,主要是文本数据,Postgresql的数据(表+索引)大小与MySQL相比如何?
Postgresql使用MVCC,这表明它的数据大小会更大
在此演示中,日本最大的博客网站谈到了它们从Postgresql迁移到MySQL的过程。他们离开Postgresql的原因之一是Postgresql中的数据大小太大(第41页):Migrating from PostgreSQL to MySQL at Cocolog, Japan's Largest Blog Community
Postgresql具有数据压缩功能,因此应减小数据大小。但是MySQL插件也有压缩功能。
有人对Postgresql和MySQL的数据大小如何相互比较有任何实际经验吗?
我做了几次从MySQL到PostgreSQL的转换,在所有这些情况下,PostgreSQL都缩小了大约10%(MySQL 5.0 => PostgreSQL 8.3和8.4)。这10%用于更改最新表上的填充因子,将填充因子设置为60到70。速度要好得多(并发用户超过20个也不会出现问题),数据大小也很稳定,没有MVCC不受控制或真空到远远落后。
MySQL和PostgreSQL是两个不同的野兽,PostgreSQL完全是关于MySQL流行的可靠性。
两者在各自的文档中都有其存储要求:
MySQL:http://dev.mysql.com/doc/refman/5.1/en/storage-requirements.htmlPostgres:http://www.postgresql.org/docs/current/interactive/datatype.html
对两者的快速比较没有显示任何明显的“ zomg PostGres需要2 MB来存储位字段”类型的差异。我想Postgres可能比MySQL具有更高的元数据开销,或者不得不将其数据文件扩展为更大的块,但是我发现没有明显的迹象表明Postgres会“浪费”迁移到MySQL的空间。
我想补充一点,对于大型列存储,postgresql还利用了“ LZ系列压缩技术中相当简单且非常快的成员”对它们进行压缩的优势。
关于索引,