Postgresql vs. MySQL:它们的数据大小如何相互比较?

问题描述 投票:4回答:4

对于相同的数据集,主要是文本数据,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 storage data-storage
4个回答
4
投票
  • MySQL也使用MVCC,只需检查innoDB。但是,在PostgreSQL中,您可以更改FILLFACTOR以腾出空间以便将来更新。有了这个,你可以创建具有空间的数据库对于当前数据,但对于某些将来的更新和删除。什么时候autovacuum和HOT做他们的事情是的,数据库的大小可以保持稳定。
  • 博客是关于旧版本的,很多发生了变化,PostgreSQL在压缩方面做得更好就像过去一样。
  • 压缩取决于数据类型,配置和速度也是如此。您必须进行测试以查看其工作方式针对您的情况。

我做了几次从MySQL到PostgreSQL的转换,在所有这些情况下,PostgreSQL都缩小了大约10%(MySQL 5.0 => PostgreSQL 8.3和8.4)。这10%用于更改最新表上的填充因子,将填充因子设置为60到70。速度要好得多(并发用户超过20个也不会出现问题),数据大小也很稳定,没有MVCC不受控制或真空到远远落后。

MySQL和PostgreSQL是两个不同的野兽,PostgreSQL完全是关于MySQL流行的可靠性。


4
投票

两者在各自的文档中都有其存储要求:

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的空间。


2
投票

我想补充一点,对于大型列存储,postgresql还利用了“ LZ系列压缩技术中相当简单且非常快的成员”对它们进行压缩的优势。


1
投票

关于索引,

© www.soinside.com 2019 - 2024. All rights reserved.