5

ほとんどがテキストデータである同じデータセットの場合、Postgresqlのデータ(テーブル+インデックス)サイズはMySQLのデータと比較してどうですか?

  • PostgresqlはMVCCを使用しているため、データサイズが大きくなる可能性があります

  • このプレゼンテーションでは、日本最大のブログサイトがPostgresqlからMySQLへの移行について話しました。Postgresqlから離れた理由の1つは、Postgresqlのデータサイズが大きすぎることでした(p.41)。 日本最大のブログコミュニティであるCocologでPostgreSQLからMySQLに移行する

  • Postgresqlにはデータ圧縮があるため、データサイズを小さくする必要があります。ただし、MySQLプラグインにも圧縮機能があります。

PostgresqlとMySQLのデータサイズを比較する実際の経験はありますか?

4

4 に答える 4

5
  • 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は2つの異なる獣であり、PostgreSQLは、MySQLが人気のある信頼性がすべてです。

于 2010-08-16T06:08:02.637 に答える
4

どちらも、それぞれのドキュメントにストレージ要件があります。

MySQL:http
://dev.mysql.com/doc/refman/5.1/en/storage-requirements.html Postgres:http ://www.postgresql.org/docs/current/interactive/datatype.html

2つを簡単に比較しても、「zomgPostGresはビットフィールドを格納するために2メガバイトを必要とする」という重大なタイプの違いは示されていません。PostgresはMySQLよりもメタデータのオーバーヘッドが高いか、データファイルをより大きなチャンクに拡張する必要があると思いますが、PostgresがMySQLへの移行が解決策であるスペースを「浪費」していることは明らかではありません。

于 2010-08-16T04:34:55.570 に答える
2

インデックスについて、

MySQLはデータをインデックス内に格納するため、データは巨大になります。Postgresはそうではありません。これは、Postgresのbツリーインデックスのストレージサイズが、それがまたがる列の数や列のデータ型に依存しないことを意味します。

Postgresは部分インデックス(WHERE status = 0など)もサポートしています。これは、数百行しか必要ないときに数百万行を超えるインデックスを作成することを防ぐ非常に強力な機能です。

Postgresに大量のデータを配置するので、テーブルをロックせずにインデックスを作成できることが実用的であることがわかるでしょう。

私のiPhoneから送信された。スペルが間違っていて、参照が不足していることをお詫びします

于 2010-08-16T11:33:54.557 に答える
2

大きな列ストアの場合、postgresqlは、「LZファミリーの圧縮技術のかなり単純で非常に高速なメンバー」を使用してそれらを圧縮することも利用していることを付け加えたいと思います。

これについて詳しくは、 http://www.postgresql.org/docs/9.0/static/storage-toast.htmlをご覧ください。

かなり低レベルで、おそらく知る必要はありませんが、ブログを使用しているので、ブログの恩恵を受けることができます。

于 2010-08-18T09:25:17.253 に答える