[pgsql-jp: 33008] Re: 画像などバイナリファイルの扱い

Yoshinao Ikeuchi el4y-ikuc @ asahi-net.or.jp
2004年 5月 26日 (水) 21:32:27 JST


古い話ですいません。

<20040516.100021.78706436.t-ishii @ sra.co.jp>の記事において
t-ishii @ sra.co.jpさんは書きました。
>>石井です.
>>
>>> 他のデータベースへの移行やバックアップなど汎用性を考えればテキストに
>>> エンコードして格納するのが一番ではないかと思います。
>>> 
>>> が、そもそも、PostgreSQLでサイズの大きなデータ(数十MBytes)をテーブル
>>> にじゃんじゃん入れて扱うのは実用的(メモリ効率、スピード)ではないです
>>> よ。
>>
>>他のデータベースでは数十Mバイトのバイナリデータをテキストにエンコード
>>してDBに格納する,なんてことをするんですか?私はてっきりBLOBを使うのか
>>と思っていました.具体的にどのDB製品のことを言っているのか教えていただ
>>けると助かります.

DBを始めたのはこのPostgreSQLのWebがきっかけで他の製品のことはわかりません。
偉そうな事を書いてすいません。

マニュアル日本語訳から、「テキストを使うのが常識」かなと、判断しました。

---マニュアル抜粋(ラージオブジェクト)---
http://www.postgresql.jp/document/pg742doc/html/largeobjects.html

PostgreSQL 7.1 では、個々のデータページよりもかなり大きなデータ行を持つことができる("TOAST" というニックネームの)機構を導入しました。これによりラージオブジェクトインタフェースの一部は旧式のものになりました。ラージオブジェクトインタフェースに残る利点の1つは、そのサイズが2GBまで可能であるという点です。 TOASTでは1GBまでしか扱えません。
---終わり---

このTOAST=テキストと判断し、数百M程度のファイルを扱ってみたのですが、
1つinsertしただけでも、とても実用レベルではありませんでした。
例え、ラージオブジェクトでも2GBの制限があるので、中途半端な印象を受
けました。

理論的には1GBまで使用可能であるのと、「使える」とは別だと思いました。
「BLOB」や「DBのしくみ」についてきちんと勉強してみます。

たいへん失礼しました。

--
 Yoshinao Ikeuchi[池内 義直]
 el4y-ikuc @ asahi-net.or.jp



pgsql-jp メーリングリストの案内