SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
並列データベースシステム
の概念と原理
産業技術総合研究所 情報技術研究部門
油井 誠 <m.yui@aist.go.jp>
2014/01/30 筑波大学情報システム特別講義D
講演趣旨


情報化社会の進展とともに、情報爆発、BigDATAなどが
バズワードになるほど、巨大なデータを利活用すること
が重要な課題となっている





教科書(少なくとも日本語)には載っていないような、
教科書レベルより一歩進んだ話題を扱う





DWHアプライアンスやHadoopなどを利用した大規模データ処理
は、企業でも今後一般化していく(と思われる)
大規模データ処理で核となる技術について紹介する

DBの話題は正規化、関数従属性、トランザクションだけではない
関係データベースの基礎を習得していることが望ましいが、知ら
なくても付いていける内容(のはず)です

近年の先進的かつ重要なデータ工学システムの概念およ
び技術を習得することを目的とする
2
講義内容
 序論 - 並列データベースの前に
 並列処理の基礎



並列処理のTerminology
並列計算機アーキテクチャ


並列データベースのアーキテクチャ

 データベース処理の並列化


結合処理の高速化






並列ハッシュ結合

並列ソート
パーティショニング手法
多重結合や計算機間のデータ交換で発生する問題

 MapReduceによる関係演算の並列処理
3
データベース開発の流れ


Coddの論文: 1970年






System RやIngres: 70年代中盤
Oracle, IBM DB2, Ingres: 80年代序盤
並列データベースの隆盛: 80年代後半




A Relational Model of Data for Large Shared Data Banks,
Communications of ACM

商用: Teradata, Tandem、アカデミア: Gamma, SDC

Google MapReduce発表: 2004年


並列データベースに再び脚光が集まる


DeWitt, Stonebraker: MapReduce: A Major Step Backwards
「ちっとも革新的な所がない。25年前に開発された技術を実装したもの
でしかない」 並列データベース技術の再訪、MapReduceも並列DBと同様の道を辿っている



10+スタートアップが開発/exit競争: 現在
Netezza => IBM, Greenplum => EMC, Vertica => HP, Aster Data =>
Teradata, DATAllegro => MS, Kickfire, ParAccel, Exasol etc.
4
並列/分散データベース


並列データベースシステム


データベースの関係演算を高速に実行することが目的





性能追求型のシステム




基本的に、単一のデータセンタ内での運用

トランザクション処理よりも複雑な分析問合せを処理をするのに
適する




結合(Join)処理の並列化
Sort処理の並列化

PostgreSQLやMySQL単体だとデータウェアハウスのベンチマーク標準TPC-H
で10GBも満足も処理できない

分散データベースシステム



地理的に離れ、ネットワークで接続された複数のデータベースを
束ねて処理することが目的
並列処理は主眼ではない
5
並行/並列/分散コンピューティング
Concurrent (並行)
Task1-a

Task1-b

Task1-b

Task1-a

timeline

アプリケーションからみて
論理的に並行に実行される
e.g., マルチタスクOSのスケジューリング

Parallel (並列)
Task1-a

Task1-b

Task1-a

Task1-b

物理的に並行に実行される
timeline

Distributed (分散)
Node 1

node 2

Node 3

ネットワークを介した複数の
計算機でタスクを処理すること
(同時実行とは直接関係はない)

6
並列処理の基礎


パイプライン並列(pipeline parallel)


依存関係のある演算を直列に並べて、各演算ステップを複数の
PEでconcurrentに処理






入力⇒出力⇒入力のデータをパイプライン的に流す

Dependent parallelとも言われる

独立並列(Independent parallel)

op2
データの依存関係

op3
op1

op5

Pipeline並列が可能

op4
7
並列処理の基礎


パイプライン並列(pipeline parallel)


依存関係のある演算を直列に並べて、各演算ステップを複数の
PEでconcurrentに処理






入力⇒出力⇒入力のデータをパイプライン的に流す

Dependent parallelとも言われる

独立並列(Independent parallel)



演算を並列にならべて、依存関係のない演算を複数のPEで
parallelに処理
データ並列やパーティション並列とも言われる
op2

データの依存関係

op3
op1

op4

op5

独立並列に実行しやすいようにデータを
分割(partitioning)しておくことが重要
8
なぜデータ並列が重要か
At 10 MB/s
1.2 days to scan

1 Terabyte

1,000並列

1.7 minutes to scan

1 Terabyte

10 MB/s

Materials taken from “Readings in Database Systems”, Joseph M. Hellerstein and Michael Stonebraker, eds.

9
計算環境の高性能化のアプローチ


スケールアップ





サーバの計算能力(メモリ、CPU)の増強
システム構築時のハードウェアによって限界が規定される

スケールアウト



サーバ台数を増やして計算能力の増強
その環境で動作するソフトウェアが規定

10
並列計算機のアーキテクチャ
 Shared-nothing(無共有型)






コモディティな計算機を利用可能
Scale-out構成がとれる
メモリアクセスとディスクバンド幅を最大限利用可能
データの同期処理が困難(管理ノード等が必要)
ローカリティを活かすことが重要


データ分割(partitioning)が重要

PE1

PE2

PE3

PE4

CPU

CPU

CPU

CPU

Mem

Mem

Mem

Mem

Disk

Disk

Disk

Disk

プロセッサ要素
(Processor Element)

ネットワーク
11
並列計算機のアーキテクチャ
 Shared-memory(共有メモリ)


単一のメモリ空間を共有できるのでプログラミングは容易
(メモリ上で同期処理をすればよい)




専用の相互接続網を利用するため高価
Scale-up構成によりスケーラビリティに制限がある



メモリバンド幅が相互接続網によって制限をうける


最大CPU接続数に制限がある

PE1

PE2

PE3

PE4

CPU

CPU

CPU

CPU

Mem Mem Mem

Mem

相互接続網

プロセッサ要素
(Processor Element)

(バス/クロスバースイッチ)

Mem

Disk

Disk

Disk

Disk
12
並列計算機のアーキテクチャ
 Shared-disk(共有ディスク)


ネットワーク帯域とストレージの性能依存






I/Oに関してScale-up型の構成となる

ファイバーチャネル等の高価な高速ネットワークが前提
共有ディスク上でのデータ同期をする
ディスクバンド幅がStorage Area Networkの性能で制限される
PE1

PE2

PE3

PE4

CPU

CPU

CPU

CPU

Mem

Mem

Mem

Mem

プロセッサ要素
(Processor Element)

高速ネットワーク

Storage
13
並列データベースの実行環境


Shared-nothing(無共有型)







Shared-memory(共有メモリ)





Hard to program / Cheap to build / Easy to scale-up
Teradata, Greenplum 等、現在の並列データベースで主流の構成
MapReduce等もこの構成
一般的に同期処理の少ないバッチ処理/分析タスクに適する
Easy to program / Expensive to build / Hard to scale-up
VMS cluster、MySQL cluster
MySQL clusterはN/Wを介したメッセージパッシングによりオンメモリテーブル
を共有( HWは無共有型だが、SWレベルで共有メモリ型)

Shared-disk(共有ディスク)





プログラミングのしやすさやスケールアップのしやすさは
Shared-nothingとshared-memoryの中間
Oracle RAC, DB2 pure scale
トランザクション処理をする既存DBの高性能化でよく利用される

現在のトレンドはShared-Nothing
(共有ディスクに移行したDB2のような例もあり、用途次第)
14
データベース処理の並列化
 Intra-query並列化


Intra-operator並列化


Scan, Sort, Join, Aggregation等を並列に処理

Inter-operator並列化


Join

問合せ木の中の並列性を抽出して並列実行




Sort

scan

scan

A

B

それぞれの演算が異なるサイトでconcurrentに動作
 Pipeline並列化

 Inter-query並列化


複数の独立したクエリを異なるProcessor Elementが
並列に実行する



複数のトランザクションの並列実行
多くのインターネットサービスプロバイダが行っている
Database shardingはこのタイプ
 e.g., IDの範囲ごとにDBを分けてトランザクションを分割
15
Nested-loop Join (入れ子ループ結合)
結合処理はデータベースで
もっとも重たい処理

SELECT C.name, C.email
FROM Customers C, Sales S
WHERE C.custId = S.custId
and S.amount > 1000
C.name, C.email

nested-loop join
projection

for each s
for each c
s.custid = c.custid

C.custId = S.custId
Eq-Join

外側テーブル
(N件)

内側テーブル
(M件)

Selection

Sales表

Customer表

3

7

1

4

S.amount > 1000

2

4

9

2

タプル読み書き回数から

時間計算量 O(N×M)

外1行毎に
全スキャン
16
Hash Join (ハッシュ結合)
 等結合の場合
R[i].attr=S[j].attr  h(R[i].attr) = h(S[j].attr)が成り立つ


ただし、h(x)はハッシュ関数
R
h(R)=0

h(R)=1

h(R)=2

h(R)=3

h(S)=0

S

h(S)=1

h(S)=2
h(S)=3

突き合せる領域が圧倒的に減る
17
Hash Join
Buildフェーズ





事前に内側テーブルのハッシュ表を作成

Probeフェーズ





外側テーブルを一行づつ読み込み、ハッシュ関数を適用したタ
プルと対応するハッシュバケット内のタプルを照合

内側テーブル

外側テーブル

(M件)

scan

Hash bucket

(N件)

3

2
7

build

probe

1

4

h(x)

h(x)

4

2

9

Hash表
二次記憶へのタプル読み書き回数から

時間計算量 O(N+M)

Pros:
一度ハッシュ表を作ってし
まえばメモリ内の検索なの
で高速
Cons:
ハッシュ表がメモリに収ま
らないと性能劣化、巨大
データに使えない

先頭から一列づつ
probe
18
Grace Hash Join (Kitsuregawa et al.)


ハッシュ表がメモリから溢れる場合の結合アルゴリズム


Splitフェーズ
build
R
h1(x)

R1

R2

Joinフェーズ



S

…
Rn



build
h1(x)

h2(x)
h1とh2でハッシュ関数が
異なってもよい

h2(x)

Hash表

…

N+Mの読み込み
N+Mの書き込み

N+Mの読み込み

probe

Ri

S2
Sn

ハッシュバケットを
メモリに乗切る量ごとに
ファイルに格納

ここは通常のHash Joinと同じ(build⇒probe)
この作業を各バケットごとに行う
並列化可能!

build

S1

Si
タプル読み書き回数から

時間計算量 O(3(N+M))
19
Hybrid Hash Join (Gamma by DeWitt et al.)


Grace Hash Joinのちょっとした改良


Splitフェーズ



それぞれ1つのバケットR1をメモリ上に保持しておく
h1(s)=1に関しては、R1を使って、この段階でprobeしてしまう

R1を使ってprobe
build
R
h1(x)

R1
R2

…

build
S

h1(x)

Rn

S2

…

Sn

(N + M)% BucketSize 分のディスク
読み書きを削減
タプル読み書き回数から

時間計算量 O( 3(N+M)-2(N+M)/BucketSize )
20
Parallel Grace Hash Join (Kitsuregawa et al.)
 Graceハッシュ結合をn台の計算機を利用して
並列に行うもの


Splitフェーズで計算機間にパーティショニング




結合キーで予めデータ分割されていればデータ交換不要

Joinフェーズは各計算機でローカルに並列実行
build
R
h1(x)

R1
R2

…
Rn

build

S

h1(x)

S1
S2

…

Sn

ハッシュ値の偏りに対処した分散バケット法も提案されている
Bucket spreading parallel hash: a new, robust, parallel hash join method for data skew in the super database
computer, Masaru Kitsuregawa, Yasushi Ogawa, In Proc. VLDB, 1990.
21
結合以外の関係演算の並列処理
 選択、射影演算


各PEで独立に演算

 集約演算



結合則と交換則を満たせば並列化可能
各PEでPartial aggregation(部分集約)した結果をまとめる








分割統治してO(logN)

Group-byによるグループ化演算




count(S) = S count(s(i))
sum(s) = S sum(s(i))
avg(S) = S sum(s(i)) / S count(s(i))

グループ化する属性値に基づいて並列ハッシュ結合と同様の手法
で計算

ソート演算


マージソートの並列化、部分奇数ソートの並列化
22
マージソートの並列化
 各runごとの2wayのマージを複数のPEで並列
に実行
問題点:処理が進むごとに並列性が落ちる


3,4

6,2

9,4

8,7

5,6

3,1

3,4

2,6

4,9

7,8

5,6

1,3

入力ファイルは適度にブロック分割

2
2

4,7
8,9

2,3
4,6

1,3
5,6

2,3
4,4
6,7
8,9

2

1,2
3,5
6

1,2
2,3
3,4
4,5
6,6
7,8
9

1st run

8並列

2nd run

4並列

3rd run

2並列

4th run
Runが進むごとに遊休PEが発生
23
部分奇数ソートの並列化
1.
2.

各PEで、ソートキーの上位数ビットのみを用いてnグ
ループに分割
分割されたグループを各PEに転送
バケットの偏りは問題
⇒バケットのbin packing問題をfirst fitアルゴリズムでとけばよい
(バケットを割り当て済み容量のもっとも小さいPEに埋める)

3.

各PEで独立並列にソート

0100011
1100101
1011101
0011111
…
00

PE2

PE1

11

01
0011111

PE3

1100101

0100011
00

10

0011111

11
1011101

1111011

1100101

01

1111010

0011011

0111101

0011010

0111010

10
1000011

24
部分奇数ソートの並列化
1.
2.

各PEで、ソートキーの上位数ビットのみを用いてnグ
ループに分割
分割されたグループを各PEに転送
バケットの偏りは問題
⇒バケットのbin packing問題をfirst fitアルゴリズムでとけばよい
(バケットを割り当て済み容量のもっとも小さいPEに埋める)

3.

各PEで独立並列にソート

0100011
1100101
1011101
0011111
…

PE1

PE2

PE3

00
01
Bucket spreading parallel hash: a new, robust, parallel hash join method
1100101
0011111
for data skew in 0100011
the super database computer, Masaru Kitsuregawa,
00
1111011
Yasushi Ogawa, In Proc. VLDB, 1990.
01

11

10

11

0011111

1111010

0111101

10
1011101
1100101
のbucket spreading法を応用するとこれらのフェーズを賢く実装出来るので興
0111010
1000011
0011010
味がある方は読んでみるとよい
0011011

25
データ分割


Range partitioning





Pros. 範囲問合せや結合が容易
Cons. データの偏りが発生

Round-robin partitioning



選択、射影演算ぐらいにしか使えない

i-p

q-z

a

Pros. データの偏りが少ない
 負荷の均等分散が可能
Cons. 等結合も範囲問合せも困難




a-h

z

a d

c f

b e

a

z

Hash partitioning


Pros. 比較的データの偏りが小さい




Pros. 等結合に適する




偏りを小さくする手法が確立されている

並列ハッシュ結合で高速実行できる

b d

a c

e

Hash(x)

a

z

Cons. 範囲問合せが困難

多くの商用並列DBでハッシュ分割+並列Graceが採用されている
パーティショニングはデータ並列への鍵
26
データ分割


Range partitioning





なおList partitioningというのもあり、Range partitioning q-z
i-p
a-h
Pros. 範囲問合せや結合が容易
は暗黙的なList partitioningといえる
Cons. データの偏りが発生

Round-robin partitioning



Pros. データの偏りが少ない
 負荷の均等分散が可能
Cons. 等結合も範囲問合せも困難




a

選択、射影演算ぐらいにしか使えない

a d

z

c f

b e

a

z

Hash partitioning


Pros. 比較的データの偏りが小さい




Pros. 等結合に適する




偏りを小さくする手法が確立されている

並列ハッシュ結合で高速実行できる

b d

a c

e

Hash(x)

a

z

Cons. 範囲問合せが困難

多くの商用並列DBでハッシュ分割+並列Graceが採用されている
パーティショニングはデータ並列への鍵
27
Partitioned Join


事前にデータ分割を行うパーティション並列を活かした結
合処理



並列ハッシュ結合のsplitフェーズを省略してローカルにJoin
事前データ分割に用いる属性の選択が鍵
Join on R.x = S.x
build
R
h1(x)

R1

S1

R2

S2

…

…

Rn

build
S

Sn

事前にデータ分割

h1(x)

事前にデータ分割

28
多重結合(Multi-way Joins)の問題
 タプルの再分散が発生してしまう
Select
R1.A, R3.B
From
R1, R2, R3
Where
R1.A = R2.A and R2.B = R3.B
Requires R2 partitioned
by attribute A

Join

Requires R2 partitioned
by attribute B

Conflict

Shuffle

R3

Join

R1

R2

29
Shuffleの問題点


スパコンとは異なり、汎用の計算機クラスタではラック
間の接続が細い(48Gbps未満)



バイセクションバンド幅(全ての計算ノードが全力で通信した
時にシステム全体で達成しうる通信性能)が低い
Many-to-one通信パターンで
tcpパケットの再送が発生
http://www.pdl.cmu.edu/Incast/

Root switch
Rack switch

10GbE

Rack switch

1GbE
DB

DB
Node

DB
Node

1 rack

DB
Node

DB
Node

DB
Node
Ethernet

Node

FAT-tree

(Tsubame2で採用)
30
Shuffleの問題点


スパコンとは異なり、汎用の計算機クラスタではラック
間の接続が細い(48Gbps未満)



バイセクションバンド幅(全ての計算ノードが全力で通信した
時にシステム全体で達成しうる通信性能)が低い
Many-to-one通信パターンで
tcpパケットの再送が発生
http://www.pdl.cmu.edu/Incast/

猛烈shuffleにはTCP incastという問題があり、商用並列DBではtcp以外の独自
ネットワークプロトコルが利用されている
Root switch

Rack switch

10GbE

Rack switch

1GbE
DB

DB
Node

DB
Node

1 rack

DB
Node

DB
Node

DB
Node
Ethernet

Node

FAT-tree

(Tsubame2で採用)
31
Shuffleの問題点


ネットワークでの競合以外にも送信側、受信側もそれぞ
れボトルネックに成りえる

At a sender

At a receiver

In the network

Facebookのある一週間の実績(188,000 MapReduce jobs、3000ノード)
では、全体の33%の時間がshuffleに費やされている Orchestra, Proc. SIGCOMM, 2011



Shuffle処理では、タプルのディスクからの読み出し、タ
プルごとのハッシュ値の計算といったコストもかかる
32
MapReduce


複雑な分散処理を単純なプログラミングモデルに包んで
抽象化



並列ハッシュ結合のSplitと同じことをshuffleでやっている
ユーザはmap/Reduce関数を書くだけ
map(k1, v1) => k2, v2
reduce(k2,list<v2>) => k3, v3
Map

Merge
Sort

reduce

Merge
Sort

reduce

Shuffle

Map

Map

Local disk
write/read

Local Disk
write/read
33
MapReduceの実行イメージ
Machine 1

<k1, v1>
<k2, v2>
<k3, v3>

<nk1, nv1>
<nk2, nv2>
<nk3, nv3>

Local
Map

<nk1, nv1>
<nk3, nv3>
<nk1, nv6>

Global
Shuffle

<nk1, nv1>
<nk1, nv6>
<nk3, nv3>

Local
Sort

<nk1, 2>
<nk3, 1>

Local
Reduce

Machine 2
<k4, v4>
<k5, v5>
<k6, v6>

<nk2, nv4>
<nk2, nv5>
<nk1, nv6>

<nk2, nv4>
<nk2, nv5>
<nk2, nv2>

<nk2, nv4>
<nk2, nv5>
<nk2, nv2>

<nk2, 3>

34
ワードカウントの実行例
入力ファイル: doc1
foo foo foo
bar bar buz

Map

Input

Output

Map
Map

DFS

Reduce

Reduce
shuffle
DFS

35
ワードカウント – map input
入力ファイル: doc1
foo foo foo
bar bar buz

map(k1, v1) => k2, v2
doc1: foo
doc1: foo

Map

Reduce

doc1: foo
doc1: bar

Input

Output

Map
doc1: bar
doc1: buz

Map
DFS

Reduce
shuffle
DFS

36
ワードカウント – map output
入力ファイル: doc1
foo foo foo
bar bar buz

map(k1, v1) => k2, v2
foo: 1
foo: 1

doc1: foo
doc1: foo

Map
doc1: foo
doc1: bar

Input

Output

Map
doc1: bar
doc1: buz

bar: 1
buz: 1

Map
DFS

Reduce

foo: 1
bar: 1

Reduce
shuffle
DFS

37
ワードカウント – reduce input
入力ファイル: doc1
foo foo foo
bar bar buz

reduce(k2,list<v2>) => k3, v3

foo: 1
foo: 1

bar: <1,1>
buz: <1>

Map

Reduce

foo: 1
bar: 1

Input

Output

Map
bar: 1
buz: 1

Map
DFS

foo: <1, 1, 1>

Reduce
shuffle
DFS

38
ワードカウント – reduce output
入力ファイル: doc1
foo foo foo
bar bar buz

reduce(k2,list<v2>) => k3, v3

bar: 2
buz: 1

bar: <1,1>
buz: <1>

Map

Input

Reduce

Output

Map
foo: <1, 1, 1>

Map
DFS

foo: 3

Reduce
shuffle
DFS

39
ワードカウントの実行例
入力ファイル: doc1

ワードカウント結果

foo foo foo
bar bar buz

bar: 2
buz: 1
foo: 3

bar: 2
buz: 1

Map

Input

Reduce

Output

Map
foo: 3

Map
DFS

Reduce
shuffle
DFS

40
MapReduce Internal
 基本的に次のフェーズから成る
 map, shuffle(copy+sort)、reduce

Tom White: Hadoop: The Definitive Guideより抜粋
41
MapReduce Internal
並列データベースだとmapからreduceへの入力はpushされるが、
 基本的に次のフェーズから成る
MapReduceは実際にはreducerがmapperの出力をpullするという
モデルになっている
 map, shuffle(copy+sort)、reduce

Tom White: Hadoop: The Definitive Guideより抜粋
42
MapReduceによる関係演算の実行
pv_users
pageid

age

1

25

2

25

1

32

2

25

pageid

age count

1

25

1

2

25

2

1

32

1

SELECT pageid, age, count(1)
FROM pv_users
GROUP BY pageid, age

43
GROUP BY in MapReduce
SELECT pageid, age, count(1) FROM pv_users GROUP BY pageid, age

pv_users
pageid

age

key

value

key

value

pagei

1

25

<1,25>

1

<1,25>

1

1

2

25

<2,25>

1

<1,32>

1

1

Map
pageid
1

age
32

key
<1,32>

value
1

Shuffle
Sort

Reduce
key
<2,25>

value
1

pagei
2

2

25

<2,25>

1

<2,25>

1

44
GROUP BY in MapReduce
SELECT pageid, age, count(1) FROM pv_users GROUP BY pageid, age

key

value

key

value

pageid

age

count

<1,25>

1

<1,25>

1

1

25

1

<2,25>

1

<1,32>

1

1

32

1

pageid

age

count

2

25

2

key
<1,32>
<2,25>

value
1
1

Shuffle
Sort

Reduce
key
<2,25>
<2,25>

value
1
1

45
Reduce-side Join

Map
task 1

テーブルR(a,b)をスキャン
各タプルごとにb属性を出力キーとして
hash(b)=iのReduceタスクにタプルを送信

Reduce
task i
R.b=S.b

Map
task 2

結合処理をreducer側で行う
テーブルS(b,c)をスキャン
各タプルごとにb属性を出力キーとして
hash(b)=iのReduceタスクにタプルを送信
46
Reduce-side Join Example
SELECT pv.pageid, u.age
FROM page_view pv JOIN user u ON (pv.userid = u.userid)

page_view
pageid

userid

time

userid

value

userid

value

1

111

9:08:01

111

<pageid,1>

111

<pageid,1>

2

111

9:08:13

111

<pageid,2>

111

<pageid,2>

1

222

9:08:14

222

<pageid,1>

111

<age,25>

Map

user

Shuffle
Sort

Reduce

userid

age

gender

userid

value

userid

value

111

25

female

111

<age,25>

222

<pageid,1>

222

32

male

222

<age,32>

222

useridが

<age,32>

47
Reduce-side Join Example
SELECT pv.pageid, u.age
FROM page_view pv JOIN user u ON (pv.userid = u.userid)

pv_users

userid

value

userid

value

111

<pageid,1>

111

<pageid,1>

pageid

age

111

<pageid,2>

111

<pageid,2>

1

25

222

<pageid,1>

111

<age,25>

2

25

Map

Shuffle
Sort

Reduce

userid

value

userid

value

111

<age,25>

222

<pageid,1>

222

<age,32>

222

<age,32>

useridが同じpageidとageの組合せを列挙

pageid

age

1

32

48
Map-side Join (Fragment and Replicate Strategy)



小さなテーブルを全ノードにコピーしてmap側で結合
処理を実行
問題点: データ量に対するスケーラビリティ



データを全ノード(タスク)にコピーしなければならない
複製するテーブルが巨大だったらローカルの結合処理でボトル
ネックとなる

Fragment (large table)

Map tasks:

Split 1

Duplicate
(small table)

Split 2

Split 3

Split 4

Duplicate
49
Multi-way Join by MapReduce
A

(A join B on A.k1=B.k1) as AB join C on AB.k1 = C.k2

k1

av

1

111

AB
k1

B

av

1

k1

bv

1

bv

ABC

111 222

MapReduce

222

k1

C

MapReduce

k2

bv

cv

111 222 333

cv

1

1

av

333

複数回のMapReduceイテレーションが必要
⇒Shuffleのオーバヘッドや分散ファイルシステム
への入出力が増える
50
Multi-way Join for M/R [Arfati & Ullman, EDBT 2010]


R.B=S.B and S.C = T.Cの結合のときに、hash(B)
とhash(C)をshuffleに用いる





Rには属性Cは存在しない⇒すべてのノードに複製を置く
MapReduceのイテレーションは一回で済む

タプルの一位性が崩れるので、事前のデータ分割には使
えない
R(A,B)

h(B,C) 0

1

S(B,C)

2

T(C,D)

3

4

X軸=hash(C)

5

0
1
2
3
4

Y軸=hash(B) 5
51
本日話した内容のまとめ
BigDataに対処するための並列データ処理技術を紹介した
 並列データベースの構成法



Shared-{Nothing|Disk|Memory}等のアーキテクチャ
並列ハッシュ結合、並列ソート







BigDataの技術的に最も困難な課題は巨大なデータ同士のN×Nの結合

データ分割(ハッシュ、範囲、Round-Robin)

多重結合(multi-way Join)やshuffleといった並列処理で
発生する問題 ⇒ データ並列、Partitioned Parallelの重要性
MapReduceを利用した関係演算の処理手法


Facebook Hive(Hadoop), Google BigQueryなどでは、SQLイ
ンタフェースをMapReduceの上に被している




関係データベースの機能(ビューや索引、統計情報の利用)を取り込みつつある

MapReduceでは並列DBと同様のコア技術が使われている


大きな違いはトランザクションのありなし、非構造データの扱いやすさ、構
造データを扱う上での効率、分散ファイルシステムを前提とするか否か
52

Weitere ähnliche Inhalte

Was ist angesagt?

pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムKouhei Sutou
 
ログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについてログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについてcyberagent
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜Takahiro Inoue
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...NTT DATA Technology & Innovation
 
詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2Sho Nakazono
 
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...NTT DATA Technology & Innovation
 
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?ichirin2501
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveTokoroten Nakayama
 
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)NTT DATA Technology & Innovation
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話ichirin2501
 
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)NTT DATA Technology & Innovation
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)NTT DATA Technology & Innovation
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングKosuke Kida
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

Was ist angesagt? (20)

pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 
ログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについてログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについて
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2
 
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
 
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
 
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話
 
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
 

Andere mochten auch

Writing Yarn Applications Hadoop Summit 2012
Writing Yarn Applications Hadoop Summit 2012Writing Yarn Applications Hadoop Summit 2012
Writing Yarn Applications Hadoop Summit 2012Hortonworks
 
Future of HCatalog - Hadoop Summit 2012
Future of HCatalog - Hadoop Summit 2012Future of HCatalog - Hadoop Summit 2012
Future of HCatalog - Hadoop Summit 2012Hortonworks
 
Data analytics with hadoop hive on multiple data centers
Data analytics with hadoop hive on multiple data centersData analytics with hadoop hive on multiple data centers
Data analytics with hadoop hive on multiple data centersHirotaka Niisato
 
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)Satoshi Yamada
 
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回都元ダイスケ Miyamoto
 
Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料Cloudera Japan
 
Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012Cloudera Japan
 
【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理Developers Summit
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界Yoshinori Nakanishi
 
Hadoop Summit 2012 - Hadoop and Vertica: The Data Analytics Platform at Twitter
Hadoop Summit 2012 - Hadoop and Vertica: The Data Analytics Platform at TwitterHadoop Summit 2012 - Hadoop and Vertica: The Data Analytics Platform at Twitter
Hadoop Summit 2012 - Hadoop and Vertica: The Data Analytics Platform at TwitterBill Graham
 
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方kwatch
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編Miki Shimogai
 
Datalogからsqlへの トランスレータを書いた話
Datalogからsqlへの トランスレータを書いた話Datalogからsqlへの トランスレータを書いた話
Datalogからsqlへの トランスレータを書いた話Yuki Takeichi
 

Andere mochten auch (15)

Database smells
Database smellsDatabase smells
Database smells
 
Writing Yarn Applications Hadoop Summit 2012
Writing Yarn Applications Hadoop Summit 2012Writing Yarn Applications Hadoop Summit 2012
Writing Yarn Applications Hadoop Summit 2012
 
Future of HCatalog - Hadoop Summit 2012
Future of HCatalog - Hadoop Summit 2012Future of HCatalog - Hadoop Summit 2012
Future of HCatalog - Hadoop Summit 2012
 
Data analytics with hadoop hive on multiple data centers
Data analytics with hadoop hive on multiple data centersData analytics with hadoop hive on multiple data centers
Data analytics with hadoop hive on multiple data centers
 
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
 
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回
 
Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料
 
Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012
 
【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 
Hadoop Summit 2012 - Hadoop and Vertica: The Data Analytics Platform at Twitter
Hadoop Summit 2012 - Hadoop and Vertica: The Data Analytics Platform at TwitterHadoop Summit 2012 - Hadoop and Vertica: The Data Analytics Platform at Twitter
Hadoop Summit 2012 - Hadoop and Vertica: The Data Analytics Platform at Twitter
 
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
 
ならば(その弐)
ならば(その弐)ならば(その弐)
ならば(その弐)
 
Datalogからsqlへの トランスレータを書いた話
Datalogからsqlへの トランスレータを書いた話Datalogからsqlへの トランスレータを書いた話
Datalogからsqlへの トランスレータを書いた話
 

Ähnlich wie 並列データベースシステムの概念と原理

Hadoop / Elastic MapReduceつまみ食い
Hadoop / Elastic MapReduceつまみ食いHadoop / Elastic MapReduceつまみ食い
Hadoop / Elastic MapReduceつまみ食いRyuji Tamagawa
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionTetsutaro Watanabe
 
Hadoop for programmer
Hadoop for programmerHadoop for programmer
Hadoop for programmerSho Shimauchi
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) hamaken
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16Yifeng Jiang
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Shintaro Fukushima
 
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案Toshiyuki Shimono
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けTetsutaro Watanabe
 
データセンター視点で考えてみるHadoop
データセンター視点で考えてみるHadoopデータセンター視点で考えてみるHadoop
データセンター視点で考えてみるHadoopAtsushi Nakada
 
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~Developers Summit
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けRecruit Technologies
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法Tetsutaro Watanabe
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - Tetsutaro Watanabe
 
MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習Preferred Networks
 
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューションDell TechCenter Japan
 
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門Yohei Sasaki
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方Recruit Technologies
 

Ähnlich wie 並列データベースシステムの概念と原理 (20)

Hadoop / Elastic MapReduceつまみ食い
Hadoop / Elastic MapReduceつまみ食いHadoop / Elastic MapReduceつまみ食い
Hadoop / Elastic MapReduceつまみ食い
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
Hadoop for programmer
Hadoop for programmerHadoop for programmer
Hadoop for programmer
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)
 
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
 
データセンター視点で考えてみるHadoop
データセンター視点で考えてみるHadoopデータセンター視点で考えてみるHadoop
データセンター視点で考えてみるHadoop
 
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
Hash Tree
Hash TreeHash Tree
Hash Tree
 
MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習
 
MapReduceによる大規模データ処理 at Yahoo! JAPAN
MapReduceによる大規模データ処理 at Yahoo! JAPANMapReduceによる大規模データ処理 at Yahoo! JAPAN
MapReduceによる大規模データ処理 at Yahoo! JAPAN
 
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
 
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方
 

Mehr von Makoto Yui

Apache Hivemall and my OSS experience
Apache Hivemall and my OSS experienceApache Hivemall and my OSS experience
Apache Hivemall and my OSS experienceMakoto Yui
 
Introduction to Apache Hivemall v0.5.2 and v0.6
Introduction to Apache Hivemall v0.5.2 and v0.6Introduction to Apache Hivemall v0.5.2 and v0.6
Introduction to Apache Hivemall v0.5.2 and v0.6Makoto Yui
 
Introduction to Apache Hivemall v0.5.0
Introduction to Apache Hivemall v0.5.0Introduction to Apache Hivemall v0.5.0
Introduction to Apache Hivemall v0.5.0Makoto Yui
 
Idea behind Apache Hivemall
Idea behind Apache HivemallIdea behind Apache Hivemall
Idea behind Apache HivemallMakoto Yui
 
Introduction to Apache Hivemall v0.5.0
Introduction to Apache Hivemall v0.5.0Introduction to Apache Hivemall v0.5.0
Introduction to Apache Hivemall v0.5.0Makoto Yui
 
What's new in Hivemall v0.5.0
What's new in Hivemall v0.5.0What's new in Hivemall v0.5.0
What's new in Hivemall v0.5.0Makoto Yui
 
What's new in Apache Hivemall v0.5.0
What's new in Apache Hivemall v0.5.0What's new in Apache Hivemall v0.5.0
What's new in Apache Hivemall v0.5.0Makoto Yui
 
Revisiting b+-trees
Revisiting b+-treesRevisiting b+-trees
Revisiting b+-treesMakoto Yui
 
Incubating Apache Hivemall
Incubating Apache HivemallIncubating Apache Hivemall
Incubating Apache HivemallMakoto Yui
 
Hivemall meets Digdag @Hackertackle 2018-02-17
Hivemall meets Digdag @Hackertackle 2018-02-17Hivemall meets Digdag @Hackertackle 2018-02-17
Hivemall meets Digdag @Hackertackle 2018-02-17Makoto Yui
 
Apache Hivemall @ Apache BigData '17, Miami
Apache Hivemall @ Apache BigData '17, MiamiApache Hivemall @ Apache BigData '17, Miami
Apache Hivemall @ Apache BigData '17, MiamiMakoto Yui
 
機械学習のデータ並列処理@第7回BDI研究会
機械学習のデータ並列処理@第7回BDI研究会機械学習のデータ並列処理@第7回BDI研究会
機械学習のデータ並列処理@第7回BDI研究会Makoto Yui
 
Podling Hivemall in the Apache Incubator
Podling Hivemall in the Apache IncubatorPodling Hivemall in the Apache Incubator
Podling Hivemall in the Apache IncubatorMakoto Yui
 
Dots20161029 myui
Dots20161029 myuiDots20161029 myui
Dots20161029 myuiMakoto Yui
 
Hadoopsummit16 myui
Hadoopsummit16 myuiHadoopsummit16 myui
Hadoopsummit16 myuiMakoto Yui
 
HadoopCon'16, Taipei @myui
HadoopCon'16, Taipei @myuiHadoopCon'16, Taipei @myui
HadoopCon'16, Taipei @myuiMakoto Yui
 
3rd Hivemall meetup
3rd Hivemall meetup3rd Hivemall meetup
3rd Hivemall meetupMakoto Yui
 
Recommendation 101 using Hivemall
Recommendation 101 using HivemallRecommendation 101 using Hivemall
Recommendation 101 using HivemallMakoto Yui
 
Hivemall dbtechshowcase 20160713 #dbts2016
Hivemall dbtechshowcase 20160713 #dbts2016Hivemall dbtechshowcase 20160713 #dbts2016
Hivemall dbtechshowcase 20160713 #dbts2016Makoto Yui
 
Introduction to Hivemall
Introduction to HivemallIntroduction to Hivemall
Introduction to HivemallMakoto Yui
 

Mehr von Makoto Yui (20)

Apache Hivemall and my OSS experience
Apache Hivemall and my OSS experienceApache Hivemall and my OSS experience
Apache Hivemall and my OSS experience
 
Introduction to Apache Hivemall v0.5.2 and v0.6
Introduction to Apache Hivemall v0.5.2 and v0.6Introduction to Apache Hivemall v0.5.2 and v0.6
Introduction to Apache Hivemall v0.5.2 and v0.6
 
Introduction to Apache Hivemall v0.5.0
Introduction to Apache Hivemall v0.5.0Introduction to Apache Hivemall v0.5.0
Introduction to Apache Hivemall v0.5.0
 
Idea behind Apache Hivemall
Idea behind Apache HivemallIdea behind Apache Hivemall
Idea behind Apache Hivemall
 
Introduction to Apache Hivemall v0.5.0
Introduction to Apache Hivemall v0.5.0Introduction to Apache Hivemall v0.5.0
Introduction to Apache Hivemall v0.5.0
 
What's new in Hivemall v0.5.0
What's new in Hivemall v0.5.0What's new in Hivemall v0.5.0
What's new in Hivemall v0.5.0
 
What's new in Apache Hivemall v0.5.0
What's new in Apache Hivemall v0.5.0What's new in Apache Hivemall v0.5.0
What's new in Apache Hivemall v0.5.0
 
Revisiting b+-trees
Revisiting b+-treesRevisiting b+-trees
Revisiting b+-trees
 
Incubating Apache Hivemall
Incubating Apache HivemallIncubating Apache Hivemall
Incubating Apache Hivemall
 
Hivemall meets Digdag @Hackertackle 2018-02-17
Hivemall meets Digdag @Hackertackle 2018-02-17Hivemall meets Digdag @Hackertackle 2018-02-17
Hivemall meets Digdag @Hackertackle 2018-02-17
 
Apache Hivemall @ Apache BigData '17, Miami
Apache Hivemall @ Apache BigData '17, MiamiApache Hivemall @ Apache BigData '17, Miami
Apache Hivemall @ Apache BigData '17, Miami
 
機械学習のデータ並列処理@第7回BDI研究会
機械学習のデータ並列処理@第7回BDI研究会機械学習のデータ並列処理@第7回BDI研究会
機械学習のデータ並列処理@第7回BDI研究会
 
Podling Hivemall in the Apache Incubator
Podling Hivemall in the Apache IncubatorPodling Hivemall in the Apache Incubator
Podling Hivemall in the Apache Incubator
 
Dots20161029 myui
Dots20161029 myuiDots20161029 myui
Dots20161029 myui
 
Hadoopsummit16 myui
Hadoopsummit16 myuiHadoopsummit16 myui
Hadoopsummit16 myui
 
HadoopCon'16, Taipei @myui
HadoopCon'16, Taipei @myuiHadoopCon'16, Taipei @myui
HadoopCon'16, Taipei @myui
 
3rd Hivemall meetup
3rd Hivemall meetup3rd Hivemall meetup
3rd Hivemall meetup
 
Recommendation 101 using Hivemall
Recommendation 101 using HivemallRecommendation 101 using Hivemall
Recommendation 101 using Hivemall
 
Hivemall dbtechshowcase 20160713 #dbts2016
Hivemall dbtechshowcase 20160713 #dbts2016Hivemall dbtechshowcase 20160713 #dbts2016
Hivemall dbtechshowcase 20160713 #dbts2016
 
Introduction to Hivemall
Introduction to HivemallIntroduction to Hivemall
Introduction to Hivemall
 

Kürzlich hochgeladen

情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 

Kürzlich hochgeladen (12)

情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 

並列データベースシステムの概念と原理