SlideShare a Scribd company logo
1 of 51
Download to read offline
WalB の紹介
星野  喬
サイボウズ・ラボ
2014-01-30
内容
• 
• 
• 
• 
• 
• 

WalB 開発の動機
アーキテクチャ
代替⼿手法との⽐比較
アルゴリズム
性能評価
まとめ

2
動機
•  バックアップとレプリケーションで顧客データを守る
•  ⾼高機能/⾼高コストなストレージは使えない
•  OpenSolaris の ZFS が仮採⽤用されたが
安定しなかったので Linux 採⽤用が決定
•  dm-snap は full-scan しないといけない&遅い
Primary DC

Secondary DC

Operating data

Replicated data
Backup data
3
要件
•  機能

–  ⼀一貫性のあるデータ差分をバックアップ/レプリケー
ションのために取得できる

•  性能

–  フルスキャンを⽤用いない(初期バックアップを除く)
–  オーバーヘッド⼩小

•  様々なデータをサポート
–  Databases
–  Blob data
–  Full-text-search indexes
–  ...

4
WalB 概要
•  Linux ブロックデバイスドライバ + 周辺ツール
•  ⼀一貫性のある差分データを記録/取得し,
バックアップ/レプリケーションに利利⽤用可能
•  “WalB” の意味は  “Block-level WAL”
Diffs
WalB
storage
Backup
storage

Replicated
storage
5
WAL (Write-Ahead Logging)

Ordinary Storage

Time

WAL Storage

Write at 0

0

Write at 2

0

2

Read at 2

0

2

Write at 2

0

2

2

6
How to get diffs
•  Full-scan and compare
a

b

c

d

e

a

Data at t0

b’

c

d

e’

Data at t1

1 b’ 4 e’
Diffs from t0 to t1

•  Partial-scan with bitmaps (or indexes)
a

b

c

d

e

00000

a

b’

c

d

e’

1 b’ 4 e’

01001

•  Scan logs directly from WAL storages
a

b

c

d

e

a

b’

c

d

e’

1 b’ 4 e’

1 b’ 4 e’

7
WalB  アーキテクチャ
Any application
(File system, DBMS, etc)

Walb dev
controller
Control

Read

A walb device
as a wrapper

A block device for data
(Data device)
Not special format

Write

Walb log
Extractor
Logs

A walb log
device

A block device for logs
(Log device)
An original format
8
Log device format
Address

Metadata

Superblock
(physical block size)

Ring buffer

Log address =
(log sequence id) % (ring buffer size)
+ (ring buffer start address)

Unused (4KiB)

9
Ring buffer inside
The oldest logpack

The latest logpack

Ring buffer

Log pack

Logpack
header
block

Log pack
header
block

Checksum
Logpack lsid
Num of records
Total IO size

1st
written data

2nd
written data

…

1st log record

2nd log record

IO address
IO size
...

IO address
IO size
...

...
10
Redo/undo ログ
•  Redo ログ

–  時間を進める

•  Undo  ログ
–  時間を逆に進める
Redo logs
Data at t0

0

2

Data at t1

Undo logs
0

2
11
WalB は redo log のみ記録
Generating redo logs

Generating undo logs

(1) write IOs
submitted

(1) write IOs
submitted

WalB
(2) write
redo logs

Data

Log

(2) read current
data

Data

(3) write
undo logs

Log

•  Undo log を作るためには追加の read が必要
•  Undo log を作ると性能低下は避けられない
12
フルバックアップ/レプリケーション
アーカイブホスト

運⽤用ホスト
データデバイス

ログデバイス

フルスキャンして
dirty イメージ取得
t0

(A)

(B)

フルイメージ

適⽤用

ログ

t0〜~t1 間の
ログ取得
(A)

(C)

t1

(B)

t1  時点での
clean イメージ完成
(C)

Time

t2

•  t0〜~t1 間のログを貯めておくのに⼗十分なリングバッファ
を⽤用意する必要がある

13
増分バックアップ/レプリケーション
アーカイブホスト

運⽤用ホスト

フルイメージ

データデバイス

ログデバイス

バックアップ済み
タイムスタンプ
t0

(A)

t0〜~t1の
ログ取得
t1

適⽤用

(B)

ログ

転送完了了

適⽤用
Time

(A)

t2

(B)

•  複数世代を保持したい場合は,
ログの適⽤用を遅らせるか,undo ログを⽣生成
14
バックアップ+レプリケーション
バックアップホスト

リモートホスト

フルイメージ

運⽤用ホスト

フルイメージ

適⽤用

適⽤用

データデバイス

ログデバイス

(A)

t1

(B)

ログ

バックアップ
完了了

t0〜~t1の
ログ取得
t0

(A’)

(A)

t2

(B)

(B’)

ログ

レプリケーション
完了了

Time

t3

レプリケーション遅延

•  カスケード接続が可能

15
代替⼿手段
•  DRBD
–  レプリケーションに特化
–  ⻑⾧長距離離間では有償の DRBD Proxy が必要

•  Dm-snap
–  COW を⽤用いたスナップショット作成が可能
–  差分取得にフルスキャンが必要

•  Dm-thinp
–  リファレンスカウンタを⽤用いた thin provisioning
–  フラグメンテーションが避けられない
16
代替⼿手段との⽐比較
Capability
Async
replication

Read
response
overhead

Write
response
overhead

Fragmentation

Negligible

Write log
instead data

Never

DRBD

Negligible

Send IOs to
slaves
(async repl.)

Never

dm-snap

Search idx

Modify idx
(+COW)

Never
(original lv)

dm-thinp

Search idx

Modify idx

Inevitable

Incr.
backup

WalB

Sync
replication

Performance

17
WalB の利利点と⽋欠点
•  利利点

–  レスポンスオーバーヘッドが⼩小さい
–  フラグメンテーションが起きない
–  シーケンシャルリードでログを取り出せる

•  ⽋欠点

–  Write に  2  倍強の帯域が必要

18
WalB source code statistics

Block device wrappers

File systems

19
ブロックデバイスとして満たすべき性質
•  読み書きの⼀一貫性

–  最後に書かれたデータを読む

•  ⼀一意な状態を保持

–  ログをリプレイしたときと同じ状態となる

•  Flush 済みデータの永続化

–  クラッシュしてもデータが失われない

•  クラッシュ後の⼀一貫性保持

–  Redo ログのみ使⽤用してログ適⽤用する

20
WalB アルゴリズム
• 
• 
• 
• 

IO  処理理フロー
重複 IO の直列列化
データの永続化
クラッシュリカバリと
チェックポインティング

21
IO processing flow (Naive)
Write
Submitted

Completed
WalB write IO response
Wait for log flushed and overlapped IOs done

Packed

Log IO response

Data IO response

Time
Log submitted

Log completed

Data submitted

Data completed

Read
Submitted

Completed
Data IO response

Time
Data submitted

Data completed

22
IO processing flow (WalB)
Write
Submitted

Completed
WalB write IO response

Packed

Wait for log flushed and overlapped IOs done

Log IO response

Log submitted

Data IO response

Log completed

Data submitted

Data completed

Pdata inserted

Time

Pdata deleted

Read
Submitted

Completed
Data IO response

Pdata copied

(Data submitted)

(Data completed)

Pdata: Pending Data

Time

23
Pending data

•  A red-black tree
–  カーネルが提供
–  重複 IO を発⾒見見しやすく
するためアドレス順に
ソート

...
Node0

Node1

addr
size
data

addr
size
data

...

NodeN
addr
size
data

•  A spinlock
–  複数コアからのアクセ
スを排他

24
Pdata pseudo code
Insert_to_pdata(pdata,	
  io):	
  
	
  	
  (delete	
  fully	
  overwritten	
  io(s)	
  by	
  the	
  io	
  from	
  the	
  pdata)	
  
	
  	
  insert	
  the	
  io	
  to	
  pdata.	
  
	
  	
  	
  
Delete_from_pdata(pdata,	
  io):	
  
	
  	
  (if	
  not	
  deleted	
  yet)	
  
	
  	
  delete	
  the	
  io	
  from	
  pdata.	
  
	
  
Copy_overlapped_area(pdata,	
  io):	
  
	
  	
  get	
  overlapped	
  io	
  list	
  from	
  pdata.	
  
	
  	
  sort	
  the	
  list	
  by	
  log	
  sequence	
  id.	
  
	
  	
  for	
  each	
  io	
  (as	
  iox)	
  in	
  the	
  sorted	
  list:	
  
	
  	
  	
  	
  copy	
  overlapped	
  area	
  of	
  iox	
  to	
  the	
  io.	
  
	
  
Each	
  function	
  must	
  be	
  executed	
  atomically	
  (with	
  spinlock).	
  

25
Overlapped IO serialization
Wait for overlapped IOs done
Data IO response
Data submitted
Oldata inserted

Got notice

Time

Data completed
Oldata deleted

Sent notice

•  ⼀一意な状態を実現するため重複 IO のみを直列列化
•  Oldata: overlapped data
–  pdata と構造は類似
–  IO につきカウンタひとつで重複 IO の存在を管理理可能
–  FIFO 制約
26
Overlapped IO serialization –cont.
Address

Queued

Submitted

A

C

B

Completed

D
Time

A
0

Oldata

A
B
C
D

AB
00

ABC
002

ABCD
0022

a=0

ABCD
0022

CD
01

D
0

c-c--,d--

b=0
c=2

d-d=2

Wait for completion of previously inserted overlapped IOs
Wait for completion of the IO
Wait for completion of previously inserted IOs

27
Oldata pseudo code
Insert_to_oldata(oldata,	
  io):	
  
	
  	
  io.ol_count	
  =	
  number	
  of	
  overlapped	
  io(s)	
  in	
  oldata	
  
	
  	
  insert	
  the	
  io	
  to	
  oldata.	
  
	
  	
  if	
  io.ol_count	
  ==	
  0:	
  submit	
  the	
  io.	
  
	
  	
  else:	
  the	
  io	
  should	
  wait	
  for	
  notification.	
  
	
  
Delete_from_oldata(oldata,	
  io):	
  
	
  	
  delete	
  the	
  io	
  from	
  oldata.	
  
	
  	
  for	
  each	
  io	
  (as	
  iox)	
  in	
  the	
  all	
  overlapped	
  io(s)	
  in	
  oldata:	
  
	
  	
  	
  	
  iox.io_count	
  -­‐=	
  1	
  
	
  	
  	
  	
  if	
  iox.io_count	
  ==	
  0:	
  
	
  	
  	
  	
  	
  	
  notify	
  to	
  iox	
  that	
  it	
  can	
  be	
  submitted.	
  
	
  
Each	
  function	
  must	
  be	
  executed	
  atomically	
  (with	
  spinlock).	
  
The	
  order	
  of	
  insertion/deletion	
  IOs	
  must	
  be	
  the	
  same	
  (FIFO).	
  

28
データの永続化: FLUSH
Write IO リクエスト列列

...

FLUSH

...

永続化対象

WalB における対応  Log IO リクエスト列列

...

FLUSH

...

永続化対象

•  Data デバイスへの対応 IO の永続化はチェックポイン
ティングで別途保証するため  FLUSH/FUA は外す
29
データの永続化: FUA
Write IO リクエスト列列

...

FUA

...

永続化対象

WalB における対応  Log IO リクエスト列列

...

FLUSH
FUA

...

永続化対象

•  ログの永続化条件は,それを含む以前のログが全て永続
化されること
30
チェックポインティングとクラッシュリカバリ
•  チェックポインティング

–  データデバイスに FLUSH リクエストを発⾏行行し,
対応するログ  ID をスーパーブロックに記録
–  定期的に実⾏行行 (〜~10秒)

•  クラッシュリカバリ

–  アセンブル時にチェックポイント以降降のログをデー
タデバイスに適⽤用して⼀一貫性を回復復
–  Undo ログはないため,データデバイスで write IO を
実⾏行行する前に対応するログを永続化する必要あり
31
評価実験環境
•  Host
–  CPU: Intel core i7 3930K (6c12t)
–  Memory: DDR3-10600 32GB (8GBx4)
–  OS: Ubuntu 12.04 x86_64
–  Kernel: Custom build 3.2.24

•  Storage HBA
–  Intel X79 Internal SATA controller
–  Using SATA2 interfaces for the experiment

32
ベンチマーク
•  ⾃自作ソフトウェア  ioreth

–  https://github.com/starpos/ioreth
–  libaio 使⽤用

•  パラメータ

–  Pattern: Random/sequential
–  Mode: Read/write
–  IO size: 512B, 4KB, 32KB, 256KB
–  # of threads/queue size: 1-32

33
対象ストレージデバイス
•  MEM
–  Memory block devices (self-implemented)

•  HDD
–  Seagate Barracuda 500GB (ST500DM002)
–  Up to 140MB/s

•  SSD
–  Intel 330 60GB (SSDSC2CT060A3)
–  Up to 250MB/s with SATA2

34
Storage settings
•  Baseline

Baseline

–  ⽣生のストレージデバイス

•  Wrap
–  単にリクエストを転送する
ラッパーデバイス
–  Request/bio インターフェース

•  WalB
–  Naive/walb algorithm
–  Request/bio インターフェース

Data
Wrap
Wrap driver
Data
WalB
WalB driver
Log

Data
35
WalB parameters
•  Log-flush-disabled experiments
–  Target storage: MEMs/HDDs/SSDs
–  Pdata size: 4-128MiB

•  Log-flush-enabled experiments
–  Target storage: HDDs/SSDs
–  Pdata size: 4-64MiB
–  Flush interval size: 4-32MiB
–  Flush interval period: 10ms, 100ms, 1s

36
MEM 512B random: response
Read (IO size: 512 bytes)

•  Request インターフェースは bio イン
ターフェースに⽐比べて遅い
•  並列列度度  1  のオーバーヘッドが 3〜~4us
•  Pdata 検索索が多くを占めると考えられ
る

Write (IO size: 512 bytes)

•  Write IO を内部的に直列列化する  
WalB は並列列度度が⾼高くなるとレスポ
ンスタイムがより増⼤大
37
MEM 512B random: IOPS
Read (IO size: 512 bytes)

•  Request インターフェースはオー
バーヘッド⼤大
•  WalB のオーバーヘッドは  Pdata 検
索索によるものと考えられる

Write (IO size: 512 bytes)

•  並列列度度増加で  WalB の IOPS が低下
するのは  spinlock 待ちが増えたた
め,もしくはキャッシュヒット率率率が
低下したためと考えられる
38
Pdata and oldata overhead

Overhead
of pdata

easy: Naive algo.
fast: WalB
Kernel 3.2.24, walb req prototype algo.

Overhead
of oldata

ol: overlapped IO serialization

39
HDD 4KiB random: IOPS
Read

•  オーバーヘッドは無視できる程度度

Write

•  walb の⽅方が IOPS ⼤大きい
•  スケジューリングの効果だと推察

40
HDD 256KiB sequential: Bps
Read

Write

Queue length

•  Request インターフェースの⽅方が
bio よりも良良い結果
•  bio インターフェースでは IO 分割
される (kernel 3.2 だと  32KiB)

Queue length

•  WalB はログヘッダブロックを追加
するオーバーヘッドがあるが,計算
上は 4KiB/256KiB = 1.5% なので他
要因がメイン
41
SSD 4KiB random: IOPS
Read

Write

Queue length

•  Wrap-req と  Naive と  WalB  がほぼ
同じ性能
•  overlapped IO serialization のオー
バーヘッドも無視できる程度度

Queue length

•  Naive よりも  WalB の⽅方が良良い
•  並列列度度が⼩小さい領領域で  WalB のオー
バーヘッドが⼤大
42
SSD 4KiB random: IOPS
(two partitions in a SSD)
Read

Write

Queue length

•  ほぼ SSDx2 と同じ

Queue length

•  スループットがほぼ半分
•  log + data が  1  つの SSD に書き込
まれるため
43
SSD 256KiB sequential: Bps
Read

Write

Queue length

•  並列列度度  1  の場合を除いてオーバー
ヘッドは無視できる程度度

Queue length

•  Naive よりも  WalB が良良い,特に並
列列度度⼩小の領領域
•  WalB のオーバーヘッドは  15% 以
下
44
Log-flush effects with HDDs
IOPS (4KB random write)

Queue length

•  pending data での⼀一時的なlog-flush
待ちを利利⽤用して  data device に対す
る  wirte IO をアドレス順に sort す
ると HDD においては効果アリ

Bps (32KB sequential write)

Queue length

•  特に sequential write  時に  log-flush
オーバーヘッドを⼩小さくするために
は pending data に⼗十分なメモリが
必要
45
Log-flush effects with SSDs
IOPS (4KB random write)

Queue length

•  Log-flush 間隔は⼩小さい⽅方が良良い

Bps (32KB sequential write)

Queue length

•  Log-flush の影響は無視出来る程度度

46
評価まとめ
•  WalB オーバーヘッド

–  並列列度度が⼩小さい場合は無視できない
–  Log-flush は HDD を⽤用いた sequential write 時に
無視できない

•  Request vs bio interface
–  IO サイズが⼤大きい場合を除いて bio の性能が⾼高い

47
WalB まとめ
•  Linux ブロックデバイスドライバ
–  増分バックアップ
–  ⾮非同期レプリケーション

•  オーバーヘッド⼩小

–  No persistent indexes
–  No undo-logs
–  No fragmentation

48
開発進捗と今後
•  Version 1.0
–  For Linux kernel 3.2+ and x86_64 architecture
–  Userland tools are minimal

•  Improve userland tools
–  Faster extraction/application of logs
–  Logical/physical compression
–  Backup/replication managers

•  Submit kernel patches
49
Future work
•  Add all-zero flag to the log record format
–  to avoid all-zero blocks storing to the log device

•  Add bitmap management
–  to avoid full-scans in ring buffer overflow

•  (Support snapshot access)
–  by implementing pluggable persistent address indexes

•  (Support thin provisioning)
–  if a clever defragmentation algorithm was available
50
Thank you for your attention!
•  GitHub repository:
–  https://github.com/starpos/walb/

•  Contact to me:
–  Email: hoshino AT labs.cybozu.co.jp
–  Twitter: @starpoz (hashtag: #walbdev)

51

More Related Content

What's hot

Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Takuya ASADA
 
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2Takashi Hoshino
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Daisuke Ikeda
 
PowerDNSのご紹介
PowerDNSのご紹介PowerDNSのご紹介
PowerDNSのご紹介Akira Matsuda
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Yoshinori Matsunobu
 
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所hdais
 
地理分散DBについて
地理分散DBについて地理分散DBについて
地理分散DBについてKumazaki Hiroki
 
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)Takashi Takizawa
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理Takuya ASADA
 
社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)Masahiro NAKAYAMA
 
Cloud os techday_0614
Cloud os techday_0614Cloud os techday_0614
Cloud os techday_0614Takano Masaru
 
キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処hdais
 
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3infinite_loop
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介Takashi Takizawa
 
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話hiroi10
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaShigeru Hanada
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編hdais
 
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)Takashi Takizawa
 

What's hot (20)

Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
 
Kernel ext4
Kernel ext4Kernel ext4
Kernel ext4
 
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)
 
PowerDNSのご紹介
PowerDNSのご紹介PowerDNSのご紹介
PowerDNSのご紹介
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
 
地理分散DBについて
地理分散DBについて地理分散DBについて
地理分散DBについて
 
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)
 
Cloud os techday_0614
Cloud os techday_0614Cloud os techday_0614
Cloud os techday_0614
 
キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処
 
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介
 
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
 
Openstack+Ceph設定ガイド
Openstack+Ceph設定ガイドOpenstack+Ceph設定ガイド
Openstack+Ceph設定ガイド
 
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
 

Similar to WalBの紹介

ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話Tokoroten Nakayama
 
仮想化環境の設計手法 〜プロのテクニック教えます〜
仮想化環境の設計手法 〜プロのテクニック教えます〜仮想化環境の設計手法 〜プロのテクニック教えます〜
仮想化環境の設計手法 〜プロのテクニック教えます〜VirtualTech Japan Inc.
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usageirix_jp
 
Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?Sunao Tomita
 
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main20apr2012 kernelvm7-main
20apr2012 kernelvm7-mainShotaro Uchida
 
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)l_b__
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 
OpenStack Object Storage; Overview
OpenStack Object Storage; OverviewOpenStack Object Storage; Overview
OpenStack Object Storage; Overviewirix_jp
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生MITSUNARI Shigeo
 
Mvp road show_0830_rev1
Mvp road show_0830_rev1Mvp road show_0830_rev1
Mvp road show_0830_rev1Takano Masaru
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentookubo39
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overviewirix_jp
 
分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~
分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~
分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~Masahito Zembutsu
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deploymentssmdkk
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツールtamtam180
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門Daiyu Hatakeyama
 

Similar to WalBの紹介 (20)

[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
 
ヤフーを支えるフラッシュストレージ
ヤフーを支えるフラッシュストレージヤフーを支えるフラッシュストレージ
ヤフーを支えるフラッシュストレージ
 
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
 
仮想化環境の設計手法 〜プロのテクニック教えます〜
仮想化環境の設計手法 〜プロのテクニック教えます〜仮想化環境の設計手法 〜プロのテクニック教えます〜
仮想化環境の設計手法 〜プロのテクニック教えます〜
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usage
 
Kernel vm-2014-05-25
Kernel vm-2014-05-25Kernel vm-2014-05-25
Kernel vm-2014-05-25
 
InfiniBand on Debian
InfiniBand on DebianInfiniBand on Debian
InfiniBand on Debian
 
Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?
 
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
 
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
OpenStack Object Storage; Overview
OpenStack Object Storage; OverviewOpenStack Object Storage; Overview
OpenStack Object Storage; Overview
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
 
Mvp road show_0830_rev1
Mvp road show_0830_rev1Mvp road show_0830_rev1
Mvp road show_0830_rev1
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentoo
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overview
 
分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~
分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~
分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deployments
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツール
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
 

More from Takashi Hoshino

Serializabilityとは何か
Serializabilityとは何かSerializabilityとは何か
Serializabilityとは何かTakashi Hoshino
 
Isolation Level について
Isolation Level についてIsolation Level について
Isolation Level についてTakashi Hoshino
 
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3Takashi Hoshino
 
トランザクションの並行処理制御
トランザクションの並行処理制御トランザクションの並行処理制御
トランザクションの並行処理制御Takashi Hoshino
 
Effective Modern C++ 勉強会#8 Item38
Effective Modern C++ 勉強会#8 Item38Effective Modern C++ 勉強会#8 Item38
Effective Modern C++ 勉強会#8 Item38Takashi Hoshino
 
Effective Modern C++ 勉強会#6 Item25
Effective Modern C++ 勉強会#6 Item25Effective Modern C++ 勉強会#6 Item25
Effective Modern C++ 勉強会#6 Item25Takashi Hoshino
 
Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4Takashi Hoshino
 
メモリより大きなデータの Sufix Array 構築方法の紹介
メモリより大きなデータの Sufix Array 構築方法の紹介メモリより大きなデータの Sufix Array 構築方法の紹介
メモリより大きなデータの Sufix Array 構築方法の紹介Takashi Hoshino
 
Intel TSX 触ってみた 追加実験 (TTAS)
Intel TSX 触ってみた 追加実験 (TTAS)Intel TSX 触ってみた 追加実験 (TTAS)
Intel TSX 触ってみた 追加実験 (TTAS)Takashi Hoshino
 
Intel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86optiIntel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86optiTakashi Hoshino
 
Suffix Array 構築方法の紹介
Suffix Array 構築方法の紹介Suffix Array 構築方法の紹介
Suffix Array 構築方法の紹介Takashi Hoshino
 
An Efficient Backup and Replication of Storage
An Efficient Backup and Replication of StorageAn Efficient Backup and Replication of Storage
An Efficient Backup and Replication of StorageTakashi Hoshino
 
ログ先行書き込みを用いたストレージ差分取得の一手法
ログ先行書き込みを用いたストレージ差分取得の一手法ログ先行書き込みを用いたストレージ差分取得の一手法
ログ先行書き込みを用いたストレージ差分取得の一手法Takashi Hoshino
 
Intel TSX について x86opti
Intel TSX について x86optiIntel TSX について x86opti
Intel TSX について x86optiTakashi Hoshino
 
WalB: Block-level WAL. Concept.
WalB: Block-level WAL. Concept.WalB: Block-level WAL. Concept.
WalB: Block-level WAL. Concept.Takashi Hoshino
 
VMware Backup in Cybozu Labs
VMware Backup in Cybozu LabsVMware Backup in Cybozu Labs
VMware Backup in Cybozu LabsTakashi Hoshino
 
Vmbkp: VMware vSphere Incremental Backup Tool
Vmbkp: VMware vSphere Incremental Backup ToolVmbkp: VMware vSphere Incremental Backup Tool
Vmbkp: VMware vSphere Incremental Backup ToolTakashi Hoshino
 

More from Takashi Hoshino (19)

Serializabilityとは何か
Serializabilityとは何かSerializabilityとは何か
Serializabilityとは何か
 
Isolation Level について
Isolation Level についてIsolation Level について
Isolation Level について
 
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
 
WalB Driver Internals
WalB Driver InternalsWalB Driver Internals
WalB Driver Internals
 
トランザクションの並行処理制御
トランザクションの並行処理制御トランザクションの並行処理制御
トランザクションの並行処理制御
 
Effective Modern C++ 勉強会#8 Item38
Effective Modern C++ 勉強会#8 Item38Effective Modern C++ 勉強会#8 Item38
Effective Modern C++ 勉強会#8 Item38
 
Effective Modern C++ 勉強会#6 Item25
Effective Modern C++ 勉強会#6 Item25Effective Modern C++ 勉強会#6 Item25
Effective Modern C++ 勉強会#6 Item25
 
Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4
 
メモリより大きなデータの Sufix Array 構築方法の紹介
メモリより大きなデータの Sufix Array 構築方法の紹介メモリより大きなデータの Sufix Array 構築方法の紹介
メモリより大きなデータの Sufix Array 構築方法の紹介
 
Intel TSX 触ってみた 追加実験 (TTAS)
Intel TSX 触ってみた 追加実験 (TTAS)Intel TSX 触ってみた 追加実験 (TTAS)
Intel TSX 触ってみた 追加実験 (TTAS)
 
Intel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86optiIntel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86opti
 
Suffix Array 構築方法の紹介
Suffix Array 構築方法の紹介Suffix Array 構築方法の紹介
Suffix Array 構築方法の紹介
 
An Efficient Backup and Replication of Storage
An Efficient Backup and Replication of StorageAn Efficient Backup and Replication of Storage
An Efficient Backup and Replication of Storage
 
ログ先行書き込みを用いたストレージ差分取得の一手法
ログ先行書き込みを用いたストレージ差分取得の一手法ログ先行書き込みを用いたストレージ差分取得の一手法
ログ先行書き込みを用いたストレージ差分取得の一手法
 
Intel TSX について x86opti
Intel TSX について x86optiIntel TSX について x86opti
Intel TSX について x86opti
 
WalB: Block-level WAL. Concept.
WalB: Block-level WAL. Concept.WalB: Block-level WAL. Concept.
WalB: Block-level WAL. Concept.
 
VMware Backup in Cybozu Labs
VMware Backup in Cybozu LabsVMware Backup in Cybozu Labs
VMware Backup in Cybozu Labs
 
Vmbkp: VMware vSphere Incremental Backup Tool
Vmbkp: VMware vSphere Incremental Backup ToolVmbkp: VMware vSphere Incremental Backup Tool
Vmbkp: VMware vSphere Incremental Backup Tool
 
Inside database
Inside databaseInside database
Inside database
 

Recently uploaded

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Recently uploaded (8)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

WalBの紹介