Your SlideShare is downloading. ×
0
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
HadoopとRDBMSを
シームレスに連携させる
Smart SQL Processing
ビッグデー...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 2
Safe Harbor Statement
以下の事項は、弊社の一般的な製品の方向性に関する概要を説...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Agenda
1
2
3
Hadoopを取り巻く環境
Smart SQL Processing
本日のま...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Agenda
1
2
3
Hadoopを取り巻く環境
Smart SQL Processing
本日のま...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ビッグデータ顧客事例
5
ビッグデータの分析
• R&D、サプライチェーン、顧客と消費者
• 統合された...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
2つのシステムの強み
6
0
1
2
3
4
5
ツールの成熟度
高度な非機能要件
ACIDトランザク
...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
0
1
2
3
4
5
ツールの成熟度
高度な非機能要件
ACIDトランザク
ション
セキュリティ
デー...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Hadoopを活用する際の障壁
プラットフォームが問題なわけではない
•スキル
–Hadoopを活用する...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 9
どうすればもっと
Hadoopの活用が進むのか
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 10
SQL
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 11
データマネジメントの標準言語「SQL」
Happy 40th Birthday SQL!
SELE...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Hadoop上でのSQL活用というトレンドは明確。だけど、、
12
Stinger
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
より高度な関数や機能活用のニーズへの対応
• Hive QL:基本的な関数には対応
– 基本的な関数
•...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
next = lineNext.getQuantity();
}
if (!q.isEmpty() &&...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Hadoopのセキュリティ機能はまだまだ発展途上
15
SSN EMPID LAST FIRST SAL...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Hadoopをもっともっと使いたい!でも、、
• もっと 、SQL 機能をフル活用して簡単にHadoop...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
RDBMSHadoop/NoSQL Ecosystem
Big Data Management Syst...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
実現へのChallenge
次のような要件を満たすシステムを創る
• SQL一つで全てのデータが使える
...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Agenda
1
2
3
Hadoopを取り巻く環境
Smart SQL Processing
本日のま...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Smart SQL Processing
どうやって実現するのか? 実現のポイント
1. Oracle ...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Smart SQL Processing 実現のポイント1,2
Hadoop 上のデータにOracle ...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 22
Big Data Appliance
+
Hadoop
HDFS
DataNode
Exadata...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 23
create table customer_address
( ca_customer_id nu...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 24
HDFS
DataNode
OracleCatalog
ExternalTable
Select ...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Smart SQL Processing 実現のポイント3
よりインテリジェントなクエリの実行
25
全...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Storage
Indexes
Smart SQL Processing 実現のポイント3
Hadoop...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 27
HDFS
DataNode
OracleCatalog
ExternalTable
Select ...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 28
Smart SQL Processing 実現のポイント4
すべてのデータをセキュアに管理
Had...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Agenda
1
2
3
Hadoopを取り巻く環境
Smart SQL Processing
本日のま...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Big Data Management System
• Oracle SQL一つで全てのデータを
– ...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 31
Launch Webcast
Oracle Big Data Breakthrough:
Conn...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Apache Sentryへの貢献
32
Founding
・セキュリティ管理機能(ファイングレイ
ンア...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 33
Thank you, Hadoop User Group Japan
Thank you, Rec...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 34
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
Upcoming SlideShare
Loading in...5
×

HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)

1,288

Published on

■Hadoop Conference Japan 2014 講演資料
https://hcj2014.eventbrite.com/

『HadoopとRDBMSをシームレスに連携させるSmart SQL Processing』
大橋 雅人
日本オラクル株式会社 データベース事業統括 製品戦略統括本部 プロダクトマーケティング本部 Cloud & Big Data推進部

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,288
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
62
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)"

  1. 1. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | HadoopとRDBMSを シームレスに連携させる Smart SQL Processing ビッグデータの管理・分析手法を革新する取り組み 8. July, 2014 日本オラクル株式会社 データベース事業統括 大橋雅人 (masato.ohashi@oracle.com) Hadoop Conference Japan 2014
  2. 2. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 2 Safe Harbor Statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、 情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。 以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するもの ではないため、購買決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊 社の裁量により決定されます。 Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標または商標です。 他社名又は製品名は、それぞれ各社の商標である場合があります。
  3. 3. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Agenda 1 2 3 Hadoopを取り巻く環境 Smart SQL Processing 本日のまとめ 3
  4. 4. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Agenda 1 2 3 Hadoopを取り巻く環境 Smart SQL Processing 本日のまとめ 4
  5. 5. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | ビッグデータ顧客事例 5 ビッグデータの分析 • R&D、サプライチェーン、顧客と消費者 • 統合されたデータサイエンス組織 ビジネスの変革 • スペインの大手銀行 、 1300万の顧客 • 顧客に関するすべての関連情報を収集、統合 カスタマー・エクスペリエンスの改善 • 7500万の登録プレイヤー • ゲームを改善するためにユーザーの利用形態を把握 BDA ODA BDA Exadata BDA ExadataCONSUMER GOODS FINANCIAL SERVICES GAMING BDA(Hadoop) :Oracle Big Data Appliance Exadata(RDBMS) :Oracle Exadata Database Machine ODA(RDBMS) :Oracle Database Appliance
  6. 6. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 2つのシステムの強み 6 0 1 2 3 4 5 ツールの成熟度 高度な非機能要件 ACIDトランザク ション セキュリティ データフォーマッ トの多様性 データの密度 ETLのシンプルさ データ格納の コスト効率 データの格納速度 ビジネスとの 相互運用 Hadoop RDBMS • Hadoop とRDBMSは 補完関係にある • 補完関係であることを 活用する • 車輪の再発明は行わない
  7. 7. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 0 1 2 3 4 5 ツールの成熟度 高度な非機能要件 ACIDトランザク ション セキュリティ データフォーマッ トの多様性 データの密度 ETLのシンプルさ データ格納の コスト効率 データの格納速度 ビジネスとの 相互運用 Hadoop RDBMS Goal 2つのシステムの強みを組みあわせる 7 • どのように構築するか • どのように利用するか
  8. 8. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Hadoopを活用する際の障壁 プラットフォームが問題なわけではない •スキル –Hadoopを活用するツールやトレーニングの不足 •インテグレーション –Hadoopを既存のアーキテクチャに加えることの複雑さ •セキュリティ –ガバナンスやルール遵守の明確な方法がない 8
  9. 9. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 9 どうすればもっと Hadoopの活用が進むのか
  10. 10. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 10 SQL
  11. 11. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 11 データマネジメントの標準言語「SQL」 Happy 40th Birthday SQL! SELECT dept, sum(salary) FROM emp, dept WHERE dept.empid = emp.empid GROUP BY dept 今も活躍 より速く、より多くの場所で利用されている YEAR 1974 YEAR 2014
  12. 12. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Hadoop上でのSQL活用というトレンドは明確。だけど、、 12 Stinger
  13. 13. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | より高度な関数や機能活用のニーズへの対応 • Hive QL:基本的な関数には対応 – 基本的な関数 • round, sqrt, floor, ceiling, concat, lower, upper, etc. – 集計関数 • count, sum, min, max, avg, variance, stddev, etc. – ウィンドウ関数 • lag, lead, first, last, row_number, etc. 13 SQL • Hive QL:限定的な機能 – サブクエリー – JOIN – 分析関数
  14. 14. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | next = lineNext.getQuantity(); } if (!q.isEmpty() && (prev.isEmpty() || (eq(q, prev) && gt(q, next)))) { state = "S"; return state; } if (gt(q, prev) && gt(q, next)) { state = "T"; return state; } if (lt(q, prev) && lt(q, next)) { state = "B"; return state; } if (!q.isEmpty() && (next.isEmpty() || (gt(q, prev) && eq(q, next)))) { state = "E"; return state; } if (q.isEmpty() || eq(q, prev)) { state = "F"; return state; } return state; } private boolean eq(String a, String b) { if (a.isEmpty() || b.isEmpty()) { return false; } return a.equals(b); } private boolean gt(String a, String b) { if (a.isEmpty() || b.isEmpty()) { return false; } return Double.parseDouble(a) > Double.parseDouble(b); } private boolean lt(String a, String b) { if (a.isEmpty() || b.isEmpty()) { return false; } return Double.parseDouble(a) < Double.parseDouble(b); } public String getState() { return this.state; } } BagFactory bagFactory = BagFactory.getInstance(); @Override public Tuple exec(Tuple input) throws IOException { long c = 0; String line = ""; String pbkey = ""; V0Line nextLine; V0Line thisLine; V0Line processLine; V0Line evalLine = null; V0Line prevLine; boolean noMoreValues = false; String matchList = ""; ArrayList<V0Line> lineFifo = new ArrayList<V0Line>(); boolean finished = false; DataBag output = bagFactory.newDefaultBag(); if (input == null) { return null; } if (input.size() == 0) { return null; } Object o = input.get(0); if (o == null) { return null; } //Object o = input.get(0); if (!(o instanceof DataBag)) { int errCode = 2114; Simplified, sophisticated, standards based syntax SELECT first_x, last_z FROM ticker MATCH_RECOGNIZE ( PARTITION BY name ORDER BY time MEASURES FIRST(x.time) AS first_x, LAST(z.time) AS last_z ONE ROW PER MATCH PATTERN (X+ Y+ W+ Z+) DEFINE X AS (price < PREV(price)), Y AS (price > PREV(price)), W AS (price < PREV(price)), Z AS (price > PREV(price) AND z.time - FIRST(x.time) <= 7 )) 250行以上の Java UDF 12 行のOracle SQL Oracle SQLなら、20倍もコードが少なくて済む 株式市場でのパターンを検出する:Double Bottom (W) ニーズに対応するためには、コード作成が必要
  15. 15. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Hadoopのセキュリティ機能はまだまだ発展途上 15 SSN EMPID LAST FIRST SALARY 111-11-1111 275895 Smith John 125275 222-22-2222 335685 Jones Sally 250950 333-33-3333 558544 Stinson Chuckie 32000 まだまだ、、 列へのアクセス制限機能 行レベルのセキュリティ機能 詳細な監査機能 マスキングなどのリダクション機能
  16. 16. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Hadoopをもっともっと使いたい!でも、、 • もっと 、SQL 機能をフル活用して簡単にHadoopを活用できれば・・・ • もっと、RDBMSのデータとHadoopのデータを組み合わせて、データを移動 することなく、アドホックにかつ高速に分析できれば・・・ • もっと、Hadoopにも高いセキュリティ機能があれば・・・ 16
  17. 17. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | RDBMSHadoop/NoSQL Ecosystem Big Data Management System
  18. 18. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 実現へのChallenge 次のような要件を満たすシステムを創る • SQL一つで全てのデータが使える – RDBMSと、Hadoop等全てのデータに対して、SQLの全機能を利用できる – RDBMSと、Hadoop等全てのデータに単一のビューを提供する – 既存アプリケーションコードに、変更の必要がない – Hadoop やRDBMSのデータに変更や移動の必要性がない • Hadoop上のデータに対しても、最良のパフォーマンスを提供する • Hadoopのデータに高度なセキュリティを実装する 18
  19. 19. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Agenda 1 2 3 Hadoopを取り巻く環境 Smart SQL Processing 本日のまとめ 19
  20. 20. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Smart SQL Processing どうやって実現するのか? 実現のポイント 1. Oracle Databaseからのクエリーで、HDFSのデータにアクセス可能とする 2. Oracle Databaseのメタデータ管理を拡張することで、Oracle Databaseか らHDFS上のオブジェクトを把握可能とする 3. Oracle Exadata のSmart Scan同等機能をHadoopのノードに実装し、HDFS へのリクエスト処理を高速化する 4. HadoopのデータにもOracle Databaseのセキュリティ機能を適用する 20
  21. 21. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Smart SQL Processing 実現のポイント1,2 Hadoop 上のデータにOracle Databaseからアクセス HDFS DataNode HDFS DataNode Local Process Local Process Oracle StorageServer Oracle StorageServer Local Process Local Process Oracle SQL Big Data Appliance + Hadoop Exadata + Oracle Database
  22. 22. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 22 Big Data Appliance + Hadoop HDFS DataNode Exadata + Oracle Database OracleCatalog ExternalTable create table customer_address ( ca_customer_id number(10,0) , ca_street_number char(10) , ca_state char(2) , ca_zip char(10) ) organization external ( TYPE ORACLE_HIVE DEFAULT DIRECTORY DEFAULT_DIR ACCESS PARAMETERS (com.oracle.bigdata.cluster hadoop_cl_1) LOCATION ('hive://customer_address') ) HDFS DataNode HDFS NameNode Hivemetadata ExternalTable Hivemetadata Smart SQL Processing 実現のポイント1,2 Hadoop のメタデータをOracle Catalogと連携
  23. 23. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 23 create table customer_address ( ca_customer_id number(10,0) , ca_street_number char(10) , ca_state char(2) , ca_zip char(10) ) organization external ( TYPE ORACLE_HIVE DEFAULT DIRECTORY DEFAULT_DIR ACCESS PARAMETERS (com.oracle.bigdata.cluster hadoop_cl_1) LOCATION ('hive://customer_address') ) Big Data Appliance + Hadoop HDFS DataNode Exadata + Oracle Database OracleCatalog ExternalTable HDFS DataNode HDFS NameNode Hivemetadata ExternalTable Hivemetadata Smart SQL Processing 実現のポイント1,2 Hadoop のメタデータをOracle Catalogと連携 create table customer_address ( ca_customer_id number(10,0) , ca_street_number char(10) , ca_state char(2) , ca_zip char(10) ) organization external ( TYPE ORACLE_HIVE DEFAULT DIRECTORY DEFAULT_DIR ACCESS PARAMETERS (com.oracle.bigdata.cluster hadoop_cl_1) LOCATION ('hive://customer_address') )
  24. 24. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 24 HDFS DataNode OracleCatalog ExternalTable Select c_customer_id , c_customer_last_name , ca_county From customers DBのテーブル , customer_address Hadoopの外部表 where c_customer_id = ca_customer_id and ca_state = ‘CA’ HDFS DataNode HDFS NameNode Hivemetadata ExternalTable Hivemetadata Smart SQL Processing 実現のポイント1,2 Hadoop上でのクエリの実行 HDFS DataNode HDFS DataNode 次を決定 • データの位置 • データの構造 • 並列化 特定のデータノードにクエリを発行 • データ要求 • コンテキスト • SerDe • RecordReader • InputFormat
  25. 25. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Smart SQL Processing 実現のポイント3 よりインテリジェントなクエリの実行 25 全てのデータに クエリー実行 Oracle SQL Oracle NoSQLDB HDFS DataNode Oracle NoSQLDB HDFS DataNode OracleDatabase StorageServer OracleDatabase StorageServer Fast 大規模な並列処理 ローカルでフィルタリング データの移動を極小化 Storage Index
  26. 26. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Storage Indexes Smart SQL Processing 実現のポイント3 Hadoop上でのScan処理の高速化 • 自動的にデータ単位毎の最大 値と最小値を収集 • データ格納単位をスキャンす る前に目的のデータが最大値 -最小値の間にあるかを確認 • 最大値-最小値の間になけれ ば、スキャンを行わず、スキャ ンにかかる時間を削減 26 HDFS DataNode HDFS DataNode HDFS NameNode Hivemetadata HDFS DataNode HDFS DataNode “Blocks” Min Max Min Max Min Max Select c_customer_id , c_customer_last_name , ca_county From customers DBのテーブル , customer_address Hadoopの外部表 where c_customer_id = ca_customer_id and ca_state = ‘CA’
  27. 27. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 27 HDFS DataNode OracleCatalog ExternalTable Select c_customer_id , c_customer_last_name , ca_county From customers DBのテーブル , customer_address Hadoopの外部表 where c_customer_id = ca_customer_id and ca_state = ‘CA’ HDFS DataNode HDFS NameNode Hivemetadata ExternalTable Hivemetadata Smart SQL Processing 実現のポイント3 Hadoop上でのクエリの高速化 HDFS DataNode HDFS DataNode “Tables” I/OとSmart Scanの実行 • 行のフィルタ • 必要な列に絞り込み データベースのクエリー 結果と結合 必要なデータのみ移動 • 関連する行 • 関連する列
  28. 28. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 28 Smart SQL Processing 実現のポイント4 すべてのデータをセキュアに管理 Hadoop側のデータに対して 高度なセキュリティ機能を実装 • マスキング/リダクション • 仮想プライベートデータベース • ファイングレイン・アクセス制御 Big Data Appliance + Hadoop Exadata + Oracle Database SSN EMPID LAST FIRST SALARY 111-11-1111 275895 Smith John 125275 222-22-2222 335685 Jones Sally 250950 333-33-3333 558544 Stinson Chuckie 32000 EMPID LAST FIRST 275895 Smith John 335685 Jones Sally SSN SALARY 111-11-XXXX 125275 222-22-YYYY 250950 333-33-ZZZZ 32000
  29. 29. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Agenda 1 2 3 Hadoopを取り巻く環境 Smart SQL Processing 本日のまとめ 29
  30. 30. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Big Data Management System • Oracle SQL一つで全てのデータを – Oracle Database、Hadoop、全てのデータに対して、 Oracle SQLの機能を完全に利用可能 – 既存アプリケーションコードに、変更が必要ない • Hadoop上のデータに最良のパフォーマンスを – Oracle Exadata のSmart Scan 同等機能をHadoopの ノードに実装 • Hadoopのデータに高度なセキュリティを – Oracle Databaseのセキュリティ機能を継承
  31. 31. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 31 Launch Webcast Oracle Big Data Breakthrough: Connect All Your Data with SQL 日本時間:7/16(水) AM2:00-3:45 Andrew Mendelsohn Executive Vice President, Database Server Technologies, Oracle Paul Sonderegger Senior Principal, Business Intelligence Market Development, Business Analytics Product Group, Oracle Dan McClary Principal Product Manager, Big Data, Oracle http://www.oracle.com/bigdata
  32. 32. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Apache Sentryへの貢献 32 Founding ・セキュリティ管理機能(ファイングレイ ンアクセス制御)をHadoopに実装する Apache Sentryの初期メンバーに参画 ・Oracle Databaseで長年つちかったセ キュリティーに関する技術や知見をもと にApache Sentryに貢献
  33. 33. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 33 Thank you, Hadoop User Group Japan Thank you, Recruit Technologies Co.,Ltd. Thank you, All
  34. 34. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 34
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×