LoginSignup
8
6

More than 5 years have passed since last update.

IBM CloudライトプランのDb2 on Cloud 性能抜群のカラムナー表で遊んでみよう

Last updated at Posted at 2018-03-31

ライトプランで遊べるDb2

入門編はこちら https://qiita.com/azzeten/items/5d06afc6b5df352410a2

それで、もっと色々遊んでみたのがこの記事です。
通常このDb2は行表(いわゆる普通のRDBMS)ですが、ちょっといじってみることで分析に特化した列表を作ってみてどんだけ早いんじゃというのを試してみます。

(ご参考)最初からデータウェアハウス系のを試したかったらこちら

https://qiita.com/azzeten/items/e993bb3954c2c9a98dab
https://qiita.com/azzeten/items/c1d5eb7774f9d14953e8
https://qiita.com/azzeten/items/2e38472994ba77ef1aff

表を作ってみる

もともと、CUSTOMERという表を作ってあります。データも入ってます。
まずはその定義そのままに、ただし最後に「organize by column」を足して、列表にします。
その後データをロードします。参考にしたのはこの記事。
https://qiita.com/steel_mikan/items/6edb6d8a8cb9ef72efb0

---表作成
CREATE TABLE BLU_HYO LIKE JLN84695.CUSTOMER ORGANIZE BY COLUMN;

---データロード
CALL SYSPROC.ADMIN_CMD 
  ('LOAD FROM
    (SELECT * FROM JLN84695.CUSTOMER)
    OF CURSOR
    REPLACE INTO JLN84695.BLU_HYO');

確認ー。
BLU_HYOは列表でC、CUSTOMERは行表でRと出てます。よしよし。

select tabname,tableorg from syscat.tables where tabschema='JLN84695'

スクリーンショット 2018-03-25 16.29.55.png

性能はかってみる

とりあえず試したのは下記のSQL

SELECT AVG("AGE") FROM JLN84695.CUSTOMER;

ふつうの表(行表)

0.195秒

スクリーンショット 2018-03-25 16.28.49.png

分析特化の表(列表)

0.035秒

スクリーンショット 2018-03-25 16.28.58.png

まとめ

5倍以上はやいー!!!

8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6