Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RDBアンチパターン

soudai sone
November 03, 2016

 RDBアンチパターン

PHPカンファレンス2016の資料です

http://phpcon.php.gr.jp/2016/

soudai sone

November 03, 2016
Tweet

More Decks by soudai sone

Other Decks in Technology

Transcript

  1. RDBΞϯνύλʔϯ
    1)1FSʹ஌ͬͯ΄͍͠
    ϦϨʔγϣφϧσʔλϕʔεͷ͜ͱ

    View Slide

  2. What is it?
    ࣭໰͸Twitterͷϋογϡλά
    #phpcon_rdb_qa
    Ͱ͓ئ͍͠·͢

    View Slide

  3. What is it?
    σʔλϕʔεͷण໋͸
    ΞϓϦέʔγϣϯΑΓ΋௕͍

    View Slide

  4. What is it?
    ͦΜͳ௕͍෇͖߹͍ʹͳΔσʔλϕʔε
    ͷେ੾ͳࣄΛ͓఻͑͠·͢

    View Slide

  5. What is it?
    ର৅ͷσʔλϕʔειϑτ΢ΣΞ

    View Slide

  6. What is it?
    PostgreSQL 9.6ͱMySQL 5.7(InnoDB)ʹݶΔ
    ଞͷRDBͷ࿩͸͠·ͤΜ

    View Slide

  7. What is it?
    RDBΞϯνύλʔϯ

    View Slide

  8. What is it?
    ਖ਼نԽͯ͠…
    ࣮ߦܭըΛݟͯ…
    SQLΛॻ͍ͯ…

    View Slide

  9. What is it?
    ྑ͔Εͱࢥͬͯ΍ͬͨͷʹམͪͯ͠·͏᠘

    View Slide

  10. What is it?
    Ξϯνύλʔϯ

    View Slide

  11. What is it?
    Ξϯνύλʔϯ

    ޙʑʹۤ͠ΈΛੜΉ

    View Slide

  12. What is it?
    ΞϯνύλʔϯΛ஌Δ

    View Slide

  13. What is it?
    ΞϯνύλʔϯΛ஌Δ

    ಉ͡աͪΛ܁Γฦ͞ͳ͍

    View Slide

  14. What is it?

    View Slide

  15. What is it?
    SQLΞϯνύλʔϯ͸ݫબ͞Εࣦͨഊू

    View Slide

  16. What is it?
    SQLΞϯνύλʔϯ͸ݫબ͞Εࣦͨഊू

    DBͷϊ΢ϋ΢͕٧·໊ͬͨஶ

    View Slide

  17. What is it?
    ࠓ೔͸RDBͷࣦഊྫΛ͝঺հ͠·͢

    View Slide

  18. ͋͐͡Μͩ
    ̍ɹࣗݾ঺հ
    ̎ɹڧ͗͢Δґଘ
    ̏ɹӅ͞Εͨঢ়ଶ
    ̐ɹϩοΫͷޭࡑ
    ̑ɹ·ͱΊ

    View Slide

  19. ͋͐͡Μͩ
    ̍ɹࣗݾ঺հ
    ̎ɹڧ͗͢Δґଘ
    ̏ɹӅ͞Εͨঢ়ଶ
    ̐ɹϩοΫͷޭࡑ
    ̑ɹ·ͱΊ

    View Slide

  20. ࣗݾ঺հ
    ໊લɿીࠜɹ૖େʢͦͶɹ͚ͨͱ΋ʣ
    ೥ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ
    ৬ۀɿWebΤϯδχΞ
    ॴଐɿ೔ຊPostgreSQLϢʔβձ
    ɹɹɹதࠃࢧ෦ ࢧ෦௕
    ɹɹٕज़తʹ͸LLܥݴޠͱ͔RDB͕޷͖Ͱ͢

    View Slide

  21. ࣗݾ঺հ
    ໊લɿીࠜɹ૖େʢͦͶɹ͚ͨͱ΋ʣ
    ೥ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ
    ৬ۀɿWebΤϯδχΞ
    ॴଐɿ೔ຊPostgreSQLϢʔβձ
    ɹɹɹதࠃࢧ෦ ࢧ෦௕
    ɹɹٕज़తʹ͸LLܥݴޠͱ͔RDB͕޷͖Ͱ͢

    View Slide

  22. தࠃ஍ํDBษڧձ
    https://dbstudychugoku.github.io/

    View Slide

  23. தࠃ஍ํDBษڧձ
    https://dbstudychugoku.github.io/
    աڈͷࢿྉ͕߇͑Ίʹݴͬͯ΋
    ࠷ߴͰ࠷ڧͳͷͰੋඇνΣοΫʂ

    View Slide

  24. ͋͐͡Μͩ
    ̍ɹࣗݾ঺հ
    ̎ɹڧ͗͢Δґଘ
    ̏ɹӅ͞Εͨঢ়ଶ
    ̐ɹϩοΫͷޭࡑ
    ̑ɹ·ͱΊ

    View Slide

  25. ڧ͗͢Δґଘ
    σʔλϕʔεͷந৅Խ

    View Slide

  26. ڧ͗͢Δґଘ
    w %BUB"DDFTT0CKFDUʢ%"0ʣ
    w 0CKFDU3FMBUJPOBM.BQQJOH 03.

    w %#.JHSBUJPO

    View Slide

  27. ڧ͗͢Δґଘ
    w %PDUSJOF
    w &MPRVFOU03.
    w *EJPSN
    w 1BSJT
    w ͳͲͳͲʜ

    View Slide

  28. ڧ͗͢Δґଘ
    ͜ΕΒͷख๏΍πʔϧ͸ͱͯ΋ศར

    View Slide

  29. ڧ͗͢Δґଘ
    ͜ΕΒͷख๏΍πʔϧ͸ͱͯ΋ศར
    ˣ
    ੍໿ɾ੤໿ͱҾ͖׵͑ʹ
    ߴ͍ੜ࢈ੑΛ༩͑ͯ͘ΕΔ

    View Slide

  30. ڧ͗͢Δґଘ
    ੍໿ͱ੤໿

    View Slide

  31. ڧ͗͢Δґଘ
    ੍໿
    ࣮૷্ͷϧʔϧΛڧ͍ΔࣄͰ
    ίʔυͷهड़ྔΛݮΒ͢

    View Slide

  32. ڧ͗͢Δґଘ
    ੍໿
    ࣮૷্ͷϧʔϧΛڧ͍ΔࣄͰ
    ίʔυͷهड़ྔΛݮΒ͢
    कΒͳ͍ͱίϯύΠϧΤϥʔ
    ࣮૷΍ઃܭʹ௚݁

    View Slide

  33. ڧ͗͢Δґଘ
    ੍໿
    ࣮૷্ͷϧʔϧΛڧ͍ΔࣄͰ
    ίʔυͷهड़ྔΛݮΒ͢
    कΒͳ͍ͱίϯύΠϧΤϥʔ
    ࣮૷΍ઃܭʹ௚݁
    ςʔϒϧͷJEΧϥϜඞਢ
    ࢦఆͰ͖Δܕ
    σʔλΞΫηεͷखஈͳͲ

    View Slide

  34. ڧ͗͢Δґଘ
    ੤໿
    ܾ·Γ͝ͱ ύλʔϯ
    ΛकΔࣄͰ
    ઃܭ΍࣮૷ͷҰ؏ੑͱ࠶ར༻͕Մೳ

    View Slide

  35. ڧ͗͢Δґଘ
    ੤໿
    ܾ·Γ͝ͱ ύλʔϯ
    ΛकΔࣄͰ
    ઃܭ΍࣮૷ͷҰ؏ੑͱ࠶ར༻͕Մೳ
    कΒͳͯ͘΋ίʔυ͸ಈ͘
    Ϟϥϧ΍஌ࣝͷෆ଍ͳͲͰແࢹ͞ΕΔ
    έʔε͕͋Δ

    View Slide

  36. ڧ͗͢Δґଘ
    ੤໿
    ܾ·Γ͝ͱ ύλʔϯ
    ΛकΔࣄͰ
    ઃܭ΍࣮૷ͷҰ؏ੑͱ࠶ར༻͕Մೳ
    σβΠϯύλʔϯ
    ઃܭࢥ૝
    ίʔυن໿ͳͲ
    कΒͳͯ͘΋ίʔυ͸ಈ͘
    Ϟϥϧ΍஌ࣝͷෆ଍ͳͲͰແࢹ͞ΕΔ
    έʔε͕͋Δ

    View Slide

  37. ڧ͗͢Δґଘ
    σʔλϕʔεͷந৅Խ͸
    ੍໿ͱ੤໿ͷੈք
    ϧʔϧ Ϛφʔ

    View Slide

  38. ڧ͗͢Δґଘ
    ੍໿ͱ੤໿ͱҾ͖׵͑ʹ
    ࣦ͍ͬͯΔࣄ

    View Slide

  39. ڧ͗͢Δґଘ
    w 3%#ͷػೳ
    w 42-ͷڧྗͳจ๏
    w 3%#ͷຊདྷͷ੹຿ͱઃܭ

    View Slide

  40. ڧ͗͢Δґଘ
    w 3%#ͷػೳ
    w 42-ͷڧྗͳจ๏
    w 3%#ͷຊདྷͷ੹຿ͱઃܭ

    View Slide

  41. ڧ͗͢Δґଘ
    w 3%#ͷػೳ
    w 42-ͷڧྗͳจ๏
    w 3%#ͷຊདྷͷ੹຿ͱઃܭ
    ܕͱ͔ϚςϏϡʔͱ͔τϦΨʔͱ͔DIFDL੍໿ͱ͔

    View Slide

  42. ڧ͗͢Δґଘ
    w 3%#ͷػೳ
    w 42-ͷڧྗͳจ๏
    w 3%#ͷຊདྷͷ੹຿ͱઃܭ

    View Slide

  43. ڧ͗͢Δґଘ
    w 3%#ͷػೳ
    w 42-ͷڧྗͳจ๏
    w 3%#ͷຊདྷͷ੹຿ͱઃܭ
    8JOEPXؔ਺ͱ͔8*5)۟ͱ͔

    View Slide

  44. ڧ͗͢Δґଘ
    w 3%#ͷػೳ
    w 42-ͷڧྗͳจ๏
    w 3%#ͷຊདྷͷ੹຿ͱઃܭ

    View Slide

  45. ڧ͗͢Δґଘ
    w 3%#ͷػೳ
    w 42-ͷڧྗͳจ๏
    w 3%#ͷຊདྷͷ੹຿ͱઃܭ

    View Slide

  46. ڧ͗͢Δґଘ
    3%#ͷ੹຿
    w σʔλΛอଘ͢Δ
    w σʔλΛऔΓग़͢
    w σʔλΛकΔ

    View Slide

  47. ڧ͗͢Δґଘ
    ͋ͳͨͷσʔλ
    ͪΌΜͱकΕͯ·͔͢ʁ

    View Slide

  48. ڧ͗͢Δґଘ
    %#ͷઃܭʹڧ੍͍໿͕ൃੜ͢Δ

    View Slide

  49. ڧ͗͢Δґଘ
    %#ͷઃܭʹڧ੍͍໿͕ൃੜ͢Δ
    ˣ
    03.Λҙࣝͨ͠εΩʔϚઃܭ
    3%#.4Λҙࣝͨ͠Ϋϥεઃܭ

    View Slide

  50. ڧ͗͢Δґଘ
    %#ͷઃܭʹڧ੍͍໿͕ൃੜ͢Δ
    ˣ
    03.Λҙࣝͨ͠εΩʔϚઃܭ
    3%#.4Λҙࣝͨ͠Ϋϥεઃܭ
    ྆ྠ͕ΩϨΠʹճ͍ͬͯΔͱ͖͸
    ߴ͍ੜ࢈ੑΛൃش͢Δ

    View Slide

  51. ڧ͗͢Δґଘ
    ੍໿ͱ੤໿่͕ΕΔͱ͖

    View Slide

  52. ڧ͗͢Δґଘ
    σʔλ͕੒௕ͨ࣌͠

    View Slide

  53. ڧ͗͢Δґଘ
    σʔλ͕੒௕ͨ࣌͠
    αʔϏε͕੒௕ͨ࣌͠

    View Slide

  54. ڧ͗͢Δґଘ
    σʔλ͕੒௕ͨ࣌͠
    ˣ
    ΞϓϦέʔγϣϯଆ͚ͩͰ
    Χόʔग़དྷͳ͘ͳͬͨ࣌
    αʔϏε͕੒௕ͨ࣌͠

    View Slide

  55. ڧ͗͢Δґଘ
    ੍໿ͱ੤໿่͕ΕΔ࣌ͷྫ
    w ΫΤϦ͕ࡹ͚ͳ͘ͳͬͨ
    w γϟʔσΟϯά͕ඞཁ
    w */%&9͕ඞཁ͕ͩར༻Ͱ͖ͳ͍
    w "-5&3จ͕ාͯ͘ྲྀͤͳ͍

    View Slide

  56. ڧ͗͢Δґଘ
    ੍໿ͱ੤໿่͕ΕΔ࣌ͷྫ
    w ΫΤϦ͕ࡹ͚ͳ͘ͳͬͨ
    w γϟʔσΟϯά͕ඞཁ
    w */%&9͕ඞཁ͕ͩར༻Ͱ͖ͳ͍
    w "-5&3จ͕ාͯ͘ྲྀͤͳ͍
    ύϑΥʔϚϯε໰୊ʹΑ੍ͬͯ໿ͱ੤໿่͕ΕΔ

    View Slide

  57. ڧ͗͢Δґଘ
    ݱঢ়Ͱ͸03.͸
    ΠϯϐʔμϯεɾϛεϚον
    Λղܾ͢ΔͨΊͷଘࡏ
    Ͱ͋ͬͯ3%#ͷ׬શͳந৅ԽͰ͸ͳ͍

    View Slide

  58. ڧ͗͢Δґଘ
    ॲํᝦ

    View Slide

  59. ڧ͗͢Δґଘ
    ॲํᝦ
    ੍໿ͱ੤໿ʹΑͬͯ
    ࣦ͍ͬͯΔଘࡏΛ๨Εͳ͍͜ͱ

    View Slide

  60. ͋͐͡Μͩ
    ̍ɹࣗݾ঺հ
    ̎ɹڧ͗͢Δґଘ
    ̏ɹӅ͞Εͨঢ়ଶ
    ̐ɹϩοΫͷޭࡑ
    ̑ɹ·ͱΊ

    View Slide

  61. Ӆ͞Εͨঢ়ଶ
    σʔλϕʔε͸
    σʔλอଘ͢ΔͨͩͷശͰ͸ແ͍

    View Slide

  62. Ӆ͞Εͨঢ়ଶ
    ϦϨʔγϣφϧϞσϧ

    View Slide

  63. Ӆ͞Εͨঢ়ଶ
    ϦϨʔγϣφϧϞσϧ
    ˣ
    ࣄ࣮ͷΈΛอଘ͢Δ

    View Slide

  64. Ӆ͞Εͨঢ়ଶ
    ࣄ࣮ͱঢ়ଶ

    View Slide

  65. Ӆ͞Εͨঢ়ଶ
    ঢ়ଶͷྫ
    wϢʔβͷঢ়ଶ TUBUVTΧϥϜʣ
    w՝ۚঢ়ଶʢ༩৴ɺ੥ٻࡁΈʣ
    wΧʔτ৘ใʢΧΰͷதɺߪೖࡁΈʣ

    View Slide

  66. Ӆ͞Εͨঢ়ଶ
    Ϩίʔυʹঢ়ଶΛ࣋ͨͤΔͱةݥ

    View Slide

  67. JE OBNF BHF EFMFUF@qBH
    TPOF
    TPVEBJ
    UBLFUPNP
    TPOF

    View Slide

  68. JE OBNF BHF EFMFUF@qBH
    TPOF
    TPVEBJ
    UBLFUPNP
    TPOF
    ࡟আͱݴ͏ঢ়ଶΛϑϥάͰදݱ

    View Slide

  69. Ӆ͞Εͨঢ়ଶ
    $user = $this->get_user($user_id);
    if ($user->get(‘delete_falg’) == 1)
    {
    // ࡟আࡁΈͷϢʔβͷॲཧ
    return
    }

    View Slide

  70. Ӆ͞Εͨঢ়ଶ
    $user = $this->get_user($user_id);
    if ($user->get(‘delete_falg’) == 1)
    {
    // ࡟আࡁΈͷϢʔβͷॲཧ
    return
    }
    σʔλͷதͷঢ়ଶ͸ΞϓϦέʔγϣϯ
    ͸औΓग़͢·ͰΘ͔Βͳ͍

    View Slide

  71. Ӆ͞Εͨঢ়ଶ
    w 6OJRVF੍໿͕ࢮΜͩΓ
    w */%&9͕ࢮΜͩΓ
    w ֎෦Ωʔ੍໿͕ࢮΜͩΓ

    View Slide

  72. Ӆ͞Εͨঢ়ଶ
    Ϩίʔυ͔Β
    ঢ়ଶ͕ݟ͑ͳ͍࣌͸
    ΋ͬͱةݥ

    View Slide

  73. ച্
    JE
    ച্ֹۚ ച্೔ ഑ૹঢ়ଶ
    ഑ૹࡁ
    ൃ஫த
    ộ ộ ộ
    ച্JE ঎඼JE ݸ਺ ߪೖऀ
    TPOF
    TPOF
    TPOF
    TPOF
    ঎඼JE ঎඼໊ Ձ֨
    42-࣮ફೖ໳
    Ϧʔμϒϧίʔυ
    ϓϩάϥϚͷͨΊͷ42-
    σʔλϕʔεɾϦϑΝΫλϦϯά
    ঎඼
    Χʔτ
    ച্

    View Slide

  74. ച্JE ঎඼JE ݸ਺ ߪೖऀ
    TPOF
    TPOF
    TPOF
    TPOF
    ঎඼JE ঎඼໊ Ձ֨
    42-࣮ફೖ໳
    Ϧʔμϒϧίʔυ
    ϓϩάϥϚͷͨΊͷ42-
    σʔλϕʔεɾϦϑΝΫλϦϯά
    ঎඼
    ച্
    ച্
    JE
    ച্ֹۚ ച্೔ ഑ૹঢ়ଶ
    ഑ૹࡁ
    ൃ஫த
    ộ ộ ộ
    Χʔτ

    View Slide

  75. ച্JE ঎඼JE ݸ਺ ߪೖऀ
    TPOF
    TPOF
    TPOF
    TPOF
    ঎඼JE ঎඼໊ Ձ֨
    42-࣮ફೖ໳
    Ϧʔμϒϧίʔυ
    ϓϩάϥϚͷͨΊͷ42-
    σʔλϕʔεɾϦϑΝΫλϦϯά
    ঎඼
    ച্
    ച্
    JE
    ച্ֹۚ ച্೔ ഑ૹঢ়ଶ
    ഑ૹࡁ
    ൃ஫த
    ộ ộ ộ
    ফඅ੫ͷঢ়ଶ͕ӅΕͯΔ
    ͱ͕೔෇ͰมΘΔ
    Χʔτ

    View Slide

  76. ച্JE ঎඼JE ݸ਺ ߪೖऀ
    TPOF
    TPOF
    TPOF
    TPOF
    ঎඼JE ঎඼໊ Ձ֨
    42-࣮ફೖ໳
    Ϧʔμϒϧίʔυ
    ϓϩάϥϚͷͨΊͷ42-
    σʔλϕʔεɾϦϑΝΫλϦϯά
    ঎඼
    ച্
    ച্
    JE
    ച্ֹۚ ച্೔ ഑ૹঢ়ଶ
    ഑ૹࡁ
    ൃ஫த
    ộ ộ ộ
    ͍ͭ഑ૹঢ়ଶ͕
    มΘ͔ͬͨΘ͔Βͳ͍
    Χʔτ

    View Slide

  77. ച্JE ঎඼JE ݸ਺ ߪೖऀ
    TPOF
    TPOF
    TPOF
    TPOF
    ঎඼JE ঎඼໊ Ձ֨
    42-࣮ફೖ໳
    Ϧʔμϒϧίʔυ
    ϓϩάϥϚͷͨΊͷ42-
    σʔλϕʔεɾϦϑΝΫλϦϯά
    ঎඼
    ച্
    ച্
    JE
    ച্ֹۚ ച্೔ ഑ૹঢ়ଶ
    ഑ૹࡁ
    ൃ஫த
    ộ ộ ộ
    Χʔτ

    View Slide

  78. ച্JE ঎඼JE ݸ਺ ߪೖऀ
    TPOF
    TPOF
    TPOF
    TPOF
    ঎඼JE ঎඼໊ Ձ֨
    42-࣮ફೖ໳
    Ϧʔμϒϧίʔυ
    ϓϩάϥϚͷͨΊͷ42-
    σʔλϕʔεɾϦϑΝΫλϦϯά
    ঎඼
    ച্
    ঎඼໊͕มΘͬͨΒʁ
    Ձ֨Λม͑ͨΒʁ
    ച্ͷࣄ࣮ͱෆ੔߹͕ੜ·ΕΔ
    ച্
    JE
    ച্ֹۚ ച্೔ ഑ૹঢ়ଶ
    ഑ૹࡁ
    ൃ஫த
    ộ ộ ộ
    Χʔτ

    View Slide

  79. Ӆ͞Εͨঢ়ଶ
    Ӆ͞Εͨঢ়ଶͷྫ
    w഑ૹঢ়ଶͷཤྺ
    wߪೖཤྺͷফඅ੫ͷ಺༁
    w࡟আ΍ߋ৽ͷཤྺ

    View Slide

  80. Ӆ͞Εͨঢ়ଶ
    ࣄ࣮ͷΈΛอଘ͢Δ

    View Slide

  81. Ӆ͞Εͨঢ়ଶ
    ࣄ࣮ͷΈΛอଘ͢Δ
    ˣ
    ࣄ࣮ͷཤྺΛอଘ͢Δ

    View Slide



  82. ച্ۚ
    ֹ
    ফඅ੫ ফඅ੫ֹ ച্೔


    ộ ộ ộ
    ফඅ੫
    ച্
    ച্JE ഑ૹঢ়ଶ ࡞੒೔࣌
    ൃ஫த
    ഑ૹத
    ೲ඼ࡁ
    ൃ஫த
    ফඅ੫ ༗ޮ೔ ࣦޮ೔

    OVMM
    ഑ૹঢ়گ

    View Slide



  83. ച্ۚ
    ֹ
    ফඅ੫ ফඅ੫ֹ ച্೔


    ộ ộ ộ
    ফඅ੫
    ച্
    ച্JE ഑ૹঢ়ଶ ࡞੒೔࣌
    ൃ஫த
    ഑ૹத
    ೲ඼ࡁ
    ൃ஫த
    ফඅ੫ ༗ޮ೔ ࣦޮ೔

    OVMM
    ഑ૹঢ়گ
    ഑ૹঢ়گͷཤྺΛ࣋ͭ
    ߋ৽Ͱ͸ແ͘௥ՃͰྺ࢙Λ࡞Δ

    View Slide



  84. ച্ۚ
    ֹ
    ফඅ੫ ফඅ੫ֹ ച্೔


    ộ ộ ộ
    ফඅ੫
    ച্
    ച্JE ഑ૹঢ়ଶ ࡞੒೔࣌
    ൃ஫த
    ഑ૹத
    ೲ඼ࡁ
    ൃ஫த
    ফඅ੫ ༗ޮ೔ ࣦޮ೔

    OVMM
    ഑ૹঢ়گ
    ಉ༷ʹফඅ੫ͷྺ࢙Λ࣋ͭ
    ฦ඼࣌ͷ෷͍໭͠ͷॲཧͷ࣌ͳͲ
    Ͱ࣋ͬͯͳ͍ͱࢮ͵

    View Slide



  85. ച্ۚ
    ֹ
    ফඅ੫ ফඅ੫ֹ ച্೔


    ộ ộ ộ
    ফඅ੫
    ച্
    ച্JE ഑ૹঢ়ଶ ࡞੒೔࣌
    ൃ஫த
    ഑ૹத
    ೲ඼ࡁ
    ൃ஫த
    ফඅ੫ ༗ޮ೔ ࣦޮ೔

    OVMM
    ഑ૹঢ়گ
    ಉ༷ʹফඅ੫ͷྺ࢙Λ࣋ͭ
    ฦ඼࣌ͷ෷͍໭͠ͷॲཧͷ࣌ͳͲ
    Ͱ࣋ͬͯͳ͍ͱࢮ͵
    1PTUHSF42-ͷൣғܕΛ࢖͏ͱ༗ޮൣғ
    ΛεϜʔζʹॲཧग़དྷΔ

    View Slide



  86. ച্ۚ
    ֹ
    ফඅ੫ ফඅ੫ֹ ച্೔


    ộ ộ ộ
    ফඅ੫
    ച্
    ച্JE ഑ૹঢ়ଶ ࡞੒೔࣌
    ൃ஫த
    ഑ૹத
    ೲ඼ࡁ
    ൃ஫த
    ফඅ੫ ༗ޮ೔ ࣦޮ೔

    OVMM
    ഑ૹঢ়گ
    ܭࢉͨ͠ΒಘΔࣄ͕ग़དྷΔ
    ඇਖ਼نԽͷҰͭ
    ύϑΥʔϚϯεͱ૬ஊ

    View Slide



  87. ച্ۚ
    ֹ
    ফඅ੫ ফඅ੫ֹ ച্೔


    ộ ộ ộ
    ফඅ੫
    ച্
    ച্JE ഑ૹঢ়ଶ ࡞੒೔࣌
    ൃ஫த
    ഑ૹத
    ೲ඼ࡁ
    ൃ஫த
    ফඅ੫ ༗ޮ೔ ࣦޮ೔

    OVMM
    ഑ૹঢ়گ
    ܭࢉͨ͠ΒಘΔࣄ͕ग़དྷΔ
    ඇਖ਼نԽͷҰͭ
    ύϑΥʔϚϯεͱ૬ஊ
    .Z42-ͷԾ૝ྻΛར༻͢Δͱ
    ΑΓΩϨΠʹ࣮૷ग़དྷΔ

    View Slide

  88. Ӆ͞Εͨঢ়ଶ
    σʔλϕʔε্ʹແ͍σʔλ͸
    ΞϓϦଆͰ࡞Γग़ͤͳ͍

    View Slide

  89. Ӆ͞Εͨঢ়ଶ
    Ӆ͞Εͨঢ়ଶ͕͋Δͱ
    ྫ֎ରԠͷ࣌ʹࢮ͵

    View Slide

  90. Ӆ͞Εͨঢ়ଶ
    ॲํᝦ

    View Slide

  91. Ӆ͞Εͨঢ়ଶ
    ॲํᝦ
    దਖ਼ͳܗͰσʔλΛอଘ͢Δ

    View Slide

  92. Ӆ͞Εͨঢ়ଶ
    ॲํᝦ
    దਖ਼ͳܗͰσʔλΛอଘ͢Δ
    ˣ
    ͪΌΜͱϦεΫϔοδΛ͢Δ

    View Slide

  93. ͋͐͡Μͩ
    ̍ɹࣗݾ঺հ
    ̎ɹڧ͗͢Δґଘ
    ̏ɹӅ͞Εͨঢ়ଶ
    ̐ɹϩοΫͷޭࡑ
    ̑ɹ·ͱΊ

    View Slide

  94. ϩοΫͷޭࡑ
    τϥϯβΫγϣϯͱσʔλ੔߹ੑ

    View Slide

  95. ϩοΫͷޭࡑ
    τϥϯβΫγϣϯ෼཭Ϩϕϧ

    View Slide

  96. ϩοΫͷޭࡑ
    τϥϯβΫγϣϯ෼཭Ϩϕϧ
    ໊લ ෼཭Ϩϕϧ આ໌
    4&3*"-*;"#-& ͍ͭ͞Α ௚ྻతʹॲཧ
    3&1&"5"#-&3&"% ڧ͍
    ಡΈऔΓର৅ͷσʔλ
    ΛৗʹಡΈऔΔ
    3&"%$0..*55&% ·͊·ڧ͍
    ֬ఆͨ͠࠷৽σʔλΛ
    ৗʹಡΈऔΔ
    3&"%
    6/$0..*55&%
    ऑ͍
    ଞͷॲཧʹΑͬͯߦΘ
    Ε͍ͯΔɺॻ͖͔͚ͷ
    σʔλ·ͰಡΈऔΔɻ

    View Slide

  97. ϩοΫͷޭࡑ
    τϥϯβΫγϣϯ෼཭Ϩϕϧ
    ໊લ ෼཭Ϩϕϧ આ໌
    4&3*"-*;"#-& ͍ͭ͞Α ௚ྻతʹॲཧ
    3&1&"5"#-&3&"% ڧ͍
    ಡΈऔΓର৅ͷσʔλ
    ΛৗʹಡΈऔΔ
    3&"%$0..*55&% ·͊·ڧ͍
    ֬ఆͨ͠࠷৽σʔλΛ
    ৗʹಡΈऔΔ
    3&"%
    6/$0..*55&%
    ऑ͍
    ଞͷॲཧʹΑͬͯߦΘ
    Ε͍ͯΔɺॻ͖͔͚ͷ
    σʔλ·ͰಡΈऔΔɻ
    .Z42-ͷσϑΥϧτ͸͜͜

    View Slide

  98. ϩοΫͷޭࡑ
    τϥϯβΫγϣϯ෼཭Ϩϕϧ
    ໊લ ෼཭Ϩϕϧ આ໌
    4&3*"-*;"#-& ͍ͭ͞Α ௚ྻతʹॲཧ
    3&1&"5"#-&3&"% ڧ͍
    ಡΈऔΓର৅ͷσʔλ
    ΛৗʹಡΈऔΔ
    3&"%$0..*55&% ·͊·ڧ͍
    ֬ఆͨ͠࠷৽σʔλΛ
    ৗʹಡΈऔΔ
    3&"%
    6/$0..*55&%
    ऑ͍
    ଞͷॲཧʹΑͬͯߦΘ
    Ε͍ͯΔɺॻ͖͔͚ͷ
    σʔλ·ͰಡΈऔΔɻ
    1PTUHSF42- 0SBDMF%# 42-4FSWFS
    ͷσϑΥϧτ͸͜͜

    View Slide

  99. ϩοΫͷޭࡑ
    τϥϯβΫγϣϯ෼཭Ϩϕϧ
    ໊લ ෼཭Ϩϕϧ આ໌
    4&3*"-*;"#-& ͍ͭ͞Α ௚ྻతʹॲཧ
    3&1&"5"#-&3&"% ڧ͍
    ಡΈऔΓର৅ͷσʔλ
    ΛৗʹಡΈऔΔ
    3&"%$0..*55&% ·͊·ڧ͍
    ֬ఆͨ͠࠷৽σʔλΛ
    ৗʹಡΈऔΔ
    3&"%
    6/$0..*55&%
    ऑ͍
    ଞͷॲཧʹΑͬͯߦΘ
    Ε͍ͯΔɺॻ͖͔͚ͷ
    σʔλ·ͰಡΈऔΔɻ
    1PTUHSF42- 0SBDMF%# 42-4FSWFS
    ͷσϑΥϧτ͸͜͜
    ϑΝϯτϜϦʔυ΍μʔςΟϦʔυͳͲͷ࿩͸ࠓ೔͸͠·ͤΜ
    ʮ͑ʁͳʹͦΕʯͬͯਓ͸ࠓ͙͢άάοͯษڧͨ͠ํ͕͍͍Ͱ͢

    View Slide

  100. ϩοΫͷޭࡑ
    ͳͥτϥϯβΫγϣϯ͕ඞཁ͔

    View Slide

  101. ϩοΫͷޭࡑ
    Ϣʔβ" Ϣʔβ#
    ঎඼"
    ಉ࣌ʹߪೖ

    View Slide

  102. ϩοΫͷޭࡑ
    Ϣʔβ" Ϣʔβ#
    ঎඼"
    ಉ࣌ʹߪೖ
    ࡏݿ͕࠷ޙͷݸͩͬͨͱ͖ɺ
    ͲͪΒΛ༏ઌ͢Δ͔ʁ

    View Slide

  103. ϩοΫͷޭࡑ
    Ϣʔβ" Ϣʔβ#
    ঎඼"
    ઌʹΞΫηεͨ͠ͷͰ
    ঎඼ʹରͯ͠ϩοΫΛऔಘ
    ࡏݿ͕ແ͍ͷͰ
    ΤϥʔʹͳΔ

    View Slide

  104. ϩοΫͷޭࡑ
    ฒྻॲཧͷσʔλͷෆ੔߹Λ๷͙

    View Slide

  105. ϩοΫͷޭࡑ
    ͋ͳͨͷॲཧ͸େৎ෉ʁ
    w ෳ਺ͷϒϥ΢βΛ։͍ͯಉ࣌ΞΫηε
    w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌
    w ฒྻॲཧΛॻ͍ͨ࣌

    View Slide

  106. ϩοΫͷޭࡑ
    ͋ͳͨͷॲཧ͸େৎ෉ʁ
    w ෳ਺ͷϒϥ΢βΛ։͍ͯಉ࣌ΞΫηε
    w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌
    w ฒྻॲཧΛॻ͍ͨ࣌

    View Slide

  107. ϩοΫͷޭࡑ
    ͋ͳͨͷॲཧ͸େৎ෉ʁ
    w ෳ਺ͷϒϥ΢βΛ։͍ͯಉ࣌ΞΫηε
    w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌
    w ฒྻॲཧΛॻ͍ͨ࣌
    ྫ͑͹σΠϦʔͷདྷళϙΠϯτͷॲཧͱ͔
    ঎඼ߪೖ࣌ͷϙΠϯτݮࢉͷॲཧͱ͔

    View Slide

  108. ϩοΫͷޭࡑ
    ͋ͳͨͷॲཧ͸େৎ෉ʁ
    w ෳ਺ͷϒϥ΢βΛ։͍ͯಉ࣌ΞΫηε
    w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌
    w ฒྻॲཧΛॻ͍ͨ࣌

    View Slide

  109. ϩοΫͷޭࡑ
    ͋ͳͨͷॲཧ͸େৎ෉ʁ
    w ෳ਺ͷϒϥ΢βΛ։͍ͯಉ࣌ΞΫηε
    w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌
    w ฒྻॲཧΛॻ͍ͨ࣌
    ˓˓ݶఆ঎඼ͷࡏݿॲཧͱ͔
    Ұਓ͋ͨΓͷߪೖݶք਺ͷॲཧͱ͔

    View Slide

  110. ϩοΫͷޭࡑ
    ͋ͳͨͷॲཧ͸େৎ෉ʁ
    w ෳ਺ͷϒϥ΢βΛ։͍ͯಉ࣌ΞΫηε
    w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌
    w ฒྻॲཧΛॻ͍ͨ࣌

    View Slide

  111. ϩοΫͷޭࡑ
    ͋ͳͨͷॲཧ͸େৎ෉ʁ
    w ෳ਺ͷϒϥ΢βΛ։͍ͯಉ࣌ΞΫηε
    w όζͬͨ࣌ͳͲͷେྔͷಉ࣌ΞΫηε࣌
    w ฒྻॲཧΛॻ͍ͨ࣌
    Ұͭͷσʔλʹରͯ͠ෳ਺ͷαʔϏε͕ΞΫηε͢Δ࣌ͱ͔
    ߴ଎ԽͷͨΊʹඇಉظॲཧ΍ϚϧνεϨουॲཧΛ࡞ͬͨ࣌ͱ͔

    View Slide

  112. ϩοΫͷޭࡑ
    ϩοΫͷ੹຿
    ࣄ࣮ʹج͍ͯ࣌ܥྻʹॲཧͯ͠
    σʔλΛద੾ʹकΔ

    View Slide

  113. ϩοΫͷޭࡑ
    ͜͜·Ͱ͸ϩοΫͷޭࡑͷޭͷ෦෼

    View Slide

  114. ϩοΫͷޭࡑ
    ϩοΫͷࡑ

    View Slide

  115. ϩοΫͷޭࡑ
    ϩοΫʹΑΔੑೳ஗Ԇ

    View Slide

  116. ϩοΫͷޭࡑ
    ϩοΫʹΑΔੑೳ஗Ԇ
    ˣ
    ϩοΫ଴ͪʹΑΔॲཧ஗Ԇ

    View Slide

  117. ϩοΫͷޭࡑ
    Ϣʔβ" Ϣʔβ#
    ঎඼"
    ઌʹΞΫηεͨ͠ͷͰ
    ঎඼ʹରͯ͠ϩοΫΛऔಘ
    ։์଴ͪ
    ͜ͷαΠτ஗͍ͳ͊

    View Slide

  118. ϩοΫͷޭࡑ
    Ϣʔβ" Ϣʔβ#
    ঎඼"
    ઌʹΞΫηεͨ͠ͷͰ
    ঎඼ʹରͯ͠ϩοΫΛऔಘ
    ։์଴ͪ
    ͜ͷαΠτ஗͍ͳ͊
    ྆ํͷϢʔβ͕ͦΕͧΕͷϩοΫͰ
    ଴ͨ͞Εͨ৔߹͸σοτϩοΫ

    View Slide

  119. ϩοΫͷޭࡑ
    Ϣʔβ" Ϣʔβ#
    ঎඼"
    ઌʹΞΫηεͨ͠ͷͰ
    ঎඼ʹରͯ͠ϩοΫΛऔಘ
    ։์଴ͪ
    ͜ͷαΠτ஗͍ͳ͊
    ྆ํͷϢʔβ͕ͦΕͧΕͷϩοΫͰ
    ଴ͨ͞Εͨ৔߹͸σοτϩοΫ

    View Slide

  120. ϩοΫͷޭࡑ
    ओͳϩοΫͷछྨ
    w ഉଞ F9DMVEFE
    ϩοΫ
    w ڞ༗ 4IBSFE
    ϩοΫ

    View Slide

  121. ϩοΫͷޭࡑ
    ओͳϩοΫͷछྨ
    w ഉଞ F9DMVEFE
    ϩοΫ
    w ڞ༗ 4IBSFE
    ϩοΫ
    ϩοΫର৅ʹରͯ͠ɺଞͷΞΫηεΛҰ੾ېࢭ͢Δ
    ଞͷΞΫηε͸ߋ৽ɾ࡟আɾࢀরશͯग़དྷͳ͍
    ॻ͖ࠐΈϩοΫͱݺ͹ΕΔࣄ΋͋Δ

    View Slide

  122. ϩοΫͷޭࡑ
    ओͳϩοΫͷछྨ
    w ഉଞ F9DMVEFE
    ϩοΫ
    w ڞ༗ 4IBSFE
    ϩοΫ
    ϩοΫର৅ʹରͯ͠ɺࢀরҎ֎ͷॲཧΛېࢭ͢Δ
    ଞͷΞΫηε͸ࢀর 4&-&$5
    Λ͢Δ͜ͱ͕ग़དྷΔ
    ಡΈࠐΈϩοΫͱݺ͹ΕΔࣄ΋͋Δ

    View Slide

  123. ϩοΫͷޭࡑ
    ϩοΫΛ஌Βͳ͍ॴͰऔ͍ͬͯΔ

    View Slide

  124. ϩοΫͷޭࡑ
    ϩοΫΛ஌Βͳ͍ॴͰऔ͍ͬͯΔ
    ˣ
    ҉໧తϩοΫ

    View Slide

  125. ϩοΫͷޭࡑ
    .Z42-ͷ৔߹

    View Slide

  126. ϩοΫͷޭࡑ
    1PTUHSF42-ͷ৔߹

    View Slide

  127. ϩοΫͷޭࡑ
    ϩοΫΛ஌Βͳ͍ॴͰऔ͍ͬͯΔ
    ˣ
    ҉໧తϩοΫ
    ಛʹڞ༗ϩοΫ͸සൟʹऔ͍ͬͯΔ

    View Slide

  128. ϩοΫͷޭࡑ
    ϩοΫ͸σʔλΛकΔͨΊʹඞཁ

    View Slide

  129. ϩοΫͷޭࡑ
    ϩοΫ͸σʔλΛकΔͨΊʹඞཁ
    ˣ
    ύϑΥʔϚϯεͱτϨʔυΦϑ

    View Slide

  130. ϩοΫͷޭࡑ
    w ϩοΫ଴ͪͰॲཧ͕٧·Δ
    w ஗͍4&-&$5ʹΑͬͯߋ৽ॲཧ͕٧·Δ
    w ߋ৽ର৅͕ίϯϑϦΫτͯ͠଴ͨ͞ΕΔ
    w σοτϩοΫɺτϥϯβΫγϣϯ͸ࢮ͵

    View Slide

  131. ϩοΫͷޭࡑ
    αʔϏεͷϝΠϯςʔϒϧ͸ةݥ
    w ଟ͘ͷࢀরͰར༻͍ͯ͠Δ
    w ߋ৽΋සൟʹ͋Δ
    w +0*/΍αϒΫΤϦͷର৅ʹͳ͍ͬͯΔ

    View Slide

  132. ϩοΫͷޭࡑ
    ͦ΋ͦ΋ϩοΫͷॲཧ͸
    3%#ʹΑ͔ͬͯͳΓҧ͏

    View Slide

  133. ϩοΫͷޭࡑ
    ͦ΋ͦ΋ϩοΫͷॲཧ͸
    3%#ʹΑ͔ͬͯͳΓҧ͏
    ॲํᝦΛҰׅΓͰݴ͑ͳ͍

    View Slide

  134. ϩοΫͷޭࡑ
    ϩοΫ͸σʔλΛकΔͨΊʹඞཁ

    View Slide

  135. ϩοΫͷޭࡑ
    ϩοΫ͸σʔλΛकΔͨΊʹඞཁ
    ˣ
    ͔͠͠τϥϒϧͷ࣌ͷࠜ͸ਂ͍

    View Slide

  136. ϩοΫͷޭࡑ
    ॲํᝦ

    View Slide

  137. ϩοΫͷޭࡑ
    ॲํᝦ
    ϩοΫΛ஌Δ

    View Slide

  138. ϩοΫͷޭࡑ
    ະ஌ͳΔ࢓૊Έ͸ා͍

    View Slide

  139. ϩοΫͷޭࡑ
    ະ஌ͳΔ࢓૊Έ͸ා͍
    ˣ
    ͔ͬ͠Γͱཧղ͢Δࣄ

    View Slide

  140. ϩοΫͷޭࡑ
    ϩοΫΛݟΔ

    View Slide

  141. ϩοΫͷޭࡑ
    ϩοΫΛݟΔ
    ˣ
    ֤%#ʹ༻ҙ͞Ε͍ͯΔ࢓૊ΈΛ࢖͏

    View Slide

  142. ϩοΫͷޭࡑ
    ϜʔΞͷ๏ଇͷݶք

    View Slide

  143. ϩοΫͷޭࡑ
    ϜʔΞͷ๏ଇͷݶք
    ˣ
    ࣌୅͸ฒྻɾ෼ࢄॲཧ࣌୅΁

    View Slide

  144. ϩοΫͷޭࡑ
    ϜʔΞͷ๏ଇͷݶք
    ˣ
    ࣌୅͸ฒྻɾ෼ࢄॲཧ࣌୅΁
    ଟ͘ͷιϑτ΢ΣΞΤϯδχΞ͸ฒྻॲཧ͕ۤख
    ͔ͩΒͦ͜कΓͷ࢓૊Έ͔ͬ͠Γ஌Δ

    View Slide

  145. ͋͐͡Μͩ
    ̍ɹࣗݾ঺հ
    ̎ɹڧ͗͢Δґଘ
    ̏ɹӅ͞Εͨঢ়ଶ
    ̐ɹϩοΫͷޭࡑ
    ̑ɹ·ͱΊ

    View Slide

  146. ·ͱΊ
    ػೳ΍πʔϧʹґଘ͠ա͗ͳ͍

    View Slide

  147. ·ͱΊ
    ػೳ΍πʔϧʹґଘ͠ա͗ͳ͍
    ˣ
    γϯϓϧͳઃܭ͸શͯʹউΔ

    View Slide

  148. ·ͱΊ
    σʔλͷण໋͸ίʔυΑΓ΋௕͍

    View Slide

  149. ·ͱΊ
    Ұ౓࡞ͬͨ%#͸ফͤͳ͍

    View Slide

  150. ·ͱΊ
    Ұ౓࡞ͬͨ%#͸ফͤͳ͍
    ˣ
    ઃܭ͕େࣄ

    View Slide

  151. ·ͱΊ
    σʔλϕʔεͷࢮ͸αʔϏεͷࢮ

    View Slide

  152. ·ͱΊ
    σʔλϕʔεͷࢮ͸αʔϏεͷࢮ
    ˣ
    ղܾͰ͖Δਓ͸ӳ༤

    View Slide

  153. ·ͱΊ
    %#ͷ໰୊͸๨Εͨࠒʹ΍ͬͯ͘Δ

    View Slide

  154. ·ͱΊ

    View Slide

  155. ·ͱΊ
    αʔϏε΍νʔϜΛकΔͨΊʹ
    ແ஌Λط஌͢Δ

    View Slide

  156. ·ͱΊ
    ۪ऀ͸ܦݧʹֶͿ
    ݡऀ͸աڈʹֶͿ

    View Slide

  157. ·ͱΊ
    पғͷܦݧஊ͔ΒֶͿ

    View Slide

  158. ·ͱΊ
    पғͷܦݧஊ͔ΒֶͿ
    ˣ
    ੵۃతʹίϛϡχςΟΛར༻͢Δ

    View Slide

  159. ࢀߟࢿྉ
    ɾQPTUHSFTRMKQ4MBDL νϟοτϧʔϜ

    IUUQTQPTUHSFTRMIBDLFSTKQIFSPLVBQQDPN
    ɾNZTRMDBTVBM4MBDL νϟοτϧʔϜ

    IUUQTNZTRMDBTVBMTMBDLJOIFSPLVBQQDPN

    View Slide

  160. ·ͱΊ
    3%#ͷ஌ࣝ͸ण໋͕௕͍

    View Slide

  161. ·ͱΊ
    3%#ͷ஌ࣝ͸ण໋͕௕͍
    ˣ
    ֮͑Ε͹࢓ࣄͰ௕͍ؒ໾ʹཱͭ

    View Slide

  162. ·ͱΊ
    ΑΓྑ͍ઃܭΛ
    Ұॹʹߟ͑ͯߦ͖·͠ΐ͏

    View Slide

  163. ·ͱΊ
    3%#͸͍͍ͧɻ

    View Slide

  164. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ

    View Slide