exceedone / exment

Exment is open source software for managing information assets on the Web. / Exmentは、情報資産をWeb上で管理するための、オープンソースソフトウェアです。
https://exment.net/docs/#
GNU General Public License v3.0
263 stars 64 forks source link

大量データのインポート方法について #591

Closed hirossyi73 closed 3 years ago

hirossyi73 commented 4 years ago

概要

データのインポート機能について、v3.1.7にて、一度に取り込みを行える件数に上限を設けさせていただきました。既定だと1000件です。

制限を設けた理由は、データ件数が多すぎると、タイムアウト発生、メモリ超過を避けられないためです。

ですが、数十万件を超えるデータのインポートを行う場合、ファイルを1000件ずつ分割してインポートするには現実的ではないと考えます。

処理を見直し、画面からのインポート件数を引き上げること自体は可能です。 とはいえ、「10万件を画面から同時に出来るか」「100万件を画面から同時に出来るか」といった話になると、画面からのインポートは、必ずどこかで破綻します。

そのため、大量データをインポートする際に、どのような方法があるかどうか、別途議論・ご意見お伺いしたいです。

機能案

(1)バルクインサート

(2)コマンド実行によるインポート

(3)画面から登録したファイルを、非同期(もしくはコマンド)で取込を実施する。

ENEOS33 commented 4 years ago

ご検討ありがとうございます。私はプログラムの技術力はありませんが個人的意見として 大量データのインポートは実務において必須と思います (3)案が一番良いとは思いますが、 (1)でもエクスポートと組み合わせれば、削除→上書きで更新的な扱いができるのではないでしょうか? 現在の1000件制限では実務をテストで開始するのも難しい(詳しくない為)と思います。 他の商品で恐縮ですがプリザンター?という同様のソフトを試した場合仕組みはわかりませんが大量インポートが可能でした。 画面から誰にでも簡単に使えるのが便利だと素人感覚では思うのですが、 なによりもまずは使えるほうがありがたいと感じます。 生産性のない内容ですがよろしくお願いします。

hirossyi73 commented 4 years ago

@ENEOS33 ご意見ありがとうございます。 確かに業務としては、やはり1000件以上の区分けというのは、大きなハードルとなるように感じます。 対応方法、今後も検討してまいります。

hirossyi73 commented 4 years ago

(1)については、v3.1.9で対応しました。 https://exment.net/docs/#/ja/data_bulk_insert

hirossyi73 commented 3 years ago

コマンドによるインポートも、先日対応しました。 https://exment.net/docs/#/ja/data_cmd_import_export

これにて、一度クローズとさせてください。