DBの寿命はアプリよりも長い!DBを救える英雄になろう RDBアンチパターン入門 #phpcon2016 #phpcon2016_2

RDBアンチパターン @soudai1025 曽根 壮大
2
前へ 1 ・・ 3 4 次へ
nasa9084@某某某某(0x1e) @nasa9084

まずはきちんと作る。必要かどうかバッチリ判断できないデータはとりあえず残しておく。速度チューニング等はその後。 #phpcon2016

2016-11-03 13:38:20
yoku0825 @yoku0825

シリアライズドじゃなくてシリアライザブル #phpcon2016

2016-11-03 13:39:22
Hiroyuki Hanai | double jump.tokyo VPoE @hanahiro_aze

トランザクション分離レベル。DBスペシャリスト受けたときにやったなぁ。 #phpcon2016 #phpcon2016_2

2016-11-03 13:39:24
Hiroyuki Hanai | double jump.tokyo VPoE @hanahiro_aze

MysqlはRepeatable read/ PostgreはRead Commetedがデフォルト。 ファントムリード・ダーティーリード知らない人は今すぐ勉強してください。あなたのコードにはバグがある可能性があります。 #phpcon2016 #phpcon2016_2

2016-11-03 13:40:51
Hiroyuki Hanai | double jump.tokyo VPoE @hanahiro_aze

複数ブラウザオープン×同時アクセス/大量アクセス/並列処理 はロック実装してない人やばいですよ。 #phpcon2016 #phpcon2016_2

2016-11-03 13:43:04
アオヤマ ミント @MintoAoyama

怖いよ〜〜〜 そんな話しないでよ〜〜〜 #phpcon2016 #phpcon2016_2

2016-11-03 13:43:33
Hiroyuki Hanai | double jump.tokyo VPoE @hanahiro_aze

有名なECサイトでも対応されてないことが多いので、気をつけて! #phpcon2016 #phpcon2016_2

2016-11-03 13:43:45
Hiroyuki Hanai | double jump.tokyo VPoE @hanahiro_aze

何回やっても再現しないというときは、並列で処理されてないか疑って見よう。 #phpcon2016 #phpcon2016_2

2016-11-03 13:45:45
Hiroyuki Hanai | double jump.tokyo VPoE @hanahiro_aze

日付の変わり目でバッチ処理している場合も気をつけよう。 23:59に注文->00:00キャンセルで注文された商品は届くけど、返金もされるみたいなこと。 #phpcon2016 #phpcon2016_2

2016-11-03 13:48:11
yoku0825 @yoku0825

ロックするやつと参照するやつを分けると、今度は結果整合性に整合性レベルが落ちるんですよね。。 #phpcon2016 #phpcon2016_2

2016-11-03 13:48:52
Hiroyuki Hanai | double jump.tokyo VPoE @hanahiro_aze

安易にロックを取りすぎて、開放待ちが頻繁に発生しないようにロックかけるテーブルを選ぶ必要がある。 #phpcon2016 #phpcon2016_2

2016-11-03 13:49:31
Hiroyuki Hanai | double jump.tokyo VPoE @hanahiro_aze

意外と知らない暗黙のロックを意識しよう。そのためにトランザクション分離レベルを勉強しよう。 #phpcon2016 #phpcon2016_2

2016-11-03 13:50:18
yoku0825 @yoku0825

取らないよ! InnoDBはSELECTロックフリー! @soudai1025 #phpcon2016 #phpcon2016_2

2016-11-03 13:50:31
yoku0825 @yoku0825

JOINとかサブクエリーの時だけ、シェアードロック #phpcon2016 #phpcon2016_2

2016-11-03 13:51:14
yoku0825 @yoku0825

autoincrementの場合、スーパーキーへのネクストキーロックじゃなくてautoinc_lockからの行ロックな気がするけど #phpcon2016 #phpcon2016_2

2016-11-03 13:52:08
Hiroyuki Hanai | double jump.tokyo VPoE @hanahiro_aze

CPU上がってるのにクライアント数には余裕があるときは、ロックを疑ってみよう(他にもいっぱい原因はあるけど。) #phpcon2016 #phpcon2016_2

2016-11-03 13:53:22
yoku0825 @yoku0825

MySQLのロック待ち、そんなにCPU食う? (ロック待ち自体のCPUtimeより、コンテキストスイッチでやられる気がする) #phpcon2016 #phpcon2016_2

2016-11-03 13:53:25
yoku0825 @yoku0825

InnoDBはJOINとかサブクエリーでないかぎりSELECTロックフリーなので、非正規化するとロックが軽減されるというバッドノウハウ #phpcon2016 #phpcon2016_2

2016-11-03 13:54:19
Hiroyuki Hanai | double jump.tokyo VPoE @hanahiro_aze

ロックはDBによって違うのでロックという仕組みをしっかり理解しよう。 #phpcon2016 #phpcon2016_2

2016-11-03 13:54:29
Hiroyuki Hanai | double jump.tokyo VPoE @hanahiro_aze

これからの時代並列・分散処理が必須。ちゃんと仕組みを理解してシンプルな設計をしていこう。 #phpcon2016 #phpcon2016_2

2016-11-03 13:55:42
Hiroyuki Hanai | double jump.tokyo VPoE @hanahiro_aze

RDBは積み木。最初に三角形や丸の積み木を置いたら詰む。 #phpcon2016 #phpcon2016_2

2016-11-03 13:56:18
前へ 1 ・・ 3 4 次へ