Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
© 2017 IBM Corporation
データベース・サービスを好きなところで動かそう
Db2 Warehouse 大月 真史、辻 麻衣子
2017/9/7
© 2017 IBM Corporation2
目次
• はじめに
• Db2 Warehouseってなに?
• もっと深くみていこう
• Db2 Warehouseを動かしてみよう
• まとめ
© 2017 IBM Corporation3
“DB2”は”Db2”になりました
DB2
Software
dashDB
Local
dashDB for
Transactions
dashDB for
Analytics
オンプレミス/プラ...
© 2017 IBM Corporation4
ちなみに、Db2は誰でも使えます
 Db2 Developer-C / Db2 Developer
Community Edition (docker)
 4 core, 16 GB Memo...
© 2017 IBM Corporation5
Db2 Warehouse の評価版を使ってみる
Db2 Warehouse 評価版をDocker Hubから入手するには、以下の手順
を実施してください。
1. Docker HubサイトにてD...
Db2 Warehouseってなに?
© 2017 IBM Corporation7
データ分析に取り組むときのありがちなハードル
• マーケティング系の人が使ってみるときに
• 分析したいデータがある
• でも、貴重なデータなのでインターネット上のサービス
を使ってよいか判断でき...
© 2017 IBM Corporation8
短い期間で目的を達成するために
• 新たな施策の素早い立ち上げを支える
• センサーデータを利用した製造現場の生産性改善でIT面の
リードを命じられた
• とにかく早くと言われているので、インフラ...
© 2017 IBM Corporation9
Db2 Warehouseは何のために登場したのか?
PaaS
DWHプラットフォームの選択肢
Db2
Warehouse
on Cloud
IaaS
Private
Cloud
オンプレミス
ア...
© 2017 IBM Corporation10
ホストサーバー
ホストサーバー
ホストサーバー
Db2 Warehouseのアーキテクチャ
 Docker上でIBM提供のコンテナーを稼働する
Linux OS
Docker engine
L...
© 2017 IBM Corporation11
Db2 Warehouseを動かすまでの流れ
 データベースの導入と構成は数コマンドで完了
サーバーとLinux OSを準備する
Dockerを導入、構成する
データベースを格納するファイルシ...
© 2017 IBM Corporation12
Db2 Warehouseの前提といろいろな構成
 前提
 目的に応じて多様な構成が可能
Db2
Warehouse
2 VPC
Docker engine
CPU: 2core
Memor...
もっと深くみていこう
© 2017 IBM Corporation14
スモールスタートから巨大なウェアハウスまで
 Db2 Warehouseは、1つのDockerイメージが3つの構成パターンに対
応する
 シングルサーバー構成(SMP)
— 初期化時に1台の...
© 2017 IBM Corporation15
どんなときに複数のサーバーを必要とするのか?
 たとえば…
— 数十TBのデータを蓄積して高速に分析したい
— Sparkによる非構造化データの分析基盤を同時に構築したい
 MPP構成の面白...
© 2017 IBM Corporation16
Db2のMPP構成ってどんなの?
 Db2 MPP環境はn個のdata partitionで構成され、それぞれのdata partition
が1/nのデータを分散して保持する
Partiti...
© 2017 IBM Corporation17
データはどんな風に分散されるか
 テーブルごとに決める「分散キー」のハッシュ値で格納先のdata partitionが決
まる
レコード1
分散キーを取り出し
てハッシュ値を計算
a8db4f...
© 2017 IBM Corporation18
そのデータ分散の仕組みって、重くない?
SALES表
Hashing
(store_id)
create table SALES (
store_id bigint,
order_date ti...
© 2017 IBM Corporation19
スケールインもスケールアウトも自在
Partition 0
Partition 1
Partition 5
Partition 6
Partition 7
Partition 11
Partit...
© 2017 IBM Corporation20
共有ストレージはとても大事
 前ページのダイナミックなノードの増減が実現できるのは共有ストレージ
と共有ファイルシステムのおかげ
 Hadoopなどの分散ファイルシステムと比べるとストレージ...
© 2017 IBM Corporation21
Db2 Warehouseで利用できるストレージ構成の選択肢
共有DISK+共有FS クラウドDISK+共有FS
高速NAS Amazon EFS
Db2
Ware
house
フラッシュ
Db...
© 2017 IBM Corporation22
dashDB LocalコンテナdashDB Localコンテナ
Analytics
EngineRelational Engine
CSV,Twitter, 地理データ
オープン・データ
BI...
© 2017 IBM Corporation23
どんなデータをどちらに置くべきか
 RDB側で持っても、ファイルのまま共有ファイルシステムに保持しても良い
 データの特性によってどこで持つかを決めよう
xxx,yyy,zzz,111
xx...
© 2017 IBM Corporation24
構造化データと非構造化データの行き来も簡単
 Database EngineのデータをSparkSQLで読み込む
 共有ファイルシステムに貯めたファイルをPythonで処理して
Databa...
© 2017 IBM Corporation25
どんな使い方をしている?
主力DWHとして使われている
PureData for Analyticsの負荷を
オフロードするため大容量かつ低
コストなデータストアとして採用
2PB!のディスクと...
© 2017 IBM Corporation26
【参考】複数サーバーでMPP構成を組む
 MPP構成のコンポーネント構造
Network Switch
共有ストレージ
SAN/Eth
Network
Partition 0
共有ファイ
ルシ...
© 2017 IBM Corporation27
▪ 例: 2010年の販売件数を調べる
▪ SELECT COUNT(*) from MYTABLE
where YEAR = ‘2010’
▪ システム構成: 32コアCPU
▪ 表構成:10...
© 2017 IBM Corporation28
ここまでのまとめ
Db2 Warehouseは場所を選びません
Public Cloudやデータセンター内など、あなたが管理しているサー
バー上でDb2 Warehouseを動かせます。
すぐに...
Db2 Warehouseを動かしてみる
© 2017 IBM Corporation30
デモシナリオ目次
▪Db2 Warehouse の基本操作:コンソール
▪Db2 WarehouseとRを利用したアナリティクスの実践
▪Sparkの提供する機械学習ライブラリ(MLlib)の利用
© 2017 IBM Corporation31
Db2 Warehouse の基本操作 : コンソール
✓データベースオブジェクトの管理、操作
✓システム全体のモニター、性能調査
✓ユーザーや権限の管理
ホストサーバー
Linux OS
Do...
© 2017 IBM Corporation32
ホストサーバー
Linux OS
Docker engine
Database Engine
Db2 Warehouse コンテナー
ファイルシステム
R Studioとの連携
✓R Studi...
© 2017 IBM Corporation33
ホストサーバー
Linux OS
Docker engine
Db2 Warehouse コンテナー
ファイルシステム
Sparkとの連携
✓Jupyter Notebook用コンテナーを作成可...
© 2017 IBM Corporation34
数クリックでお手軽に試したいときはこちら
IBM Db2 Developer Community Edition
利用上の注意/制限:開発用途のみに使用ください/コミュニティサポートの製品です
...
© 2017 IBM Corporation35
Legal Disclaimer
• © IBM Corporation 2016. All Rights Reserved.
• The information contained in th...
[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日本IBMシステムズ・エンジニアリング株式会社 大月真史 / 辻麻衣子
Upcoming SlideShare
Loading in …5
×

[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日本IBMシステムズ・エンジニアリング株式会社 大月真史 / 辻麻衣子

171 views

Published on

IBMが提供するデータベースであるDB2と、データベースサービスであるdashDBは、今年の7月にリブランドされ「Db2」という名称に統一されました。
その中に「Db2 Warehouse」と呼ばれる製品があり、これは「クラウドサービスと同じ使い勝手と迅速性をどこででも享受できる」ことを目指して開発されたユニークなソリューションです。
このセッションでは、Db2 Warehouseが簡単に使える様子を紹介し、その後ろのディープな仕組みに迫ります

Published in: Technology
  • Be the first to comment

[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日本IBMシステムズ・エンジニアリング株式会社 大月真史 / 辻麻衣子

  1. 1. © 2017 IBM Corporation データベース・サービスを好きなところで動かそう Db2 Warehouse 大月 真史、辻 麻衣子 2017/9/7
  2. 2. © 2017 IBM Corporation2 目次 • はじめに • Db2 Warehouseってなに? • もっと深くみていこう • Db2 Warehouseを動かしてみよう • まとめ
  3. 3. © 2017 IBM Corporation3 “DB2”は”Db2”になりました DB2 Software dashDB Local dashDB for Transactions dashDB for Analytics オンプレミス/プライベート・クラウド パブリック・クラウド • コアとなるデータ ベース・ソフトウェ ア • さまざまな要件、構 成に対応可能 • お客様が自由に管理 • アナリティクス向け のソリューション • お客様のインフラに デプロイして利用 • Dockerによって迅速 かつ簡単に利用開始 • お客様が自由に管理 • フルマネージドのト ランザクション向け DBサービス • 小規模構成の仮想マ シンか大規模構成の 物理マシンが用意さ れる • フルマネージドのア ナリティクス向けDB サービス • SMPとMPP • SoftLayer/AWSで利 用可能 Db2 Db2 Warehouse Db2 on Cloud Db2 Warehouse on Cloud IBMのデータベースソリューションをDb2ブランドで統一 当セッションでは この話をします
  4. 4. © 2017 IBM Corporation4 ちなみに、Db2は誰でも使えます  Db2 Developer-C / Db2 Developer Community Edition (docker)  4 core, 16 GB Memory, 100 GB disk  MacOSでも使える!(docker版)  本番環境では利用できない 開発者向けのフル機能版  IBM Db2 Express-C  2 core, 16 GB Memory, 15 TB disk  本番環境で利用可能  機能には一部制限あり 本番でもタダで使いたい  IBM Db2 評価版  リソースの制限がないため、大規模環境で の評価に使える  90日間の評価期間 フル機能&大規模で評価  IBM Db2 Warehouse  ダウンロードしたら30分で使える  リソースの制限がないため、大規模環境で の評価に使える  90日間の評価期間 Db2 Warehouseを試す  無償で利用できるDb2のご案内(https://www.ibm.com/blogs/solutions/jp-ja/db2-free/)  クラウドで提供されるDb2 Warehouse on Cloudも、1GB以下であれば無償、無期限で利用できます 用途に応じていろいろな無償版の選択肢があります
  5. 5. © 2017 IBM Corporation5 Db2 Warehouse の評価版を使ってみる Db2 Warehouse 評価版をDocker Hubから入手するには、以下の手順 を実施してください。 1. Docker HubサイトにてDocker IDの作成を行います。 https://hub.docker.com/ 2. Docker Hubにログイン後、右上のプルダウンメニューからSettingを選択し、初期パスワードを変 更します。 3. IBM Db2 Warehouseのサイトにアクセスし「Start Your Free Trial」を選択します。 4. IBM IDとパスワードを入力します。(IBM IDはすぐに作成できます) 5. Docker IDを登録すると、24時間以内に承認メールが届きます。その後、Docker Hubからの pull(ダウンロード)が可能になります。
  6. 6. Db2 Warehouseってなに?
  7. 7. © 2017 IBM Corporation7 データ分析に取り組むときのありがちなハードル • マーケティング系の人が使ってみるときに • 分析したいデータがある • でも、貴重なデータなのでインターネット上のサービス を使ってよいか判断できない • 調査と承認を得るために数ヶ月かかる。却下されるかも しれない • 我が社のプライベート・クラウドは使ってよいけど、 サーバーだけもらってもつらい・・・ • 私のスキルだとDBを直接使って分析はするのは難し い・・・ ✓エンジニアじゃなくても使える ✓データの持ち出しに苦労しなくてよい Db2 Warehouseなら
  8. 8. © 2017 IBM Corporation8 短い期間で目的を達成するために • 新たな施策の素早い立ち上げを支える • センサーデータを利用した製造現場の生産性改善でIT面の リードを命じられた • とにかく早くと言われているので、インフラはさっさと作 りたい • 統計解析や機械学習を使うことになりそうだけど、データ 量も膨大なので蓄積するコンポーネントは必須 • でも便利ですぐ使えるサービスはインターネットの向こう 側・・・データの性質を考えると工場に設置するか、せめ て自社センターに置きたい・・ ✓統計解析や機械学習を統合した分析基盤 ✓すぐに使い始めることができる ✓期間限定での導入もできる Db2 Warehouseなら
  9. 9. © 2017 IBM Corporation9 Db2 Warehouseは何のために登場したのか? PaaS DWHプラットフォームの選択肢 Db2 Warehouse on Cloud IaaS Private Cloud オンプレミス アプライアンス Db2 Db2 hosted Db2 PureData Db2 フルマネージドのDBサー ビスBluemix Public/ Dedicatedで利用可能。 IaaSベンダーの提供する サーバー上にデータベー スを構築する。DB2は自 由にカスタマイズ可能。 お客様のプライベートク ラウド上にデータベース を構築する。DB2は自由 にカスタマイズ可能。 伝統的な利用形態。サー バー、DB2どちらも自由 に構築可能。 設置してすぐ利用開始で きる高速なDWHアプライ アンス Db2 Warehouseなら ✓ SaaSで提供される管理機能やイ ンターフェースがそのまま使える ✓ フルマネージドの共通構成や共通 運用に制約されない(通信経路、 パッチ適用、メンテナンス) ✓ SaaSで提供される管理機能やイ ンターフェースがそのまま使える ✓ お客様がデータに対する完全な管 理権限を維持できる ここに大きな断絶がある ✓ dockerコンテナーを利用して迅速 に構築できる
  10. 10. © 2017 IBM Corporation10 ホストサーバー ホストサーバー ホストサーバー Db2 Warehouseのアーキテクチャ  Docker上でIBM提供のコンテナーを稼働する Linux OS Docker engine LDAP ファイルシステム Linux プロセス Database Engine Db2 Warehouseコンテナー Fluid Query DSM Web console Docker Hub IBM Box or Docker Hub上のリポジトリーから取得も しくはIBMのBoxからダウンロード ➢ データベース・エンジン ➢ 負荷モニター ➢ ユーザー管理 ➢ データ投入 ➢ オブジェクト管理 ➢ Sparkの稼働環境 ➢ ホストサーバー ➢ Docker環境 ➢ DBデータを保持するファ イルシステム Db2 Warehouseが提供する部分 事前に用意する部分
  11. 11. © 2017 IBM Corporation11 Db2 Warehouseを動かすまでの流れ  データベースの導入と構成は数コマンドで完了 サーバーとLinux OSを準備する Dockerを導入、構成する データベースを格納するファイルシステムを作成する Docker Hubにログイン Db2 Warehouseのイメージをダウンロード(docker pull) Db2 Warehouseのコンテナを起動する(docker run) 表を作成しデータを投入する or ファイルをアップロード Db2 Warehouseのユーザー登録を行う 分析に利用するアプリケーションから接続する 分析を始める このセッション で紹介
  12. 12. © 2017 IBM Corporation12 Db2 Warehouseの前提といろいろな構成  前提  目的に応じて多様な構成が可能 Db2 Warehouse 2 VPC Docker engine CPU: 2core Memory:15GB SSD:450GB RHEL 7.3 • 2.0 GHz以上のプロセッサー (ライセンス上2コアからスタート) • 8 GB以上のメモリー • 300 GB以上のストレージ ハードウェア • DockerをサポートするLinux • Docker engine 1.12.6以上 (CE or EE) * Power Linux LEの場合など、最新情報は マニュアルを参照 ソフトウェア お試しなら月額課金で スモールスタート Azure AWS Db2 Warehouse 24 VPC Docker engine CPU: 24core Memory:256GB SSD:2TB RHEL 7.3 4TB生データで の推奨構成 IA Server 2TB CPU: 8core Memory:64GB 共有ストレージ Docker RHEL 7.3 クラスターソフト Db2 Warehouse 8VPC CPU: 8core Memory:64GB Docker RHEL 7.3 クラスターソフト Db2 Warehouse 1VPC フェイルオーバー構成 IA Server IA Server Bluemix
  13. 13. もっと深くみていこう
  14. 14. © 2017 IBM Corporation14 スモールスタートから巨大なウェアハウスまで  Db2 Warehouseは、1つのDockerイメージが3つの構成パターンに対 応する  シングルサーバー構成(SMP) — 初期化時に1台のサーバーと8GB以上のメモリーが構成されている場合 — 2CPUコアでのスモールスタートから、64コア構成で10TB生データの高速処理まで  最大24台までのスケールアウト構成(MPP) — 初期化時に3台以上のサーバーと、各サーバー64GB以上のメモリーが構成されている場合 — データを格納するための共有ストレージが必要  最大60台までのスケールアウト構成(MPP) — 初期化時に3台以上のサーバーと、クラスター全体で7.68TB以上のメモリーが構成されている場合 — データを格納するための共有ストレージが必要 共通のソフトウェア、共通の管理インターフェースで 小規模から超大規模までの幅広い用途で利用できる!
  15. 15. © 2017 IBM Corporation15 どんなときに複数のサーバーを必要とするのか?  たとえば… — 数十TBのデータを蓄積して高速に分析したい — Sparkによる非構造化データの分析基盤を同時に構築したい  MPP構成の面白いところ — 3台から24台もしくは60台までMPP構成でスケールアウト可能 — HAの設定をしなくても障害時は自動で縮退して継続稼働 — 構造化データはBLU MPP(DBエンジン)で分散処理、非構造化デー タはSparkで分散処理 — 相互の変換もサーバー内で高速に サーバー 共有ストレージ サーバー サーバー サーバー 共有ファイルシステム サーバーが協調動作するための共 有ファイルシステム Db2 Warehouse MPP構成の概要
  16. 16. © 2017 IBM Corporation16 Db2のMPP構成ってどんなの?  Db2 MPP環境はn個のdata partitionで構成され、それぞれのdata partition が1/nのデータを分散して保持する Partition 0 Partition 1 Partition 2 Partition 3 Partition 4 Partition 23 Partition 22 24のData Partition ・ ・ ・ Partition 5 Partition 6 24のプロセス Partition 21 db2sysc 0 db2sysc 1 db2sysc 5 db2sysc 4 db2sysc 3 db2sysc 2 db2sysc 6 db2sysc 21 db2sysc 22 db2sysc 23 照会に対しては 各パーティションが 1/24のデータを処理 それぞれのプロセス がメモリーを確保 n台のサーバー (例では4台) db2sysc 0 db2sysc 1 db2sysc 2 db2sysc 3 db2sysc 4 db2sysc 5 db2sysc 6 . . db2sysc 18 . db2sysc 21 db2sysc 22 db2sysc 23 任意の数のサーバー に格納する ・ ・ ・ ・ ・ ・ 24セットの DBファイル群 ・ ・ ・ ・ ・ ・ ストレージ サーバーのローカル DISKでも共有DISK でもよい 照会を発行
  17. 17. © 2017 IBM Corporation17 データはどんな風に分散されるか  テーブルごとに決める「分散キー」のハッシュ値で格納先のdata partitionが決 まる レコード1 分散キーを取り出し てハッシュ値を計算 a8db4f データ投入時にレコードの値で 配置先が決まる レコード2 c8cbd1 Partition 16 ハッシュ値を元に格 納先を決定 Partition 5 create table sales ( store_id bigint, order_date timestamp, shipping_id bigint, shipping_method char(20), mix_cntl int , mix_desc char(20) , mix_chr char(9) , mix_ints smallint , mix_tmstmp timestamp ) distribute by hash (store_id) テーブルを作成するときに 分散キーを指定する レコード3 11ed8f Partition 3
  18. 18. © 2017 IBM Corporation18 そのデータ分散の仕組みって、重くない? SALES表 Hashing (store_id) create table SALES ( store_id bigint, order_date timestamp, ...) distribute by hash (store_id) カラム ストア C1 C2 C3 C4 C5 C6 C7 C8C1 C2 C3 C4 C5 C6 C7 C8 C1 C2 C3 C4 C5 C6 C7 C8C1 C2 C3 C4 C5 C6 C7 C8 C1 C2 C3 C4 C5 C6 C7 C8C1 C2 C3 C4 C5 C6 C7 C8 C1 C2 C3 C4 C5 C6 C7 C8C1 C2 C3 C4 C5 C6 C7 C8 C1 C2 C3 C4 C5 C6 C7 C8C1 C2 C3 C4 C5 C6 C7 C8 C1 C2 C3 C4 C5 C6 C7 C8C1 C2 C3 C4 C5 C6 C7 C8 C1 C2 C3 C4 C5 C6 C7 C8C1 C2 C3 C4 C5 C6 C7 C8 C1 C2 C3 C4 C5 C6 C7 C8C1 C2 C3 C4 C5 C6 C7 C8 Hashing (store_id) STOCK表 create table STOCK ( store_id bigint, order_date timestamp, ...) distribute by hash (store_id) カラム ストア SELECT store_id, sum(store_sales), sum(stock_volume) from SALES, STOCK where sales.store_id = stock.store_id データ投入時は確かに重いが、照会はとても早い 分散キーが一致するテーブル同士の照会 ではネットワーク転送がほとんど不要
  19. 19. © 2017 IBM Corporation19 スケールインもスケールアウトも自在 Partition 0 Partition 1 Partition 5 Partition 6 Partition 7 Partition 11 Partition 12 Partition 13 Partition 17 Partition 18 Partition 19 Partition 23 Partition 2 Partition 8 Partition 14 Partition 20 Partition 3 Partition 9 Partition 15 Partition 21 Partition 4 Partition 10 Partition 16 Partition 22 Partition 0 Partition 1 Partition 5 Partition 6 Partition 7 Partition 17 Partition 18 Partition 19 Partition 23 Partition 2 Partition 20 Partition 3 Partition 21 Partition 4 Partition 16 Partition 22 Partition 11 Partition 12 Partition 13 Partition 8 Partition 14 Partition 9 Partition 15 Partition 10 Part 0 Part 1 Part 2 Part 3 Part 12 Part 13 Part 14 Part 15Part 11 Part 8 Part 9 Part 10 Part 23 Part 20 Part 21 Part 22Part 6 Part 7 Part 5 Part 4 Part 17 Part 18 Part 19 Part 16 サーバー4台で稼働中 3台構成へスケールイン (縮退) 6台構成へスケールアウト 定義したサーバー数に応じて自動的にdata partitionが配分される # cat /mnt/clusterfs/nodes head_node=node1i:192.168.10.1 data_node1=node2i:192.168.10.2 data_node2=node3i:192.168.10.3 data_node3=node4i:192.168.10.4 # cat /mnt/clusterfs/nodes head_node=node1i:192.168.10.1 data_node1=node2i:192.168.10.2 data_node2=node3i:192.168.10.3 data_node3=node4i:192.168.10.4 data_node4=node5i:192.168.10.5 data_node5=node6i:192.168.10.6
  20. 20. © 2017 IBM Corporation20 共有ストレージはとても大事  前ページのダイナミックなノードの増減が実現できるのは共有ストレージ と共有ファイルシステムのおかげ  Hadoopなどの分散ファイルシステムと比べるとストレージへの投資が大 きくなるが、得られるメリットを考えると捨てたものではない  ストレージ技術の進歩により取り得る選択肢は多い — フラッシュ + 共有ファイルシステム( GPFS/GFS2 など) — クラウドベンダーのBlock Storage +共有ファイルシステム( GPFS/GFS2など) — 高速NAS (NFS)で共有ファイルシステムを不要に — Amazon EFS(NFS)でストレージも自在にスケールさせる
  21. 21. © 2017 IBM Corporation21 Db2 Warehouseで利用できるストレージ構成の選択肢 共有DISK+共有FS クラウドDISK+共有FS 高速NAS Amazon EFS Db2 Ware house フラッシュ Db2 Ware house Db2 Ware house GPFS/GFS2など Db2 Ware house Bluemix Infra Block Storage Db2 Ware house Db2 Ware house GPFS/GFS2など Db2 Ware house NAS DISK Db2 Ware house Db2 Ware house NFS NFS NFS Db2 Ware house Amazon EFS Db2 Ware house Db2 Ware house NFS NFS NFS iSCSI iSCSI iSCSI  共有できてPosix互換なら、なんでもOK
  22. 22. © 2017 IBM Corporation22 dashDB LocalコンテナdashDB Localコンテナ Analytics EngineRelational Engine CSV,Twitter, 地理データ オープン・データ BI/分析アプリケーション (SPSS/Cognos) Webコンソール SQLインターフェイス Cloudant (蓄積) 構造化データ スケーラブルクラスタファイルシステム Watson IoT/Kafka (収集、抽出) 共有メモリによる高速データ通信 データサイエンティスト テキスト ファイル 半構造化、非構造データ オブジェクトストレージ ストリームデータ データ可視化、分析 加工 加工 Db2 Warehouse コンテナ 非構造化データはどうするの? データウェアハウスにSpark分析エンジンを統合することで、半構造、非構造化データの 加工、分析処理と従来の構造化データ分析処理を単一プラットフォームで実現  Relational Engine側に格納してSparkで読み込んでも良いし、ファイル のままファイルシステムに配置することも可能
  23. 23. © 2017 IBM Corporation23 どんなデータをどちらに置くべきか  RDB側で持っても、ファイルのまま共有ファイルシステムに保持しても良い  データの特性によってどこで持つかを決めよう xxx,yyy,zzz,111 xxx,yyy,zaz,121 xxx,yyy,zaz,113 xxx,yyy,zpz,114 xxx,yyy,zyz,161 csv { "name": "db-server", "chef_type": "role", "json_class": "Chef::Role", "ibm": {}, } JSON/XML 2017-08-08 15:26:51.097957: I tensorflow/core/common_runtim e/gpu/gpu_device.cc:961] DMA: 0 2017-08-08 15:26:51.097962: I tensorflow/core/common_runtim e/gpu/gpu_device.cc:971] 0: Y 2017-08-08 15:26:51.097972: I tensorflow/core/common_ log RDB 共有ファイルシステム C1 C2 C3 C4 C5 C6 C7 C8C1 C2 C3 C4 C5 C6 C7 C8 C1 C2 C3 C4 C5 C6 C7 C8C1 C2 C3 C4 C5 C6 C7 C8  ある程度データ形式が決まっている  全体をスキャンせずに高速に一本釣りしたい  SQLで強力にサマリーしたい  データがどんどん変わるので形式を固定 したくない  Pythonなどで直接処理する方が便利  とりあえずファイルだけ放り込んで貯め ておきたい
  24. 24. © 2017 IBM Corporation24 構造化データと非構造化データの行き来も簡単  Database EngineのデータをSparkSQLで読み込む  共有ファイルシステムに貯めたファイルをPythonで処理して Database Engineに投入 from pyspark.mllib.classification import LogisticRegressionWithLBFGS, LogisticRegressionModel from pyspark.mllib.regression import LabeledPoint sparkSession = SparkSession.builder.getOrCreate() inputData = sparkSession.read.format("com.ibm.idax.spark.idaxsource") ¥ .options(dbtable=“BLUADMIN.LGDATA") ¥ .load() data1 = spark.read.csv("work/data1.txt", mode="DROPMALFORMED", inferSchema=True) data1.write.format("com.ibm.idax.spark.idaxsource") .options(dbtable="BLUADMIN.NOGT1") ¥ .option("allowAppend","true") ¥ .mode("append")¥ .save()
  25. 25. © 2017 IBM Corporation25 どんな使い方をしている? 主力DWHとして使われている PureData for Analyticsの負荷を オフロードするため大容量かつ低 コストなデータストアとして採用 2PB!のディスクと6台のMPP構 成でデータを蓄積し、Hadoopの ワークロードも集約に成功 大手銀行 他社データベースのエンタープラ イズDWHをオフロードするため、 低コストなコモディティH/Wを活 用できるデータストアとして採用 Db2 Warehouseに統合された Sparkも活用 大手保険会社 Db2 Warehouse & Db2 Warehouse on Cloud! クラウドのDb2 Warehouseを購入 されたお客様が、高いSLAやセ キュリティを必要とするデータを 管理するために、共通のインター フェースで利用できるDb2 Warehouseを追加導入 ゲーム会社 法規制(HIPAA)への対応で Microsoft Accessでのデータ管理 からDb2 Warehouseへ 月額課金モデルを利用して低コス トにスモールスタート。同じサー バーで稼働できるSparkと Jupyterを利用して分析に活用 ヘルスケアNPO
  26. 26. © 2017 IBM Corporation26 【参考】複数サーバーでMPP構成を組む  MPP構成のコンポーネント構造 Network Switch 共有ストレージ SAN/Eth Network Partition 0 共有ファイ ルシステム Partition 1 Partition 5 ・ ・ ・ SAN/Eth Network Partition 6 共有ファイ ルシステム Partition 7 Partition 11 ・ ・ ・ SAN/Eth Network Partition 12 共有ファイ ルシステム Partition 13 Partition 17 ・ ・ ・ SAN/Eth Network Partition 18 共有ファイ ルシステム Partition 19 Partition 23 ・ ・ ・ DockerDockerDockerDocker 共有ファイルシステム • サーバー間で共有可能なファイルシステムで、 Posix互換であれば使用可能 • Db2 Warehouseを構成するパーティション が別のサーバに移動しても、継続してデータ にアクセス可能にする必要がある • ストレージに応じて適切な共有ファイルシス テムを選択する • IBM Spectrum Scale (GPFS)とSANス トレージ • iSCSIとSoftLayer Block Storage • サーバー内蔵ディスクとGPFS FPO • など 通信ネットワーク • SQL実行時のパーティション間通信に利用 • 10Gイーサネットを推奨 • インフラ構成上可能であれば、アプリケー ションからの接続用ネットワークとは分離す ることが望ましい Db2 Warehouse(ノード) • MPP構成では24 or 60のパーティションが サーバー数に応じて自動で分散配置される • サーバー障害時は自動的に検知して縮退する (4台x6パーティション⇒3台x8パーティションなど) • MPPでは8コア、64GBメモリーが最小の基 準
  27. 27. © 2017 IBM Corporation27 ▪ 例: 2010年の販売件数を調べる ▪ SELECT COUNT(*) from MYTABLE where YEAR = ‘2010’ ▪ システム構成: 32コアCPU ▪ 表構成:10TBのテーブル (100の列を含む10年分のデータ) アクショナブル・コンプ レッションによってデー タ容量を1 TBに圧縮 各コア上でリニアスキャ ンの並列処理を実施し、 32 MBのデータを処理 SIMD を活用し、8 MB のデータを処理 数秒以内で 処理が完了 列処理によってデータ 容量を10 GBに削減 データ・スキッピン グによってデータ容 量を1 GBに削減 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA Db2 BLU アクセラレーションは、列指向のデータストアによって個別の分析クエリーに 応じた索引設定などのチューニングを行うことなく、巨大データの高速分析を可能にする DB基盤です。 各CPUコアが8MB相当のデータを 処理するだけで良いため、数秒以内で 処理が完了する。 10 TBのデータ 結果 【参考】 Db2カラムストア(BLUアクセラレーション)のしくみ
  28. 28. © 2017 IBM Corporation28 ここまでのまとめ Db2 Warehouseは場所を選びません Public Cloudやデータセンター内など、あなたが管理しているサー バー上でDb2 Warehouseを動かせます。 すぐに使い始めることができます チューニング済みの環境が数コマンドで構築できます。 GUIでの操作が可能なWebコンソールや、分析ツールとの連携も簡 単です。 構造化、非構造化を問わずデータを統合管理できます 構造化データを分析するDBエンジンと、非構造化データの分析を 可能にするSparkエンジンの双方が利用できます。
  29. 29. Db2 Warehouseを動かしてみる
  30. 30. © 2017 IBM Corporation30 デモシナリオ目次 ▪Db2 Warehouse の基本操作:コンソール ▪Db2 WarehouseとRを利用したアナリティクスの実践 ▪Sparkの提供する機械学習ライブラリ(MLlib)の利用
  31. 31. © 2017 IBM Corporation31 Db2 Warehouse の基本操作 : コンソール ✓データベースオブジェクトの管理、操作 ✓システム全体のモニター、性能調査 ✓ユーザーや権限の管理 ホストサーバー Linux OS Docker engine Database Engine Db2 Warehouse コンテナー Web console ファイルシステム
  32. 32. © 2017 IBM Corporation32 ホストサーバー Linux OS Docker engine Database Engine Db2 Warehouse コンテナー ファイルシステム R Studioとの連携 ✓R Studio(R言語の開発環境)用コンテナーを作成可能 ✓In-Database Analytics用の関数の利用 ✓統計分析、グラフ作成、地図情報を用いた可視化 R Studio Driver Pkg R Studio コンテナー
  33. 33. © 2017 IBM Corporation33 ホストサーバー Linux OS Docker engine Db2 Warehouse コンテナー ファイルシステム Sparkとの連携 ✓Jupyter Notebook用コンテナーを作成可能 ✓機械学習ライブラリ(MLlib)の利用 Jupyter Notebook Jupyter Notebook コンテナー Spark Engine Database Engine
  34. 34. © 2017 IBM Corporation34 数クリックでお手軽に試したいときはこちら IBM Db2 Developer Community Edition 利用上の注意/制限:開発用途のみに使用ください/コミュニティサポートの製品です Db2を始めませんか? Download & Go! たった15分でお手元にDb2が インストール http://ibm.biz/db2dev_com http://ibm.biz/db2dev_c 他社のデータベース含めDBの知識がある方 にオススメです 全機能が無償でじっくり試せます IBM Db2 Developer-C for Non-Production
  35. 35. © 2017 IBM Corporation35 Legal Disclaimer • © IBM Corporation 2016. All Rights Reserved. • The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. • References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. • If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete: Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. • If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete: All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. • Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both. • If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete: Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. • If you reference Java™ in the text, please mark the first use and include the following; otherwise delete: Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. • If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete: Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both. • If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete: Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. • If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete: UNIX is a registered trademark of The Open Group in the United States and other countries. • If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete: Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others. • If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.

×