• ベストアンサー

DBMについて教えてください

最近切り替えたレンタルサーバーのサポートページで始めてDBMという言葉を知りました。 簡易的なデータベースライブラリ(そもそも、このライブラリという意味もよく・・)なのかな?となんとなく想像してるのですが、実際にどれくらいの規模のものなのか、まったく手がかりがつかめないでいます。 いろいろ検索してまわったのですが、実用するにはどうすればいい、そもそもこういうものである、などの入門の入門的なドキュメントは発見できずじまいでした。 これをうまくcgiで使うと、もしかして、データの管理(例えば、投稿してもらった小説などでも)が凄く簡潔になるのでは!?未知の世界が待っているのでは!?と実体を知らないだけに、どんどん幸せな事ばかり想像してしまっています。。(^^; どうか、DBMについてわかりやすいご説明(もしくは参考になるサイト)、こんな事ができるよ、など教えていただけないでしょうか! もう、気になって気になって・・・ よろしくお願いします。 補足: 現在のわたしの知識は、 .linux→MACにインストールしてちらっと触った程度  ・Perl→既存の掲示板などのcgiに機能をちょっとカスタマイズする程度 です。 レンタルサーバーのHPには、DBMはGDBM_File・DB_File・ SDBM_File・NDBM_Fileのどれかを使ってください、といった内容がかかれていました。

  • CGI
  • 回答数3
  • ありがとう数7

質問者が選んだベストアンサー

  • ベストアンサー
  • azert
  • ベストアンサー率100% (2/2)
回答No.2

ハッシュあるいは連想配列と呼ばれるタイプの変数を使ったことがありますか?データとそのキーネームがセットになっていて、キーによってデータを呼び出せる変数です。 DBMの基本的な使い勝手は、HDに読み書き出来るハッシュという感じです。スピードに関しても私の経験では、1万件程度のデータベースでも全然問題ありませんでした。ただ基本構造がキーとデータの一対一対応なので、同一データに複数のキーを設定したりする場合は作業が冗長になって遅くなるかもしれません。 MacPerlでは確かNDBMが扱えたと思います。サーバの方でもNDBMが使えるならそれが便利だと思います。

chocolats
質問者

お礼

お礼が遅くなってすみませんでした。 わかりやすい回答ありがとうございます! 全く想像がつかなかったのですが、おかげでかなりイメージをつかめることができました。 >MacPerlでは確かNDBMが それは是非試してみたいです! まずはやってみます。ありがとうございました!

その他の回答 (2)

  • kazu-kun
  • ベストアンサー率31% (72/232)
回答No.3

入門ということでおすすめしておきます。 「一歩先行くインターネット CGIプログラミング入門  -PerlでCGIスクリプトを書くための入門書-」 秋本祥一 古川剛/著 翔泳社 ISBN4-88135-457-4  

chocolats
質問者

お礼

ありがとうございます。 ちゃっかり下で催促してしまってすみません(^^; 私がチェックした(ビギナー向けの)本では、DBMまで書かれていなかったので、嬉しいです。 さっそくチェックしてみます。 ありがとうございました!

  • kazu-kun
  • ベストアンサー率31% (72/232)
回答No.1

仰るとおり、簡易的なデータベースをPerlで作成するのに適していると 思います。大規模なデータベースになってくると検索速度等の面でどう なるのか分かりませんが、掲示板程度のデータであれば、サーバー容量が 十分であれば、1000件程度なら速度的にも全く問題ないと思います。 Perlの知識さえあれば簡単ですよ。 詳しくはWebで探すより、2000円程度で買える、PerlでCGIを作る関係の本 を買ってじっくり読んだほうがいいです。 具体的な書名は今分からないので後で書きます。 では。

chocolats
質問者

補足

なるほど、ありがとうございます! わたしの考えているようなものと大体はあっているようで安心しました。 perlの応用も勉強できて、おススメな本などありましたら、教えていただけると嬉しいです。 よろしくお願いします

関連するQ&A

  • データベース(GDBM)を使ったBasic認証

    違うサーバーで正常に稼働していたBasic認証の環境をそのまま別のサーバーで再現したいのですが、うまくいきません。旧環境では、あるWEBページにアクセスするとBasic認証が行われて、正しいIDとパスワードを入れればページを閲覧できます。新環境ではすべてのIDとパスワードが拒否されてしまいます。 旧環境 → RHEL+Apache(バージョン不明ですがかなり古いです) 新環境 → CentOS6.0 + Apache2.3 この認証環境ではユーザー情報のファイルにデータベースを使用しています。 fileコマンドでこのファイルを調べたところ、以下のようになっていました。 .userfiledb.dbm: GNU dbm 1.x or ndbm database, little endian httpd.confの設定は以下のようになっており、新環境でも同じ設定にしてあります。 <Directory /path> AllowOverride AuthConfig Order allow,deny Allow from all AuthType Basic AuthDBMType GDBM AuthName "TEST" AuthDBMUserFile /path/.userfiledb.dbm Require valid-user </Directory> ただし、旧環境では mod_auth_dbm.so がロードされているところ、新環境では mod_authn_dbm.so がロードされています。 新環境でも通常の .htpasswd を使った認証はきちんと動作します。 CGIなどの動作もまったく問題ありません。 初心者なので要領が悪い質問になっていると思いますが、手がかりだけでもつかみたいと思います。補足すべき情報などがありましたらご教示ください。 よろしくお願いします。

  • レンタルサーバーにPEARをインストール

    レンタルサーバーと契約していてPEARのライブラリを サーバーにインストールしようとしてもうまくいかなかったので レンタルサーバーに問い合わせをしました。 「PEARライブラリをユーザー環境で利用しても問題ないか サーバー管理者に確認する」とのことでしたが もう2日たっていますが連絡がありません。 レンタルサーバーでPEARのライブラリをインストールすることは そんなに大変なのでしょうか。 ちなみにcgiなどは使用できる環境です。

    • ベストアンサー
    • PHP
  • データベースファイルを編集できるエディター

    こんにちは 以前の質問でモジュール使用の利点を知り、 GDBM_Fileモジュールなどを使うようになりました。 しかし、問題が一つ出てきました。 今までのようにCGIで書き込んだファイル(~.txtや~.cgi)とは違い、 データベースファイルって拡張子が無いのですよね。。 で、Web上で操作する分には問題無いのですが、 いざ、直接編集しようと思っても、今までのエディターでは 意味不明な2文字程度の感じらしきものしか表示されません。 こういったファイルを編集できるようなフリーのエディターって どなたかご存じでしょうか? あれば、お教え下さい。

    • ベストアンサー
    • CGI
  • モジュールの使えるレンタルサーバ

    ファイル圧縮をするために phpMyAdmin のライブラリ zip.lib.php PEAR の File_Archive  を使えるレンタルサーバを探しています。 現在使っているレンタルサーバはネットグルーヴ http://www.netgroove.ne.jp/ PHP Version 4.3.6 phpinfo.php で確認してみましたが どちらも使えないようなのです。 (実は phpinfo.php 見方がよくわからないのです) モジュールの使えるレンタルサーバを教えていただけないでしょうか? こんな質問はいけないのかもしれませんが よろしくお願いします。

    • 締切済み
    • PHP
  • 無料レンタルサーバー

    CGI可能な無料レンタルサーバーを探しているのですが、どれも個人の方が運営しているので あまり信用できないのですが、個人ではなくある程度信用のおけるCGI可能な無料レンタルサーバーはないでしょうか?ありましたら回答の方お願いいたします。

  • Movable Type で足りないDBを追加するには?

    Movable Typeのインストールで、サーバにアップしてチェックCGIを叩いてみたところ、DBがサーバにインストされていないため、モジュールを追加してくださいと表示が出ました。 レンタルサーバを借りているのですが、DB_File-1.78 をサーバに追加したいと思っています。モジュールプログラムは見つけたのですが、インストールの手順がまったく分かりません;;どのようにしたら良いのでしょうか?教えてください~><; ちなみにこちらが作業手順の参考サイトです。 http://labo.heisei-tech.co.jp/Solaris/solaris8/DB_File-1.78..html

    • 締切済み
    • CGI
  • /home/アカウント名/www/にcgiを置くとは?

    さくらのレンタルサーバーライトにCGIを設置しようとしていますが うまくいきません。 CGIの設置場所が 「/home/アカウント名/www/以下に CGI を設置してください。」 とは、ルートフォルダの中にアカウント名のフォルダを作って その中にwwwフォルダを作り、その中に.cgiのファイルを置く ということなのでしょうか? 初めてCGIにチャレンジしようとしている素人です。 とほほのCGI入門の手順に従い、 Perlのパス→#!/usr/local/bin/perl パーミッション→755 にはしてあります。 なおスクリプトはとほほのCGI入門をそのままコピーしています。 ご存知の方がいらっしゃったら教えてください。

  • レンタルサーバーについて

    レンタルサーバーについて 私はホームページを作成しており、現在使用しているサーバーからfc2への移転を考えています。 その際に、お絵かき掲示板等を使用したいと考えているのですが、CGIの利用は不可となっており、どうしても使いたいのならレンタルサーバーを、とヘルプにありました。 この場合、CGIの使用を考えるのならレンタルサーバーの方がよいのでしょうか? それとも、レンタルしたCGI(掲示板や拍手等)へのリンクをはる程度なら問題ないのでしょうか? また、レンタルサーバーにした場合、ホームページスペースを借りてホームページを作成するのと違いはあるのでしょうか(現在FFFTPを使用してホームページを作成しています) 分からないことばかりで申し訳ありませんが、教えて頂ければ幸いです。

  • Movable Typeのインストールについて

    Movable TypeをWebサーバーに入れ、Movable Typeシステム・チェック [mt-check.cgi]画面でMovable Typeに必要なコンポネントがサーバーに入っていることをチェックしてOKでした。 そしてmt/index.htmlよりインストールを行おうとしたのですが、 Got an error: Unsupported driver MT::ObjectDriver::DBM: Can't locate DB_File.pm in @INC (@INC contains: C:\***\cgi-bin\mt\extlib lib C:/Perl/lib C:/Perl/site/lib .) at lib/MT/ObjectDriver/DBM.pm line 10. BEGIN failed--compilation aborted at lib/MT/ObjectDriver/DBM.pm line 10. Compilation failed in require at (eval 6) line 1. BEGIN failed--compilation aborted at (eval 6) line 1. とエラーが出てしまいます。mt-config.cgiの設定が間違っているのでしょうか? どなたか教えてください。よろしくお願いします。

  • レンタルサーバーのサポートについて

    レンタルサーバーのサポートについて教えてください。 現在借りているレンタルサーバー会社では電話で問い合わせは受け付けていない会社なのですが、メールで問い合わせると、感じの悪い返事が返ってきます。 CGIやサーバーの知識はある程度わかってから、借りなければまずいのですか?