dataframeにある程度の量のデータをいれて、それをORMで保存する場合と、直接毎回インスタンス作成してORMでDBに書き込む場合と、どちらがCPU・メモリにとって負荷がかからない?

DataFrameにあるデータをORM(Object-Relational Mapping)を使って保存する場合と、直接インスタンスを作成してORMを使用してデータベースに書き込む場合の負荷は、一般的には次のようになります。

  1. DataFrameをORMを使って保存する場合:

    • DataFrameをORMで直接保存する場合、一度に大量のデータをDBに書き込むことができます。これにより、データベースへのアクセス回数が減少し、データの保存が効率的になります。
    • ただし、DataFrameをORMで直接保存する場合、ORMのバルクインサートなどの最適化が活用されない場合があり、データの保存速度が遅くなることがあります。また、ORM自体が一度に処理できるデータ量に制限がある場合もあります。
  2. 直接インスタンスを作成してORMを使用する場合:

    • データをDataFrameから読み取り、それを使ってORMモデルのインスタンスを作成し、それらのインスタンスを個別にデータベースに書き込む場合、データの保存が逐次的に行われます。これにより、一度に大量のデータをDBに書き込むことはできませんが、個々のデータの保存にかかる負荷は比較的少なくなります。
    • ただし、逐次的な保存にはデータベースへのアクセス回数が増えるため、データの保存にかかる時間が増加する可能性があります。また、データベースへの書き込み時にトランザクションのコミットやロールバックなどのオーバーヘッドが発生することも考慮する必要があります。

一般的に、大量のデータを効率的に保存する場合は、DataFrameを直接ORMで保存する方法が好まれます。しかし、データの量や保存の速度などの要件に応じて、適切な方法を選択することが重要です。

未分類

Posted by ぼっち