Perlについての質問ですが、おそらく非常識な質問です、すいません(;;)


ある、レンタルサーバーを借りていますが、借りたときは予期しなかった大量のデータが発生しました。しかし、レンタルした場所はデータベースが使えません。(最初からデータベースができる場所を借りればよかったのですが。)

使えない以上、別のやり方(テキストファイルにデータを記録しておいてsplit等で変数に入れる)でいこうと思うのですが、データが多いのでやはり遅いです。

データベースがつかえない状態で大量のデータを扱う場合、みなさんはどうしてらっしゃるのでしょうか?

移転が一番いいのですが、それ以外で良い方法を知っている方がいらっしゃいましたら教えてください。

よろしくお願いします。

回答の条件
  • URL必須
  • 1人20回まで
  • 登録:2007/03/02 17:04:20
  • 終了:2007/03/09 17:05:04

回答(4件)

id:amagami No.1

amagami回答回数53ベストアンサー獲得回数02007/03/02 17:20:14

ポイント23pt

http://perldoc.jp/docs/modules/DBD-SQLite-0.19/SQLite.pod

SQLiteならレンタルサーバでも導入できるんじゃないかと思います。

id:zachouR

ありがとうございます!

SQLiteをつかってみます!

2007/03/02 17:23:49
id:hujikojp No.2

hujikojp回答回数101ベストアンサー獲得回数72007/03/02 17:23:49

ポイント23pt

perlによる大規模データの取扱い

で、OSに大抵付属している DBM (Berkley DB, SDBM or GDBM) を使った例が乗っています。そちらの環境がわからないので、どのDBMが使えるかはわかりませんが、splitよりは多少早いと思います。

id:zachouR

すいません、バージョンを記入し忘れていました!

Perl ver 5.8.8になります。

ありがとうございます、参考にいたします!

2007/03/02 17:34:46
id:orz66 No.3

orz66回答回数106ベストアンサー獲得回数112007/03/02 17:53:21

ポイント22pt

こんなときはXMLの出番だと思います。


XMLはテキスト形式で記述されるため、

マルチプラットフォーム環境でのデータ交換に適している。

http://www.atmarkit.co.jp/fxml/rensai/rexml01/rexml01.html


perlでXMLを生成し

perlで必要に応じてパース(HTML化)ならどうでしょう?

http://www.geocities.co.jp/SiliconValley-PaloAlto/2514/perlxml.h...

id:zachouR

XMLは自分も考えてみましたが、基本がテキスト形式なので、大量のテキストデータが出来るというのはちょっとまずそうなんです。すいません。

しかし、ちょっとしたデータ管理にはうってつけだと思います!

ありがとうございます。

2007/03/02 19:10:49
id:b-wind No.4

b-wind回答回数3344ベストアンサー獲得回数4402007/03/02 22:52:31

ポイント22pt

すでに回答にも出ていますが、SQLite を使うほうがいいでしょうね。

Matt Sergeant / DBD-SQLite - search.cpan.org

Matt Sergeant / DBD-SQLite2 - search.cpan.org

DBD::SQLite2 の方が対応する SQLite のバージョンが古い(過去互換用)なので注意が必要です。


ただし、モジュールがコンパイルできる環境が必要なので難しければ、標準モジュールの DB_File あたりで頑張るしかないかもしれません。

DB_File - Berkeley DB バージョン 1.xへのPerl5アクセス

id:zachouR

ありがとうございます。

SQLiteをなんとか利用してデータを格納しています。しかし、使うまでの道のりが長かったです。

2007/03/05 11:28:50

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません