大きなファイル(500 Mo)を読み取り、これらのファイル(protobufメッセージ-Google API)を逆シリアル化し、それをOracle 11 DBに挿入するJavaスタンドアロンアプリに取り組んでいます。
重要なことは、データベースには 1 つのメイン テーブルといくつかの小さなテーブル (辞書と比較できます) があるということです。すべての辞書について、Google キャッシュ (Guava) があります。メイン テーブルのキャッシュはありません。メイン テーブルには、挿入のみがあり、更新はなく、削除はありません。
現時点では、このアプリケーションは単一の JVM 上で実行されます。(潜在的に、マルチスレッドを追加できます。)
複数の JVM で動作するようにしたいと考えています。私の問題は、パフォーマンスを向上させ、適切に機能させるために何をすべきかを知ることです。私は 2 つの問題を特定しました。アプリをクラスタリングすると複数のファイルを同時に読み取ることができる場合、メイン テーブルへの挿入を高速化する方法と、キャッシュを更新する方法です。
誰かがそれについて考えを持っていますか?