私はデータマイニングを行い、MySQLに+ 1GBのデータベースダンプファイルのロードとアンロードを行います。私は巨大なデータベースのMySQLよりも優れた他の無料のデータベースエンジンがあるのだろうか? PostgreSQLはパフォーマンス面で優れていますか?速度は別のデータベースエンジンを代入すると、パフォーマンスが大幅に増加を提供することはほとんどありません、私はデータベース巨大なデータセットに最適なデータベースエンジン
答えて
を選択するための唯一の要因であるので
私は、基本的なSQLコマンドを使用します。あなたが言及している遅さは、スキーマ設計とデータアクセスパターンに関連している可能性が高いです。おそらくあなたはそれについてもっと詳しい情報を提供することができますか?たとえば、データは時系列として保存されていますか?レコードは一度書かれたか、挿入/更新/削除されたレコードは任意ですか?
HDFは、NASAの地球観測システムの保存場所の選択です。これはまさに伝統的な意味でのデータベースではなく、独自の癖を持っていますが、純粋なパフォーマンスの面では克服するのは難しいです。
私は現在のプロジェクトでPostgreSQLを使用していますが、データベースをかなり頻繁にダンプ/リストアする必要があります。 400Mbの圧縮ダンプを復元するのに20分もかかりません。 ハードウェア構成に合わせていくつかのサーバー構成パラメータを調整する必要がありますが、試してみることもできます。これらのパラメータは、これらに限定されない:
- のshared_buffers
- work_mem
- temp_buffers
- のmaintenance_work_mem
- COMMIT_DELAY限り、あなたは挿入する前にインデックスを削除して
- effective_cache_size
temp_buffersもcommit_delayもほとんどの人に有効です。 commit_delayの全機能は実際には機能しません。一時的なデータに本当に頼っていない限り、temp_buffersのデフォルトサイズは十分です。 PostgreSQLのサーバパラメータチューニングに関するベストガイドは、http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server –
膨大なデータではないそれらの2人の間。
データマイニングツールでサポートされている場合は、フラットファイルソースから作業することを検討してください。これにより、ほとんどのインポート/エクスポート操作が節約されます。これは、しかし、いくつかの注意点を持っている:
あなたはデータいじる(すでに1に慣れていないと仮定)を行うためのPerlやPythonなどのスクリプト言語に習熟取得する必要があるかもしれません。
メモリが必要な場合は、コンピュータのメモリを拡張するか、64ビットプラットフォームに移動する必要があります。
あなたのデータマイニングツールは、この方法でフラットデータファイルからの作業をサポートしていない可能性があります。その場合、あなたはバグがあります。
近代的なディスク(SATAの場合も含む)は、シーケンシャル読み取りでディスクから100MB /秒程度を引き出します。これは、何かが1GBファイルをかなり早く吸い込むことができることを意味します。
また、マシン上でSSDを取得して、DBMSのパフォーマンスが向上するかどうかを確認することもできます。
です。または、メモリを8GBにアップグレードし、十分に大きなtmpfs RAMディスクを作成し、すべてランダムに実行してくださいランダムアクセスに適した媒体での操作に関連したアクセス? 2GBのRAMスティックが20ユーロになることは、おそらく最も安価な方法です。 – mikaelhg
あなたの質問はあまりにもあいまいであり、役に立ちません。 「パフォーマンス」とは、さまざまな人々にとってさまざまなものを意味します。私は、MySQLとPostgreSQLが重要ないくつかの領域でどのように比較しているのかを説明することができますが、情報がなくても、あなたにとって実際に重要なことを言うのは難しいです。私はWhy PostgreSQL Instead of MySQL: Comparing Reliability and Speedにこの話題の背景情報をまとめました。確かに速いのは確かにあなたがやっていることです。
データベースへのデータ読み込みが遅すぎるという問題がありますか?これはPostgreSQLが特にうまくやっていない領域の1つですが、PostgresのCOPYコマンドは特に高速なバルクロードメカニズムではありません。
クエリの実行が遅すぎるという問題はありますか?そうです、彼らはどれくらい複雑ですか?複雑なクエリでは、PostgreSQLオプティマイザはSQLのものよりも優れた仕事をすることができます。特にテーブルジョインが多く含まれる場合は特にそうです。小規模でシンプルなクエリは、MySQLで高速に実行される傾向があります。これは、クエリを実行する前にクエリを実行する方法についてはあまり考えていないためです。スマートな実行には少しオーバーヘッドがかかります。
いくつのクライアントが関与していますか? MySQLは少数のクライアントでうまくやることができます。クライアント数が多いほど、PostgreSQLのロック機構はより良い仕事をするでしょう。
トランザクションの整合性について気にしていますか?そうでない場合は、MySQLでこれらの機能をオフにする方が簡単です。PostgreSQLに比べて速度が大幅に向上します。
- 1. 大規模なデータセット用のデータベースエンジン
- 2. Hibernateの巨大なクエリの最適化
- 3. 巨大なmysqlテーブルの最適化
- 4. 大きなデータセットのPostgres最適化チェックリスト
- 5. 大規模なデータセットのSQL最適化
- 6. 機械学習の巨大なデータセットsklearn
- 7. 巨大なデータセットのmongodb集約
- 8. ユニティの巨大なスプライトシートを最適化できない
- 9. 巨大なデータを得るための快適なAPIの最適化
- 10. 巨大なサーバ/サーバクラスタのための弾性サーチファジーマッチング最適化
- 11. 巨大なテーブルクエリの最適化を探しています
- 12. 大きなデータセットを送信しています。最適なアプローチ
- 13. VBA経由でExcelから巨大なデータセットをExcelにインポート
- 14. node.jsアプリケーションに最適なデータベースエンジンはどれですか?
- 15. 巨大なバイナリサイズ
- 16. 巨大なビットマップ
- 17. 大規模なデータセット(角2)の* ngForループと* ngIfの最適化
- 18. nw.js/electronic大規模なデータセットに最適な組み込みデータベースですか?
- 19. データストアに応じて大きなデータセットをフィルタリングする最適なアプローチ
- 20. 巨大(40GB)の.sql MYSQLファイルをMSSQLに移行する最適な方法は?
- 21. 巨大なデータセットのデシジョンツリーを学習する
- 22. 時系列の巨大なデータセットをクラスタリングする方法
- 23. 巨大なデータセットの平均を評価するPythonic法
- 24. 巨大なデータセットのためのPythonの二重解放エラー
- 25. 巨大なデータセットとの相関行列 - Python
- 26. 私は、フォーム のuserIdの巨大なデータセットを持って
- 27. 株価が返された巨大なデータセットをアンスタッキングする
- 28. APIから表への巨大なデータセットのレンダリング
- 29. 巨大なラグimagepng
- 30. 巨大なmain.csファイル
1)あなたは、データ・マイニング・ツールのどのような種類を使用してください:
ここトピックに関するいくつかの記事がありますか?ツールはJDBCアクセスを必要としますか? 2)なぜロード/アンロードする必要がありますか? 3)パフォーマンスにはハードウェアの改善が必要な場合が多く、現在の設定は何ですか?また、アップグレードの予算はありますか? –
あなたは現在どのDBエンジンを使用していますか? InnoDB、MyISAMなど...? – Luke
私はMySQLでInnoDBを使用しています – Mark