[pgsql-jp: 27622] Re: データベース間のリレーションの図り方

Satoshi Nagayasu snaga @ snaga.org
2002年 10月 12日 (土) 21:53:40 JST


永安です。

ねむい。。。

> dblinkのような仕掛けを使う限り,そういうことはあり得ないのではないでしょ
> うか.
> 
> SELECT dblink("dbname=test host=hoge", "BEGIN");
> 
> ってやると,dblinkの中でlibpqがhogeにコネクトしてBEGINを実行し,BEGIN
> が完了するまでブロックするので,dblinkから戻ってきたときにはリモートで
> BEGINが必ず終わっていますよね.あ,そういうことではない?

多分そういうことだと思うんですが、自分でも確信があって言ってるわけじゃな
いので、だんだん分からなくなってきました。。。また今度考えてみます。


> > http://www.atmarkit.co.jp/fnetwork/tokusyuu/01sql99/sql99_3d.html
> > これの「SQL/MED」のあたりです。
> なるほど.このURLはちょっと説明が大ざっぱすぎて良く分かりませんが,オ
> プティマイザの問題はどうするんでしょうかね.そこまでは考えてないのかな.

んー、考えてないってことはないとは思いますが、考えてもどうにもならないか
も、とかじゃないでしょうか。多分。「とりあえずつながらないと…」みたいな。

あと、SQL文そのもののイメージとしては、
http://otn.oracle.co.jp/products/oracle9i/daily/002.html
あたりでしょうか。


> オプティマイザの問題を考慮しなくて良いのなら,dblink程度で十分実現でき
> そうな機能のように見えました.それどころか,dblinkなら,周辺機器から上
> がってくる情報のようなものさえテーブルに見せかけるようなこともできます.
> 個人的にはこっちの方が面白そう.

多分実装の方法によるとは思うんですけど、外部リソースへのインターフェース
を持つ共有オブジェクトを、CREATE FUNCTIONみたいに登録できるようにするこ
とはできると思います。CREATE TABLEの拡張的に。

CREATE TABLE ほげほげ ORGANIZATION EXTERNAL USING '$libdir/oci.so';

みたいな(ざっくりはしょって例示してますが)。

それができるようになると、OracleのOCIだろうが、MySQLだろうが、:-)
CSVファイルだろうが計測器だろうが、シームレスにデータを取れるように
なりますよね。

# なんかむちゃくちゃ勝手なこと言ってますけど。:-D

そのAPIを標準化するのがSQL/MEDってことなんじゃないかと思うです。もっとも、
どのレイヤーで標準化するのか理解してないのですが。

-- 
NAGAYASU Satoshi <snaga @ snaga.org>




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