SlideShare una empresa de Scribd logo
1 de 61
Descargar para leer sin conexión
データベース
第12回
トランザクションと同時実⾏制御
1
2015年6⽉25⽇(⽊) 7・8時限
担当:奥 健太
トランザクションと
データベース構造編
回 ⽇付 テーマ
12 6/25 トランザクションと同時実⾏制御
13 7/2 トランザクションと障害回復
14 7/9 データベース構造とインデックス
2
トランザクションと
データベース構造編での学習⽬標
3
トランザクションを理解する
データベースの同時実⾏制御の仕組みを理
解する
データベースの障害回復⽅法を理解する
効率的なデータアクセスのためのデータ
ベース構造およびインデックスを理解する
同時実⾏制御
4
vs.
復習
同時実⾏制御
5
¥20,000引出 ¥50,000振込
READ READ
WRITE
Y=Y-¥20,000
Y=¥20,000
Y=¥0 Y=Y+¥50,000
Y=¥70,000
WRITE
更新の喪失
¥50,000でなければおかしい…
同時実⾏制御
6
¥20,000引出
¥50,000振込
READ
READ
WRITE
Y=Y-¥20,000
Y=¥20,000
Y=¥0
Y=Y+¥50,000
Y=¥50,000
WRITE
同時実⾏制御
回 ⽇付 テーマ
12 6/25 トランザクションと同時実⾏制御
13 7/2 トランザクションと障害回復
14 7/9 データベース構造とインデックス
7
 トランザクション,ロック,同時実⾏制御
について学ぶ
トランザクションとは
8
例;振替送⾦
9
(1) ⼝座Aの残⾼から10万円を引く
⼝座Aから⼝座Bへ10万円を振替送⾦
UPDATE 銀⾏⼝座 SET 残⾼ = 残⾼-10 WHERE ⼝座 = 'A';
(2) ⼝座Bの残⾼に10万円を⾜す
UPDATE 銀⾏⼝座 SET 残⾼ = 残⾼+10 WHERE ⼝座 = 'B';
⼝座 残⾼
A 20
B 5
銀⾏⼝座
⼝座 残⾼
A 10
B 5
銀⾏⼝座
(1) ⼝座 残⾼
A 10
B 15
銀⾏⼝座
(2)
1トランザクション
例;アイテムの購⼊
(1) 薬草の在庫数を3個減らす
ユーザ=アリスが1個10Gの薬草を3個購⼊
UPDATE 在庫 SET 残数 = 残数-3 WHERE アイテム名 = '薬草';
(2) ユーザの所有アイテム数を3個増やす
UPDATE 所有アイテム SET 所有数 = 所有数+3 WHERE ユーザ名
= 'アリス' AND アイテム名 = '薬草';
(3) ユーザの所持⾦を30G減らす
UPDATE 所持⾦ SET 所持⾦ = 所持⾦-30 WHERE ユーザ名 = '
アリス';
(4) ユーザの購⼊履歴を更新する
INSERT INTO 購⼊履歴 VALUES('薬草', '2014/3/30');
1トランザクション
トランザクション
11
利⽤者からみたときの処理の単位
トランザクションの
もつべき特性
同時実⾏制御の仕組み
本⽇の講義で学ぶこと
12
トランザクションのもつべき特性
13
ACID特性
A
C
I
D
成功か失敗か
14
例;振替送⾦
15
(1) ⼝座Aの残⾼から10万円を引く
⼝座Aから⼝座Bへ10万円を振替送⾦
UPDATE 銀⾏⼝座 SET 残⾼ = 残⾼-10 WHERE ⼝座 = 'A';
(2) ⼝座Bの残⾼に10万円を⾜す
UPDATE 銀⾏⼝座 SET 残⾼ = 残⾼+10 WHERE ⼝座 = 'B';
⼝座 残⾼
A 20
B 5
銀⾏⼝座
⼝座 残⾼
A 10
B 5
銀⾏⼝座
(1) ⼝座 残⾼
A 10
B 15
銀⾏⼝座
(2)
⼝座 残⾼
A 10
B 15
例;振替送⾦
16
データベースダウン!
(1) ⼝座Aの残⾼から10万円を引く
⼝座Aから⼝座Bへ10万円を振替送⾦
UPDATE 銀⾏⼝座 SET 残⾼ = 残⾼-10 WHERE ⼝座 = 'A';
(2) ⼝座Bの残⾼に10万円を⾜す
UPDATE 銀⾏⼝座 SET 残⾼ = 残⾼+10 WHERE ⼝座 = 'B';
⼝座 残⾼
A 20
B 5
銀⾏⼝座
⼝座 残⾼
A 10
B 5
銀⾏⼝座
(1)
銀⾏⼝座
(2)
10万円はどこへ消えた!?
17
⼝座 残⾼
A 20
B 5
銀⾏⼝座
⼝座 残⾼
A 10
B 5
銀⾏⼝座
(1)
Atomicity(原⼦性)を保証せよ
18
成功か失敗か
コミットかロールバックか
例;振替送⾦
19
(1) ⼝座Aの残⾼から10万円を引く
⼝座Aから⼝座Bへ10万円を振替送⾦
⼝座 残⾼
A 20
B 5
UPDATE 銀⾏⼝座 SET 残⾼ = 残⾼-10 WHERE ⼝座 = 'A';
銀⾏⼝座
(2) ⼝座Bの残⾼に10万円を⾜す
UPDATE 銀⾏⼝座 SET 残⾼ = 残⾼+10 WHERE ⼝座 = 'B';
⼝座 残⾼
A 10
B 5
銀⾏⼝座
(1) ⼝座 残⾼
A 10
B 15
銀⾏⼝座
(2)
コミット
例;振替送⾦
20
データベースダウン!
(1) ⼝座Aの残⾼から10万円を引く
⼝座Aから⼝座Bへ10万円を振替送⾦
UPDATE 銀⾏⼝座 SET 残⾼ = 残⾼-10 WHERE ⼝座 = 'A';
(2) ⼝座Bの残⾼に10万円を⾜す
UPDATE 銀⾏⼝座 SET 残⾼ = 残⾼+10 WHERE ⼝座 = 'B';
⼝座 残⾼
A 20
B 5
銀⾏⼝座
⼝座 残⾼
A 10
B 5
銀⾏⼝座
(1)
ロールバック
例;振替送⾦
21
データベースダウン!
(1) ⼝座Aの残⾼から10万円を引く
⼝座Aから⼝座Bへ10万円を振替送⾦
UPDATE 銀⾏⼝座 SET 残⾼ = 残⾼-10 WHERE ⼝座 = 'A';
⼝座 残⾼
A 20
B 5
銀⾏⼝座
⼝座 残⾼
A 10
B 5
銀⾏⼝座
(1)
ロールバック
(1)の処理はなかったことに
Atomicity(原⼦性)
22
 トランザクションでのデータ操作は,すべてが
実⾏されているか,いずれも実⾏されていない
かのどちらかであるという性質
原⼦:事物を構成する最⼩単位
トランザクション:処理を構成する最⼩単位
ALL or NOTHING
トランザクションのもつべき特性
23
ACID特性
Atomicity
C
I
D
制約に従え
24
例;商品番号の変更
25
商品番号 商品名
110 ノートPC
250 外付けHDD
330 USBメモリ
420 ディスプレイ
伝票番号 商品番号 売上数
123 330 10
124 250 5
125 420 2
126 110 1
商品表 売上表
商品番号を330→340に変更
商品番号 商品名
110 ノートPC
250 外付けHDD
340 USBメモリ
商品番号420を削除
整合性がとれなくなる
復習
Consistency(整合性)を保証せよ
26
データベース全体で整合性を維持
整合性維持機能
27
商品番号 商品名
110 ノートPC
250 外付けHDD
330 USBメモリ
420 ディスプレイ
伝票番号 商品番号 売上数
123 330 10
124 250 5
125 420 2
126 110 1
商品表 売上表
商品番号 商品名
110 ノートPC
250 外付けHDD
340 USBメモリ
420 ディスプレイ
整合性を維持
340
売上表も変更商品番号を330→340に変更
商品番号420を削除
復習
Consistency(整合性)
28
 トランザクションが終了した時点では,データ
ベースの内容には⽭盾がなく,整合性(⼀貫
性)のある状態になっているという性質
トランザクションのもつべき特性
29
ACID特性
Atomicity
Consistency
I
D
⼀つ⼀つの処理を
隔離せよ
30
データベースの同時実⾏制御
31
データベース
(DB)
例;ホテルの部屋の予約(1)
32
部屋 残室数
シングル 5
空室状況
①残室数を確認
SELECT
5
②残室数を確認
ボブ キャロル
時
間
経
過 残室数が⼀つしか減らない
更新の喪失
SELECT
5
部屋 残室数
シングル 4
③部屋を予約
UPDATE
-1 ④部屋を予約
UPDATE
-1
部屋 残室数
シングル 4
例;ホテルの部屋の予約(2)
33
部屋 残室数
シングル 1
空室状況
①残室数を確認
SELECT
1
③残室数を確認
ボブ キャロル
時
間
経
過
空室があるのに
「空室なし」と
表⽰される
SELECT
0
部屋 残室数
シングル 0
②部屋を予約
UPDATE
-1
部屋 残室数
シングル 1
ROLLBACK
④キャンセル
ダーティリード
例;商品の在庫数
34
商品番号 在庫数
110 50
在庫
①在庫数を確認
SELECT
50
④在庫数を確認
時
間
経
過
同じ問合せを
連続で⾏ったのに,
結果が異なる
SELECT
30
商品番号 在庫数
110 30
③商品を出荷
UPDATE
-20
ノンリピータブルリード
②在庫数を確認
SELECT
50
例;成績の集計
35
学⽣番号 成績
1001 80
1002 62
1003 74
成績
③平均の算出
時
間
経
過
前の問合せではなかった
(幻の)タプルが出現
1004 84
②学⽣の追加
INSERT
ファントムリード
①平均の算出
SELECT AVG
72
SELECT AVG
75
直列化可能性
36
部屋 残室数
シングル 5
空室状況
①残室数を確認
SELECT
5
②残室数を確認
ボブ キャロル
時
間
経
過
SELECT
5
部屋 残室数
シングル 4
③部屋を予約
UPDATE
-1 ④部屋を予約
UPDATE
-1
部屋 残室数
シングル 4
直列化可能性
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このスケジュールは,
直列化可能でない
直列化可能な例
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
このスケジュール
は直列化可能
Isolation(隔離性)を保証せよ
39
スケジュールを直列化可能にする
ロッキング
40
部屋 残室数
シングル 5
空室状況
(1) 残室数を確認
SELECT
5
(1) 残室数を確認
ボブ キャロル
時
間
経
過
SELECT
部屋 残室数
シングル 4
(2) 部屋を予約
UPDATE
-1
ロック
ロック時は
アクセス不可
1. データにアクセスする直前に
• ロックがかかっていなければロックする
• ロックがかかっていればアンロックされるまで待つ
2. データへのアクセスが終了した時点でアンロックする
ロッキング
(1) 残室数を確認
ボブ キャロル
時
間
経
過
SELECT
4
部屋 残室数
シングル 4
(2) 部屋を予約
UPDATE
-1
(2) 部屋を予約
UPDATE
-1
部屋 残室数
シングル 3
COMMIT
部屋 残室数
シングル 4
空室状況
ロック
ロッキングの問題点
42
 データを参照するだけでロックをかけると⾮効率
 並列性の低下
共有ロックと排他ロック
43
部屋 残室数
シングル 5
空室状況
(1) 残室数を確認
SELECT
5
(1) 残室数を確認
ボブ キャロル
時
間
経
過
SELECT
5
部屋 残室数
シングル 4
(2) 部屋を予約
UPDATE
-1
共有ロック
排他ロック
SELECT
5
OK
共有ロック
READ要求は許可するが,他の要求は許可
しないロック
– ユーザが読出し操作だけを⾏う場合にかける
44
共有ロック
書込み読出し
排他ロック
他のすべての処理要求を許可せず,⾃分だけ
で占有するロック
– ユーザが書込み操作を⾏おうとする場合にかける
45
排他ロック
書込み読出し
両⽴性⾏列
46
共有ロック 排他ロック
共有ロック
OK
排他ロック
トランザクション2が要求
トランザクション1
が要求
直列化可能性
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
このスケジュール
は直列化可能
Isolation(隔離性)
48
 トランザクション実⾏中の中間結果を他のトラ
ンザクションは⾒ることができないという性質
 同時に複数のトランザクションを実⾏した結果
と逐次実⾏した場合の結果は同じ
トランザクションのもつべき特性
49
ACID特性
Atomicity
Consistency
Isolation
D
直列化可能性を保証するために
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振込み
ボブ
銀⾏⼝座Yにアクセス
できるまで待機状態
ロックによる問題点
51
銀⾏⼝座Xにアクセス
できるまで待機状態
銀⾏⼝座X
銀⾏⼝座Y
¥10,000振込み
ボブによる排他ロック
¥5,000振込み
キャロルによる
排他ロック
ボブ キャロル
ロックによる問題点
52
T1 T2
LOCK X
LOCK Y
LOCK Y LOCK X
Yがアンロックされる
まで待機状態
Xがアンロックされる
まで待機状態
待機中…
デッドロック
複数のトランザクションが,他のトランザク
ションがロックしているデータが解除されるの
を待っていて,先に進めないでいる状態
デッドロックの検出
タイマーによる時間計測
待合せグラフによる検証
53
タイマーによる時間計測
54
 ロック待ち状態が⼀定時間以上続いた場合,
デッドロック状態と⾒なす
待合せグラフによる検証
55
T S
Sの終了を待っている
Tの終了を待っている
 トランザクションをノードとし,トランザクションTが
トランザクションSの終了を待っているときに,TからS
へのアークを設定することで作成されたグラフ
待合せグラフ
 待合せグラフ内にループが存在すれば,デッドロック
が発⽣していることがわかる
デッドロック発⽣時の対処法
 デッドロック状態にあるどちらかのロックを解
除(トランザクションを取り消す)
銀⾏⼝座X
銀⾏⼝座Y
¥10,000振込み
ボブによる排他ロック
ボブ キャロル
¥5,000振込み
キャロルによる
排他ロック
トランザクションのもつべき特性
57
ACID特性
Atomicity
Consistency
Isolation
D
トランザクションの
もつべき特性
同時実⾏制御の仕組み
まとめ
58
まとめ
59
ACID特性
Atomicity(原⼦性):成功か失敗か
Consistency(整合性):制約に従え
Isolation(隔離性):⼀つ⼀つの処理を隔離せよ
同時実⾏制御
ロッキング,共有ロック,排他ロック
直列化可能性
2相ロッキング,成⻑相,縮退相
デッドロック
本⽇学習したキーワード
〜トランザクションとデータベース構造編〜
60
2相ロッキング 縮退相 ハッシュ関数
ACID特性 順次編成ファイル ハッシュ結合
Atomicity(原⼦性) 障害回復 ハッシュの衝突
B+⽊インデックス 除算法 バランス⽊
B⽊インデックス ⼈的障害 ビフォアイメージ
Consistency(整合性) 成⻑相 ファイル
Durability(耐久性) ダーティリード ファントムリード
Isolation(隔離性) ダンプファイル フィールド
WALプロトコル チェックポイント マージ結合
アフタイメージ 中間ノード 待合せグラフ
⼊れ⼦結合 直接編成ファイル リーフノード
インデックス 直列化可能性 両⽴性⾏列
インデックスによる結合 データ部 ルートノード
インデックスファイル データベースダンプ レコード
基数変換法 データベースバックアップ ロールバック
共有ロック デッドロック ロールフォワード
更新の喪失 同時実⾏制御 ロギング
コミット トランザクション ログ(ジャーナル)
索引部 トランザクション障害 ログファイル
索引編成ファイル ノンリピータブルリード ロッキング
⾃乗・中央法 媒体障害 ロック
システム障害 排他ロック
シノニム ハッシュインデックス
これまでに学習したキーワード
〜トランザクションとデータベース構造編〜
61
2相ロッキング 縮退相 ハッシュ関数
ACID特性 順次編成ファイル ハッシュ結合
Atomicity(原⼦性) 障害回復 ハッシュの衝突
B+⽊インデックス 除算法 バランス⽊
B⽊インデックス ⼈的障害 ビフォアイメージ
Consistency(整合性) 成⻑相 ファイル
Durability(耐久性) ダーティリード ファントムリード
Isolation(隔離性) ダンプファイル フィールド
WALプロトコル チェックポイント マージ結合
アフタイメージ 中間ノード 待合せグラフ
⼊れ⼦結合 直接編成ファイル リーフノード
インデックス 直列化可能性 両⽴性⾏列
インデックスによる結合 データ部 ルートノード
インデックスファイル データベースダンプ レコード
基数変換法 データベースバックアップ ロールバック
共有ロック デッドロック ロールフォワード
更新の喪失 同時実⾏制御 ロギング
コミット トランザクション ログ(ジャーナル)
索引部 トランザクション障害 ログファイル
索引編成ファイル ノンリピータブルリード ロッキング
⾃乗・中央法 媒体障害 ロック
システム障害 排他ロック
シノニム ハッシュインデックス

Más contenido relacionado

La actualidad más candente

[D36] Michael Stonebrakerが生み出した列指向データベースは何が凄いのか? ~Verticaを例に列指向データベースのアーキテクチャ...
[D36] Michael Stonebrakerが生み出した列指向データベースは何が凄いのか? ~Verticaを例に列指向データベースのアーキテクチャ...[D36] Michael Stonebrakerが生み出した列指向データベースは何が凄いのか? ~Verticaを例に列指向データベースのアーキテクチャ...
[D36] Michael Stonebrakerが生み出した列指向データベースは何が凄いのか? ~Verticaを例に列指向データベースのアーキテクチャ...
Insight Technology, Inc.
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
 

La actualidad más candente (20)

ナレッジグラフ入門
ナレッジグラフ入門ナレッジグラフ入門
ナレッジグラフ入門
 
データベース01 - データベースとは
データベース01 - データベースとはデータベース01 - データベースとは
データベース01 - データベースとは
 
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
Power BI のいろいろな活用パターン
Power BI のいろいろな活用パターンPower BI のいろいろな活用パターン
Power BI のいろいろな活用パターン
 
基本情報技術者試験 勉強会
基本情報技術者試験 勉強会基本情報技術者試験 勉強会
基本情報技術者試験 勉強会
 
データベース13 - トランザクションと障害回復
データベース13 - トランザクションと障害回復データベース13 - トランザクションと障害回復
データベース13 - トランザクションと障害回復
 
[D36] Michael Stonebrakerが生み出した列指向データベースは何が凄いのか? ~Verticaを例に列指向データベースのアーキテクチャ...
[D36] Michael Stonebrakerが生み出した列指向データベースは何が凄いのか? ~Verticaを例に列指向データベースのアーキテクチャ...[D36] Michael Stonebrakerが生み出した列指向データベースは何が凄いのか? ~Verticaを例に列指向データベースのアーキテクチャ...
[D36] Michael Stonebrakerが生み出した列指向データベースは何が凄いのか? ~Verticaを例に列指向データベースのアーキテクチャ...
 
子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
 
BigQuery Query Optimization クエリ高速化編
BigQuery Query Optimization クエリ高速化編BigQuery Query Optimization クエリ高速化編
BigQuery Query Optimization クエリ高速化編
 
失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用
 
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探しリッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
 
ARC-009_RDB 技術者のための NoSQL ガイド
ARC-009_RDB 技術者のための NoSQL ガイドARC-009_RDB 技術者のための NoSQL ガイド
ARC-009_RDB 技術者のための NoSQL ガイド
 
データベース入門
データベース入門データベース入門
データベース入門
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
 
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
 

Destacado

Destacado (20)

データベース14 - データベース構造とインデックス
データベース14 - データベース構造とインデックスデータベース14 - データベース構造とインデックス
データベース14 - データベース構造とインデックス
 
情報推薦システム入門:講義スライド
情報推薦システム入門:講義スライド情報推薦システム入門:講義スライド
情報推薦システム入門:講義スライド
 
データベース02 - SQL概要
データベース02 - SQL概要データベース02 - SQL概要
データベース02 - SQL概要
 
Rust (Ginzarb 20161114)
Rust (Ginzarb 20161114)Rust (Ginzarb 20161114)
Rust (Ginzarb 20161114)
 
【非エンジニアが 「明日からDevRelやってよ」って 突然言われて1年半やってきたこと ~teratailのDevRel担当、ゼロからの奮闘記~ @a...
【非エンジニアが 「明日からDevRelやってよ」って 突然言われて1年半やってきたこと  ~teratailのDevRel担当、ゼロからの奮闘記~ @a...【非エンジニアが 「明日からDevRelやってよ」って 突然言われて1年半やってきたこと  ~teratailのDevRel担当、ゼロからの奮闘記~ @a...
【非エンジニアが 「明日からDevRelやってよ」って 突然言われて1年半やってきたこと ~teratailのDevRel担当、ゼロからの奮闘記~ @a...
 
Cache obliviousの話
Cache obliviousの話Cache obliviousの話
Cache obliviousの話
 
Solrを使ったレシピ検索のプロトタイピング
Solrを使ったレシピ検索のプロトタイピングSolrを使ったレシピ検索のプロトタイピング
Solrを使ったレシピ検索のプロトタイピング
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
Streaming SQL
Streaming SQLStreaming SQL
Streaming SQL
 
Prometheus meets Consul -- Consul Casual Talks
Prometheus meets Consul -- Consul Casual TalksPrometheus meets Consul -- Consul Casual Talks
Prometheus meets Consul -- Consul Casual Talks
 
Windows Server+Photon Server環境でも Fluentd+Elasticsearch+Kibanaを活用して 各種情報を可視化する...
Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する...Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する...
Windows Server+Photon Server環境でも Fluentd+Elasticsearch+Kibanaを活用して 各種情報を可視化する...
 
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポートJAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
 
Nmap 9つの真実
Nmap 9つの真実Nmap 9つの真実
Nmap 9つの真実
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
 
Solving anything in VCL
Solving anything in VCLSolving anything in VCL
Solving anything in VCL
 
Security days 2016「セキュリティ対策の転換点」
Security days 2016「セキュリティ対策の転換点」Security days 2016「セキュリティ対策の転換点」
Security days 2016「セキュリティ対策の転換点」
 
Introduction to Vim 8.0
Introduction to Vim 8.0Introduction to Vim 8.0
Introduction to Vim 8.0
 
IkaLog and Deep Learning (20161122 GDLCjp)
IkaLog and Deep Learning (20161122 GDLCjp)IkaLog and Deep Learning (20161122 GDLCjp)
IkaLog and Deep Learning (20161122 GDLCjp)
 
Androidテスティング実践 基礎編
Androidテスティング実践 基礎編Androidテスティング実践 基礎編
Androidテスティング実践 基礎編
 
高速な広告配信サーバの作り方のコツ
高速な広告配信サーバの作り方のコツ高速な広告配信サーバの作り方のコツ
高速な広告配信サーバの作り方のコツ
 

Más de Kenta Oku

Más de Kenta Oku (7)

データベース11 - データベースとプログラム
データベース11 - データベースとプログラムデータベース11 - データベースとプログラム
データベース11 - データベースとプログラム
 
データベース10 - 正規化
データベース10 - 正規化データベース10 - 正規化
データベース10 - 正規化
 
データベース08 - 関係データモデルと関係代数
データベース08 - 関係データモデルと関係代数データベース08 - 関係データモデルと関係代数
データベース08 - 関係データモデルと関係代数
 
データベース03 - SQL(CREATE, INSERT, DELETE, UPDATEなど)
データベース03 - SQL(CREATE, INSERT, DELETE, UPDATEなど)データベース03 - SQL(CREATE, INSERT, DELETE, UPDATEなど)
データベース03 - SQL(CREATE, INSERT, DELETE, UPDATEなど)
 
データベース06 - SQL(VIEW, ALTER, GRANTなど)
データベース06 - SQL(VIEW, ALTER, GRANTなど)データベース06 - SQL(VIEW, ALTER, GRANTなど)
データベース06 - SQL(VIEW, ALTER, GRANTなど)
 
データベース05 - SQL(SELECT:結合,副問合せ)
データベース05 - SQL(SELECT:結合,副問合せ)データベース05 - SQL(SELECT:結合,副問合せ)
データベース05 - SQL(SELECT:結合,副問合せ)
 
データベース04 - SQL(SELECT:基本)
データベース04 - SQL(SELECT:基本)データベース04 - SQL(SELECT:基本)
データベース04 - SQL(SELECT:基本)
 

Último

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Último (8)

ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 

データベース12 - トランザクションと同時実行制御