Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

理論から学ぶデータベース実践入門Night(mvccでちょっとハマった話)

4,988 views

Published on

理論から学ぶデータベース実践入門Night(mvccでちょっとハマった話)

Published in: Engineering
  • Follow the link, new dating source: ❶❶❶ http://bit.ly/39mQKz3 ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ♥♥♥ http://bit.ly/39mQKz3 ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ..............ACCESS that WEBSITE Over for All Ebooks ................ ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • (Unlimited)....ACCESS WEBSITE Over for All Ebooks ................ accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

理論から学ぶデータベース実践入門Night(mvccでちょっとハマった話)

  1. 1. 理論から学ぶデータベース 実践入門Night VOYAGE GROUP @hironomiu MVCCでちょっとハマった話
  2. 2. 自己紹介 • Twitter @hironomiu • VOYAGE GROUP システム本部 • 入社当時 DBA(MySQL,Oracle,PureData,etc) • 現在 技術者育成責任者 • 主に新卒、内定者の育成 • エンジニアインターンの開催
  3. 3. My Job • http://techlog.voyagegroup.com/entry/2015/09/08/114507
  4. 4. My Job
  5. 5. My Job
  6. 6. 本題!
  7. 7. MVCCのちょっと ハマった話 (とあるRDBMS)
  8. 8. ちなみにMVCC って単語は好きです なんかかっこいい !
  9. 9. 余談ですが現職での出 来事ではありません
  10. 10. MVCCとは • P341
  11. 11. MVCCとは • MultiVersion Concurrency Controlの略 • トランザクションの並列生を高めるために編み 出されたしくみがMVCC(MultiVersion Concurrency Control)です。(P341抜粋)
  12. 12. 何があったの? • MVCCの仕組みによってパ フォーマンス劣化
  13. 13. 状況 • 一つの商品に注文が集中するショ ッピングサイト • 成約のタイミングで在庫を減らす • select * from foo where item = “var” • update foo set count = cnt -1where item = “var”
  14. 14. 状況 商品確認 商品紹介、在庫数 注文 ショッピングサービス start tran select ~ select * from foo where item = “var” select ~ end tran 成約 start tran select ~ update foo set count = cnt -1 where item = “var” end tran
  15. 15. 状況 数千のアクセスが同じ商品に一斉に! 商品確認 商品紹介、在庫数 注文 ショッピングサービス start tran select ~ select cat from foo where item = “var” select ~ end tran start tran select ~ update foo set count = cnt -1 where item = “var” end tran 成約
  16. 16. 状況 少しずつ遅くなる 商品確認 商品紹介、在庫数 注文 ショッピングサービス start tran select ~ select * from foo where item = “var” select ~ end tran 成約 start tran select ~ update foo set count = cnt -1 where item = “var” end tran
  17. 17. なぜ遅くなるんだろう ?
  18. 18. なぜ遅くなるんだろう ? ロック? I/Oの限界? CPU? SQLがいけてない? INDEX? データモデルがいけてない?
  19. 19. 調べると MVCCの仕組みが ボトルネックぽい
  20. 20. MVCCとは • MVCCを使うと、あるトランザクションが更新 してしまったデータについて、別のほかのトラ ンザクションは過去の古いバージョンを参照で きます。(P342抜粋) • MVCCにおける古いバージョンの値は、ロール バックセグメントという領域に格納されます。 (P342抜粋)
  21. 21. 性能劣化が起きる状況 • 特定のページ(ブロック)に対して在庫の減算結果 の更新(UPDATE)が集中 • 上の大量の更新のタイミングで同じページ(ブロ ック)に対し大量の在庫数の問い合わせ (SELECT)
  22. 22. SQLの統計情報から • 「select * from foo where item = “var”」を1回実 行すると時間がたつにつれて応答を返すために 走査するページ(ブロック)数が線形に増加してい た
  23. 23. Why?
  24. 24. Why? 特定のページ(ブロック)しか読まないのに?
  25. 25. MVCCとは(再) • MVCCを使うと、あるトランザクションが更新 してしまったデータについて、別のほかのトラ ンザクションは過去の古いバージョンを参照で きます。(P342抜粋) • MVCCにおける古いバージョンの値は、ロール バックセグメントという領域に格納されます。 (P342抜粋)
  26. 26. 状況 商品確認 商品紹介、在庫数 ショッピングサービス select * from foo where item = “var” DATA RBS 古いバー ジョン1 古いバー ジョン1 古いバー ジョン1 古いバー ジョン1 古いバー ジョン1 古いバー ジョン
  27. 27. 対策 • いろんな方法で対策しました!
  28. 28. それだけではなく 現在はMVCCで過去のデ ータを参照する際にO(N) のようなページ(ブロック )走査は対策されています
  29. 29. エレガントなMVCCに!
  30. 30. まとめ(伝えたいこと) • MVCCでハマった話を例にしましたが、 広く多く様々な状況で使われているプロ ダクトは様々な状況に対応できるよう改 良が加えられて生き残っているものが多 いと思います。
  31. 31. まとめ(伝えたいこと) • 新しいDB(RDB、NoSQL)もすごく魅力的 でカタログスペックにワクワクすること も多々あるんですが、使い込まれ改善さ れ続けている安心感もDBの選択には必要 な視点だなと改めて思った出来事でした !
  32. 32. ご清聴ありがとうございました!

×