私は、過去の時系列データを使用してシミュレーションを実行するアプリケーションを作成しています。ラッパークラスへのデータベースまたは時系列シミュレーションアプリケーション用のデータベースへの直接接続?
メインループ(毎日30日まで)を実行する前にデータベースからローカルデータラッパークラスにデータをロードするか、毎日データベースに接続して必要なデータを取得する方がよいでしょうか?
もっとエレガントで効率的なのはどちらですか?
私は、過去の時系列データを使用してシミュレーションを実行するアプリケーションを作成しています。ラッパークラスへのデータベースまたは時系列シミュレーションアプリケーション用のデータベースへの直接接続?
メインループ(毎日30日まで)を実行する前にデータベースからローカルデータラッパークラスにデータをロードするか、毎日データベースに接続して必要なデータを取得する方がよいでしょうか?
もっとエレガントで効率的なのはどちらですか?
現在のコンピュータの場合、日単位のデータが10kB未満の場合、データは30日ごとにほとんど変化しません。あなたのシミュレーションは効率的な検索を必要とするかもしれません。特に、異なる日付のデータを組み合わせる場合は、メモリ内のすべてのデータを1つのクエリで読み込み、処理を開始します。
エレガントと見なされているものが変化しています。まさに数年前にすべてをメモリにロードすることは、枢機卿の罪と考えられていました。現在では、メモリ内のデータベースが一般的です。一般的に、データベースはセットレベルのアクセスを提供するため(特にSQLを使用するとSQLを照会すると)、ループ内の項目ごとにデータを取得するのは非常に効率的ではありません。
効率は1日あたりのデータ量によって異なります – EBH