人に聞けない痔の悩み、これでスッキリ >>

PDFファイルのデータベースをPostgreSQLで構築しています。

データベースの項目には「タイトル」「著者名」「注釈」などとともにラージオブジェクトとしてPDFファイルそのものをデータベースに取り込んでいます。PDFファイルのファイルサイズは10KB~20MB程度です。

最近、書店でPostgreSQLの本を見てもラージオブジェクトに関する解説を書いたものがほとんどなく、ひょっとすると将来的にはラージオブジェクトは廃止になるのではと危惧しています。

よく考えてみれば、データベースを初めに構築するときに、PDFファイルをファイルシステムのディレクトリ内に保存して、そのファイル名をデータベースで管理すれば良かったと今頃後悔しているところです。

ラージオブジェクトを使って、バイナリファイル(ここではPDF)を保管するメリットがあるのか? ラージオブジェクトはPostgreSQLで今後も対応されるのか? など、ご意見、感想などありましたらご教示ください。

ラージオブジェクトにメリットが無いなら、近い将来、あまりデータベースが巨大にならないうちに、PDFファイルを取り出すスクリプトなど作らなければと考えております。

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

LOBはSQL99で標準SQLに入ったばかりだし、操作するのにアプリケーションを作成する必要があり、RDBMS全体の機能としては局所的なものなので、雑誌や書籍類で取り上げられる機会は少ないと思います。



>ラージオブジェクトを使って、バイナリファイル(ここではPDF)を保管するメリットがあるのか?

メリットとしては、
(1)障害運用を一元化できる
(2)セキュリティの管理を一元化できる
(3)PDFデータを管理するテーブルのデータと、PDFの内容の不整合を防げる
などでしょう。

デメリットとしては
(1)PDFの内容を確認したい場合、RDBMS経由でないとダメ。検索や更新用のアプリケーション等を作っておく必要がある。
(2)PDFのデータを管理するのに、RDBMS側でも管理情報が必要になり、DBの容量が増える
などです。
    • good
    • 0
この回答へのお礼

ありがとうございました。
メリットとデメリットが分かりやすく、非常に参考になりました。

お礼日時:2008/05/08 01:29

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aと関連する良く見られている質問

Qconstraint と index の違い

ALTER TABLE distributors ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode);

CREATE UNIQUE INDEX dist_id_zipcode_key ON distributors (dist_id, zipcode);

この二つには違いがあるのでしょうか。

Aベストアンサー

#2回答者です。

「違い」について、追記します。

「違い」は、「表の定義の中で指定する」のと、「インデクスの定義で指定する」といったところです。表定義で指定すれば、DDLを逆生成した場合など、「インデクスの定義がどうなっているか?」といった手間が省けます。
その一方、表の定義そのものを変更するので、不慣れな場合はちょっと怖いかも。

一方、インデクス定義で作成する場合、表の定義自体はそのままなので、そういった不安はないと思います。


人気Q&Aランキング