[hackers-jp: 91] Re: Fw: [HACKERS] Tablespaces

Tamotsu ODAKA odaka @ novasystems.co.jp
2004年 2月 27日 (金) 14:19:05 JST


尾高です。

> 坂田@横須賀です。
> お久しぶり(?)です。
>
> 谷田さん wrote:
>
> > On Fri, 27 Feb 2004 09:33:15 +0900
> > "Y.Shimada" <yshim_pgsql @ storgate.co.jp> wrote:
> >
> >>  失敗が許されないコマンドなんて、あり得るのか知らん?
> >
> > 例えばバックアップからの構築のように、容易にロールバックが可能(例なら
initdb)
> > なケースとかでは?
>
> そうですね。
> おそらく、DBの移行や初期構築みたいな場面で使うんじゃないでしょうか。

実務では、DBへの大量データの一括挿入は日常の業務で多々必要に
なります。なので、OracleのSQL LoaderやSQL ServerのBULK INSERT
など、商用DBには必ずこの手のローダーがついています。

> 以下は*推測*ですが;
>
> 件のスーパーローダは、クライアントから通常の経路でデータを投入するのではな
く、
> サーバ側に「裏口」を作ってデータを取り込み、直接DBファイルを作成しているん
> じゃないかと思います。

実装もいろいろで、DBインスタンスを経由する(SQL Server)ものや、直接
DBファイルにアクセスする(Oracle、DB2など) ものなど製品によります。
(Oracleはインスタンス経由のモードもあったような気がします。)

商用では、物理ファイル内を自分で領域管理しているので、
1.新しい領域を確保
2.取りあえずデータをぶち込む
3.必要に応じて、一時インデックスの作成や制約のしょりをする
4.現行のデータと統合
5.排除されたデータの廃棄
6.統計の更新
などをバッチで行うので、失敗できないわけではありません。

PowerGresPlusのローダーがどういうものだかは知りませんが。。。

尾高 保 ( odaka @ novasystems.co.jp )




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