2017/9/7 db tech showcase Tokyo 2017(JPOUG in 15 minutes)にて発表した内容です。
SQL大量発行に伴う処理遅延は、ミッションクリティカルシステムでありがちな性能問題のひとつです。
SQLをまとめて発行したり、処理の多重度を上げることができれば高速化可能です。ですが・・・
AP設計に起因する性能問題のため、開発工程の終盤においては対処が難しいことが多々あります。
そのような状況において、どのような改善手段があるのか、Oracleを例に解説します。
2017/9/7 db tech showcase Tokyo 2017(JPOUG in 15 minutes)にて発表した内容です。
SQL大量発行に伴う処理遅延は、ミッションクリティカルシステムでありがちな性能問題のひとつです。
SQLをまとめて発行したり、処理の多重度を上げることができれば高速化可能です。ですが・・・
AP設計に起因する性能問題のため、開発工程の終盤においては対処が難しいことが多々あります。
そのような状況において、どのような改善手段があるのか、Oracleを例に解説します。
Streaming is necessary to handle IoT data rates and latency but SQL is unquestionably the lingua franca of data. Apache Samza and Apache Storm have new high-level query interfaces based on standard SQL with streaming extensions, both powered by Apache Calcite. Calcite's relational algebra allows query optimization and federation with data-at-rest in databases, memory, or HDFS.
A talk given by Julian Hyde at Hadoop Summit, San Jose, on 2016/06/29.
Andrew Betts Web Developer, The Financial Times at Fastly Altitude 2016
Running custom code at the Edge using a standard language is one of the biggest advantages of working with Fastly’s CDN. Andrew gives you a tour of all the problems the Financial Times and Nikkei solve in VCL and how their solutions work.
37. 直列化可能性
37
T1 T2
READ x READ x
x = x - 1
x = x - 1
WRITE x
WRITE x
READ:読込み
WRITE:書込み
初期値:x = 5
x = 4
T1
READ x
x = x - 1
WRITE x
T2
READ x
x = x - 1
WRITE x
初期値:x = 5
T2
READ x
x = x - 1
WRITE x
T1
READ x
x = x - 1
WRITE x
or
x = 3 x = 3このスケジュールは,
直列化可能でない
38. 直列化可能な例
T1 T2
READ x
x = x - 1
WRITE x
READ x
READ y WRITE x
y = y - 1
WRITE y
READ y
y = y - 1
WRITE y
初期値:x = 5, y = 5 T1
READ x
x = x - 1
WRITE x
READ y
y = y - 1
WRITE y
or
T2
READ x
WRITE x
READ y
y = y - 1
WRITE y
T2
READ x
WRITE x
READ y
y = y - 1
WRITE y
T1
READ x
x = x - 1
WRITE x
READ y
y = y - 1
WRITE y
初期値:x = 5, y = 5
x = 4, y = 3 x = 4, y = 3x = 4, y = 3
このスケジュール
は直列化可能
47. 直列化可能性
T1 T2
LOCK x
READ x
x = x - 1
WRITE x
UNLOCK x
LOCK x
READ x
x = x - 1
WRITE x
UNLOCK x
READ:読込み
WRITE:書込み
初期値:x = 5
x = 3
T1
LOCK x
READ x
x = x - 1
WRITE x
UNLOCK x
T2
LOCK x
READ x
x = x - 1
WRITE x
UNLOCK x
初期値:x = 5
or
x = 3
LOCK:ロック
UNLOCK:アンロック
T2
LOCK x
READ x
x = x - 1
WRITE x
UNLOCK x
T1
LOCK x
READ x
x = x - 1
WRITE x
UNLOCK x
x = 3
このスケジュール
は直列化可能
50. 直列化可能性を保証するために
50
T1
LOCK X
LOCK Y
READ X
X = X - 10000
WRITE X
READ Y
Y = Y + 10000
WRITE Y
UNLOCK X
UNLOCK Y
成⻑相
縮退相
ロックをかける相
ロックを解除する相
2相ロッキング
銀⾏⼝座X
銀⾏⼝座Y
¥10,000振込み
ボブ