|
>>3319 スナフキン > そのキーとなるファイルのサイズが110Mb程、キー数(レコード数)は > 約1000万弱のレコードが有ります。 全体のデータ容量がわからないですが、仮に 300MB 程度だとしても、 1.5GB 喰い尽くしてもおかしくないかなぁとは思います。 perl の内部構造は知りませんが、スカラー 1つ、配列の一要素、 ハッシュ 1キーなど、それぞれに必ず何バイトかずつ管理用データを perl が保持しているからです。 実感としては、100MB 程度でもデータの持ち方次第ではまともに 動かないこともあるんじゃないかと思います。 > このくらいの規模になるとDBに置き換えて処理した方が良いので > しょうか? perl でもがんばれば何とかなるかもしれませんが (実データはファイルに 保存し、ハッシュにアクセスされるたびに tie でそのファイルを見にいくとか)、 1. データが固定長 (もしくは最大長が決まっている) 2. CSV の項目名や項目長が変わる可能性は少ない 3. 処理内容が変わる可能性が少しでもある (この条件に引っかかるレコードは除外する、とか) であれば、DB に突っ込んだ方がよろしいのではないでしょうか。 わたしならそうします。 項目名や項目長も変わるかもしれないなら、DBD::CSV モジュールとか (使ったことないですけど)。 |
|
助言ありがとうございます。 >仮に 300MB 程度だとしても、1.5GB 喰い尽くしてもおかしくないかなぁとは思います。 うーんやはりそうですか。 データの持ち方の影響も大きいとは思いますが、ハッシュは内部で キーのインデックスを作っているために、キー全体のデータよりも 相当数のメモリを食うのかな?となんとなく考えていましたが、 まさかこれほどとは思いませんでした。 > 1. データが固定長 (もしくは最大長が決まっている) > 2. CSV の項目名や項目長が変わる可能性は少ない > 3. 処理内容が変わる可能性が少しでもある > (この条件に引っかかるレコードは除外する、とか) >であれば、DB に突っ込んだ方がよろしいのではないでしょうか。 2と3は該当するので、DBに変換して処理する方向でやってみます。 ただ、元の入力ソースの総合計が2.6Gbも有るので、DB化する事に かかる時間やファイル占有量がわからなくてその選択肢を選びま せんでした。 全て書き直しになりそうだ・・・汗 |
|
突然のメールですみません。 岩崎と申します。 実は、WebでMewの操作について探していたところ、貴殿を拝見し、 もしかしたら、下記の対応方法をご存じなのではないかと思い、 メールをお送りさせていただいております。 お忙しいとは思われますが、もし、ご存じでしたならば対処方法を 教えてください。 ---- 質問 ---- 現在、MewにてMailチェックをしております。 emacs上でM-x Mewとタイプするとパスワードが聞かれると同時に 過去のMail(以前受信したMail)も表示されます。 しかし、昨晩より、M-x Mewと打ち込んでも新規に受信したmail しか閲覧できません。おかしいとおもい、Mail/inbox配下を 見たところ、確かに1〜3500件までは入っております。 再度、「i」コマンドで新しいMailを受信すると、受信したMailは 3501件目と表示されますが、3500件目より以前のmailは見えません。 「Shift-O」で順番を整理すると、整理はできるようです。 Mewにて何故か?見えなくなった過去のMailを見えるようにするには どのようにすればよろしいのでしょうか? ご存じであれば、教えてください。 よろしくお願いいたします。 また、できれば、CCでiwanov@relief.ne.jpまで情報を転送 いただければ幸甚です。、 |
|
ご存知の方がいらっしゃれば、教えてください。 UNIXサーバで、あるファイルがなくなりました。 いつ、どのように消えてしまったかを知る術はあるのでしょうか? 領域不足で、優先度が低く削除されたとか、 誰かがrmコマンドを実行したとか…。 教えてください。 |