私はデータマイニングを行っており、+1GB のデータベース ダンプ ファイルを MySQL にロードおよびアンロードする作業を行っています。巨大なデータベースで MySQL よりも優れた無料のデータベース エンジンが他にあるのでしょうか? PostgreSQL はパフォーマンスの面で優れていますか?
私は基本的な SQL コマンドしか使用しないため、データベースを選択する際の唯一の要因は速度です。
私はデータマイニングを行っており、+1GB のデータベース ダンプ ファイルを MySQL にロードおよびアンロードする作業を行っています。巨大なデータベースで MySQL よりも優れた無料のデータベース エンジンが他にあるのでしょうか? PostgreSQL はパフォーマンスの面で優れていますか?
私は基本的な SQL コマンドしか使用しないため、データベースを選択する際の唯一の要因は速度です。
別のデータベース エンジンに置き換えても、パフォーマンスが大幅に向上する可能性はほとんどありません。あなたが言及した速度低下は、スキーマの設計とデータ アクセス パターンに関連している可能性が高くなります。多分あなたはそれについてもう少し情報を提供できますか?たとえば、データは時系列で保存されていますか? レコードは一度シーケンシャルに書き込まれますか、または任意に挿入/更新/削除されますか?
巨大なデータを挿入する前にインデックスを削除する限り、これら 2 つの間に大きな違いはないはずです。
HDFは、たとえば、NASA の地球観測システムのストレージとして選択されています。従来の意味での正確なデータベースではなく、独自の癖がありますが、純粋なパフォーマンスという点では、これに勝るものはありません。
データマイニング ツールでサポートされている場合は、フラット ファイル ソースから作業することを検討してください。これにより、ほとんどのインポート/エクスポート操作を節約できます。ただし、いくつかの注意事項があります。
データ変更を行うには、Perl や Python などのスクリプト言語に習熟する必要がある場合があります (まだ慣れていない場合)。
より多くのメモリが必要な場合は、コンピュータのメモリを拡張するか、64 ビット プラットフォームに移行する必要がある場合があります。
お使いのデータ マイニング ツールは、この方法でフラットなデータ ファイルを操作することをサポートしていない可能性があります。
最新のディスク (SATA ディスクを含む) は、シーケンシャル読み取りでディスクから 100MB/秒程度を引き出します。これは、何かが 1GB のファイルをかなり速く吸い込む可能性があることを意味します。
または、マシンに SSD を取り付けて、DBMS のパフォーマンスが向上するかどうかを確認することもできます。
現在のプロジェクトで PostgreSQL を使用しており、データベースを頻繁にダンプ/復元する必要もあります。400Mb の圧縮ダンプを復元するのに 20 分もかかりません。ハードウェア構成に準拠するために一部のサーバー構成パラメーターを微調整する必要がありますが、試してみることができます。これらのパラメータには以下が含まれますが、これらに限定されません:
あなたの質問があいまいすぎて、役に立たない。「パフォーマンス」は、人によってさまざまな意味を持ちます。MySQL と PostgreSQL が重要ないくつかの領域でどのように比較されているかについてコメントすることはできますが、情報がなければ、これらのどれが実際に重要であるかを判断するのは困難です. このトピックに関する背景情報については、MySQL の代わりに PostgreSQL を使用する理由: 信頼性と速度の比較 にまとめています。どちらが速いかは、あなたが何をしているかによって異なります。
データベースへのデータのロードが遅すぎるという問題はありますか? これは、PostgreSQL が特にうまく機能しない領域の 1 つです。Postgres の COPY コマンドは、特に最速の一括読み込みメカニズムではありません。
クエリの実行が遅すぎるという問題はありますか? そうですか、どれくらい複雑ですか?複雑なクエリでは、PostgreSQL オプティマイザーは、特に多くのテーブル結合が関係している場合、SQL のオプティマイザーよりも優れた仕事をすることができます。小規模で単純なクエリは、開始前にクエリを実行する方法についてあまり考えていないため、MySQL ではより高速に実行される傾向があります。よりスマートな実行には、多少のオーバーヘッドがかかります。
関与しているクライアントは何人ですか?MySQL は少数のクライアントでうまく機能しますが、クライアント数が多い場合は、PostgreSQL のロック メカニズムの方がうまく機能する可能性があります。
トランザクションの整合性を気にしますか? そうでない場合は、MySQL でこれらの機能をオフにする方が簡単です。これにより、PostgreSQL と比較して速度が大幅に向上します。