Webサービスにおける
キャッシュ戦略

 Webサービスにおける
キャッシュ戦略

YAPC::Asia Hachioji 2016 mid in Shinagawa
2016-07-03
Yusuke Wada a.k.a. yusukebe

E48a2f4f6f2db2f98158f1558c2ee3cf?s=128

Yusuke Wada

July 03, 2016
Tweet

Transcript

  1. 8FCαʔϏεʹ͓͚Δ
 Ωϟογϡઓུ :"1$"TJB)BDIJPKJNJEJO4IJOBHBXB  :VTVLF8BEBBLBZVTVLFCF

  2. ࣗݾ঺հ w ࿨ా༟հBLBZVTVLFCF w ϫσΟοτ୅දऔక໾ w ΦϞϩΩ$50 w ٕज़ސ໰Y w

    DPGPVOEFSPGCPLFUF w XBEBGNEBOEZGN w 1FSM.POHFS
  3. ࠷ۙͭͬͯ͘Δ΋ͷ

  4. 3VCZPO3BJMT"QQ BOE J04"QQ

  5. ຊτʔΫͷςʔϚ

  6. Ωϟογϡ

  7. ͱ͸͍ͬͯ΋

  8. ௿ϨΠϠʔͷΩϟογϡ ͷ࿩͸͠·ͤΜ

  9. 7BSOJTIͷ࿩΋͠·ͤΜ ͳ͔ͥ͸ޙͰ෼͔Δ

  10. ౰વ

  11. ݱۚͷ࿩͸͠·ͤΜʂ

  12. 8FCΞϓϦέʔγϣϯ ϨΠϠʔͰѻ͏Ωϟογϡ ͷ࿩Λ͠·͢ʂ

  13. ΞδΣϯμ w Ωϟογϡͷ໨త w Ωϟογϡͷجૅ w Ωϟογϡύλʔϯ w Ωϟογϡ ΦϨΦϨ

    ઓུ
  14. Ωϟογϡͷ໨త

  15. *0ͷޮ཰Խ

  16. *0͕ϘτϧωοΫʹͳΔ݅ w ྫ%BUF5JNFΛ࢖͏࢖Θͳ͍WTTMPXRVFSZ໰୊ w *0ͷੑೳʹൺ΂ͯ$16ੑೳͷํ͕ߴ͍৔߹͕ଟ͍ w σʔλ͸஝ੵ͢Δ͠σʔλྔ͕૿͑Ε͹େن໛΁ w 3%#.4ʹ͸ෳࡶͳࣄ৘͕͋ΔΑͶ w

    ֎෦΁ͷ8FC"1*ΞΫηε΋*0ͱͯ͠ߟ͑ΒΕΔ w ݁Ռ*0ό΢ϯυ͕ϘτϧωοΫʹͳΔ
  17. *0ϘτϧωοΫվળ w 3%#.4ͷ৔߹͚ͩͲ w ΫΤϦνϡʔχϯά w ςʔϒϧઃܭͷݟ௚͠ w ҙਤతͳඇਖ਼نԽ w

    தؒςʔϒϧͷ༻ҙͳͲ w αʔόͷεϖοΫΞοϓ #65
  18. Ͳʔ͠ΐ΋ͳ͍࣌
 ΊΜͲ͍࣌͋͘͞ΔΑͶʙ %#ʹ͸ຊ࣭తͳσʔλͷΈೖΕ͍ͨ ͔ͭύϑΥʔϚϯεΛग़͍ͨ͠

  19. ΩϟογϡͰ*0Λޮ཰Խʂ

  20. ஫ҙ

  21. ޙड़͢ΔΑ͏ʹΩϟογϡʹΑΔ
 ղܾ͸ສೳ͡Όͳ͘໰୊΋͋Δ

  22. Ωϟογϡͷجຊ

  23. DBDIF ந৅Խ͞ΕͨΩϟογϡετΞ

  24. ,74ΠϯλʔϑΣʔε ࠷௿ݶͷ

  25. DBDIFTFU LFZ WBMVF  NZWDBDIFHFU LFZ  QSJOUWWBMVF DBDIFEFMFUF LFZ

     DBDIFHFU LFZ VOEFG HFUTFUEFMFUF
  26. DBDIF͸े෼ʹ଎͍ҽӒҶనᝢ w ΩϟογϡετΞͷ୅දྫ w NFNDBDIFE w 3FEJT w ΞϓϦέʔγϣϯϝϞϦ w

    ϑΝΠϧFUD w ,74ΠϯλʔϑΣʔεΛར༻͠*0Λޮ཰Խ͢Δ w ࠓճ͸ओʹNFNDBDIFEΛ૝ఆͯ͠࿩͠·͢
  27. FYQJSF

  28. DBDIFTFU LFZ WBMVF     
 NZWDBDIFHFU LFZ

     σʔλΛอ࣋͢Δ༗ޮظݶΛ ࢦఆग़དྷΔ
  29. Ωϟογϡύλʔϯ

  30. ύλʔϯ

  31. &YQJSFΛ࢖ͬͨ యܕతͳύλʔϯ

  32. ֎෦)551ϦΫΤετͷ ݁ՌΛҰఆ࣌ؒΩϟογϡͤ͞Δ

  33. TVCHFU@OFXT@FOUSJFT\ NZTFMGTIJGU NZFOUSJFTTFMGDBDIFHFU LFZ  SFUVSOFOUSJFTJGFOUSJFT FOUSJFTTFMGGFUDI@OFXT@FOUSJFT  TFMGDBDIFTFU LFZ

    FOUSJFT   SFUVSOFOUSJFT ^ LFZʹWBMVF͕ଘࡏ͢Δ͔HFUͰ֬ೝ͢Δ WBMVF͕ଘࡏͨ͠Βͦͷ··ฦ͢ ଘࡏ͠ͳ͍৔߹)551ϦΫΤετΛ૸ΒͤίϯςϯπΛੜ੒ FYQJSFΛࢦఆͯ͠LFZͰίϯςϯπΛTFU͢Δ ίϯςϯπΛฦ٫͢Δ
  34. ϦεΫ

  35. FYQJSF ඵ࣌ؒͷؒʹ ֎෦Ͱίϯςϯπ͕ߋ৽͞Εͯ΋ ΞϓϦ্Ͱ͸൓ө͕͞Εͳ͍     ҙਤతͳΩϟογϡͷߋ৽΍ ࡟আ͕ඞཁʹͳͬͯ͘Δ

  36. Ωϟογϡͷ ίϯτϩʔϧ͸೉͍͠

  37. Ωϟογϡͷপ΁Α͏ͦ̇͜

  38. ͱ͜ΖͰ

  39. 3%#.4΁ͷ໰͍߹Θͤͷ৔߹΋ ಉ͡Α͏ʹΩϟογϡग़དྷΔ ͨͩ͠ෳ਺ͷΫΤϦΛΩϟο γϡ͢Δ৔߹LFZͷ؅ཧੜ ੒͕൥ࡶʹͳΔ͕࣌͋Δ Ή͠Ζউखʹ &YQJSFΛ࢖ͬͨ ΩϟογϡΛͯ͠΋Β͍͍ͨ

  40. ύλʔϯ

  41. Ҿ਺΍ΫΤϦΛ࢖ͬͨLFZੜ ੒ʹΑΔಁաతΩϟογϡ ύλʔϯ

  42. ྫ͑͹

  43. %#*Y$MBTT$VSTPS$BDIFE ͷ৔߹

  44. None
  45. TVC@CVJME@DBDIF@LFZ\ NZ DMBTT TUPSBHF BSHT BUUST !@ NZSFGTUPSBHF@TFMFDU@BSHT@UP@RVFSZ  !\BSHT^<>

    BUUST   NZDPOO  SFUVSO%JHFTU4)"TIB@IFY  4UPSBCMFOGSFF[F  <SFG DPOO\/BNF^ DPOO\6TFSOBNF^]]>   ^ ౎౓ͷΫΤϦ΍ίωΫγϣϯ৘ใͳͲΛ
 ϋογϡؔ਺΁௨ͯ͠จࣈྻԽͨ͠΋ͷΛLFZͱ͍ͯ͠Δ
  46. LFZͷੜ੒Λࣗಈతʹߦ͍ ͍ͭͷؒʹ͔&YQJSFϕʔεͷ ΩϟογϡΛ͢Δ ಁաΩϟογϡͷύλʔϯ

  47. TFMGECTFBSDI FOUSZ  \VTFS@JE^  \PSEFS@CZJE FYQJSF ^  Ԡ༻͢Ε͹൒ಁաతΩϟογϡػߏ͕࡞ΕΔ

    FYQJSFͱ͍͏໊લͷϋογϡ஋Λઃఆ͢Δͱࣗಈతʹ ͦͷ͚࣌ؒͩΩϟογϡ͓͍ͯͯ͘͠ΕΔͱ͔ ͨͩ͠%#ଆͷߋ৽ͷ൓ө͸FYQJSFͨ͠ޙʹ͞ΕΔΑʂ
  48. ύλʔϯ

  49. ͳΔ΂͘खલͰΩϟογϡͯ͠ ޮ཰Λ্͛Δύλʔϯ

  50. ϑϩϯτʹ͍ۙͱ͜ΖͰΩϟογϡ ͯ͋͛͠Δͱޮ཰͸Α͍ 3FRVFTU 3FTQPOTF %# "QQMJDBUJPO 8FC4FSWFS ΑΓ*0ޮ཰Λ্͛ΒΕΔ

  51. ྫ͑͹

  52. JTVDPOҴ㉮ӝԩդՈ㮢॰న⒌஗Ĕ✵㮣 IUUQEIBUFOBOFKQIJEFEFO

  53. )5.-ࣄલੜ੒ 44* w αΠυόʔʹʮ࠷ۙͷίϝϯτҰཡʯΛදࣔ w ϙετ࣌ʹ)5.-ΛϨϯμϦϯάͯ͠)5.-ࣗମΛ Ωϟογϡɺදࣔ࣌ʹऔಘͦ͠ͷ··)5.-දࣔ w ϖʔδશମΛΩϟογϡ͢ΔͱશϖʔδͷΩϟογϡ Λഁغ͠ͳͯ͘͸͍͚ͳ͍ͷͰ

    w ίϝϯτදࣔ෦෼͚ͩΩϟογϡ͠44*ͰύʔπΛ ݺͼग़͢ JODMVEFWJSUVBMSFDFOU@DPNNFOUFE@BSUJDMFT
  54. ϑϩϯτدΓͷ Ωϟογϡ͸มߋʹऑ͍ w ςϯϓϨʔτͷߏ଄Λม͑ͨ࣌ w ։ൃ͕සൟʹى͜Δ৔߹ʹ࢖͍ʹ͍͘ w ͦͯ͠࠶ར༻ੑʹ΋๡͍͠

  55. ύλʔϯ͔ΒݟΔ ΩϟογϡͷϙΠϯτ

  56. Ωϟογϡ͸ॾਕͷ݋ w DBDIF΁ͷ,74ΠϯλʔϑΣʔε͸े෼ʹ଎͍ w Ωϟογϡͷߋ৽ʹ͸ؾΛ࢖Θͳͯ͘͸͍͚ͳ͍ w FYQJSF·Ͱͷظ͕ؒ࢓্༷ແ೉Ͱ͋Δ w ҙਤతʹΩϟογϡΛEFMFUF͢Δ w

    LFZͷ໊෇͚Λ໌ࣔతʹ΍Δ͔ಁաతʹߦ͏͔ʁ w ͳΔ΂͘ϑϩϯτدΓͰΩϟογϡͤͨ͞ํ͕ߴ଎ w ͱ͸͍͑ΞϓϦέʔγϣϯͷมߋʹऑ͍
  57. ΦϨΦϨ Ωϟογϡઓུ

  58. #PLFUFαʔόΞϓϦͷ৔߹

  59. #PLFUFεϖοΫ w ೥݄ϩʔϯν w ΋͏͙͢ສ%- J04 "OESPJE  w Ϙέ

    ສ݅ w ͓୊ສ݅ w ධՁԯ݅ w ϐʔΫ࣌SFRTTFD
  60. σʔλετΞͱΩϟογϡͷ جຊઓུ

  61. 044ޓ׵ͷϛυϧ΢ΣΞΛ࢖͏ w "NB[PO8FC4FSWJDFT্ʹΠϯϑϥΛߏங w ͨͩ͠044ޓ׵ͷ*'Λ࣋ͭϛυϧ΢ΣΞͷΈ࢖༻ w "NB[PO3%4"VSPSB w NFNDBDIFE &MBTUJ$BDIF

     w 3FEJT &MBTUJ$BDIF  w &MBTUJDTFBSDI &MBTUJDTFBSDI4FSWJDF  w खݩͰͷ࠶ݱੑΛߴΊΔͨΊ
  62. +PJOΛͳΔ΂͘͠ͳ͍ w ෆมͳΦϒδΣΫτ͕ଟ͍ͷͰ+PJO͢Δίετ͕ແବ w ޙड़ w ΞϓϦέʔγϣϯʹΑΔ w 03.BQQFSϨϕϧͰ+PJO͠ʹ͘͘͢Δ w

    ҙਤతͳඇਖ਼نԽΛؚΊΔ%#ઃܭ
  63. ෆมͳϞϊ͸Ωϟογϡ͢Δ w มԽͷগͳ͍ΦϒδΣΫτ͸࠷ॳͷࢀরޙΩϟογϡ w ҎޙͷͦͷΩϟογϡΦϒδΣΫτΛ࢖͍ճ͢ w ਺গͳ͍ߋ৽࣌ʹΩϟογϡΛഁغ͢Δ CPLF PEBJ QIPUP

    VQEBUF͕ແ͍ ͨ·ʹEFMFUF͕૸Δ
  64. Ωϟογϡͷཻ౓ w ԿΛΩϟογϡ͢Δ͔ʁ໰୊ w ཻ౓͕খ͍͞Ωϟογϡର৅3PX୯ମ w ཻ౓͕େ͖͍Ωϟογϡର৅ϥϯΩϯάͳͲҰཡ

  65. 3PXͷࢀর࣌͸ϋογϡͰѻ͏ w 3PXΦϒδΣΫτ͡Όͳͯ͘ϋογϡͰѻ͏ w ͦ΋ͦ΋8FC"1*͔ͩΒ+40/Ͱฦ͢͠ w ϋογϡͩͱΩϟογϡ͠΍͍͢ w ͨͩ3PXΦϒδΣΫτΛϑΣον͔ͯ͠Βϋο γϡԽ͍ͯ͠Δ

    w 3PXຖʹJOqBUFϧʔϧΛΦϒδΣΫτʹҠৡ
  66. όονΑΓ΋ࢀর৘ใΛΩϟογϡ w ෳࡶͳόονॲཧΛݮΒ͢ํ਑ w ؂ࢹ͕͠ʹ͍͘ʢָͯ͠؂ࢹ͍ͨ͠ʣ w ෳ਺ΧςΰϦʹ·͕ͨΔϥϯΩϯάΛදࣔ w ଟ਺ͷՕॴͷϥϯΩϯάΛόονͰੜ੒͸ආ͚ͨ ͍ʢΊΜͲ͍͘͞ʣ

    ίϯςϯπΛ༧Ί༻ҙ͢ΔͷͰ͸ͳ͘ ඞཁͱ͞Εͨ࣌ʹΩϟογϡ͓ͯ͘͠
  67. ࣮૷

  68. ΦϒδΣΫτϕʔεͷ ಁաΩϟογϡ

  69. CPLF\PEBJ^\QIPUP^\MBSHF@VSM^ ϦϨʔγϣϯઌͷΦϒδΣΫτ ΩϟογϡΛ࣮ݱ͢Δ Ωϟογϡ͔Βऔಘ

  70. #PLFUF%# QBDLBHF#PLFUF%# VTFQBSFOU5FOH  TVCGJOE@XJUI@DBDIF\ NZ TFMG UBCMF XIFSF FYQJSF

    !@ NZLFZTFMGNBLF@LFZ UBCMF XIFSF GJOE  NZEBUBTFMGDBDIFHFU LFZ  SFUVSOEBUBJGEBUB NZPCKFDUTFMGTJOHMF UBCMF XIFSF  PSSFUVSO EBUBPCKFDUJOGMBUF@DPMVNOT  TFMGDBDIFTFU LFZ EBUB FYQJSF  SFUVSOEBUB ^ TVCEFMFUF@DBDIF\ ൒ಁաΩϟογϡ ΠϯλʔϑΣʔεΛੜ΍͢
  71. #PLFUF%#3PX#PLF QBDLBHF#PLFUF%#3PX#PLF  TVCJOGMBUF@DPMVNOT\ NZTFMGTIJGU NZEBUBTFMGDPMVNOT  EBUB\PEBJ^ TFMGIBOEMFGJOE@XJUI@DBDIF 

    PEBJ \JEEBUB\PEBJ@JE^^    SFUVSOEBUB ^ औಘ࣌ʹϦϨʔγϣϯઌͷ ΦϒδΣΫτΛΩϟογϡ͢Δ
  72. ԾʹϦϨʔγϣϯઌͷPEBJQIPUP ͕Ωϟογϡ͞Ε͍ͯΔCPLFҰཡΛ औͬͯ͘Δ৔߹ 4&-&$5จҰൃͷΈͰϦϨʔγϣϯઌ ͷΦϒδΣΫτ΋औͬͯ͜ΕΔʂ

  73. !CPLFTTFMGECTFBSDI CPLF \^ \PSEFS@CZ \JEBTD MJNJU^^  CPLFT<>\PEBJ^\QIPUP^\MBSHF@VSM^ .Z42-4&-&5$5 '30.CPLF03%&3#:JE"4$-*.*5

    NFNDBDIFEHFUPEBJBCDEFG NFNDBDIFEHFUQIPUPBCDEFG NFNDBDIFEHFUPEBJBCDEFGH NFNDBDIFEHFUQIPUPBCDEFGH  NFNDBDIFE͔ΒͷHFUͳͷͰे෼ʹ଎͍ 3%#.4΁ͷෛՙ͸ΫΤϦҰൃͷΈ
  74. Ωϟογϡͷഁغ w ΦϒδΣΫτͷߋ৽΍࡟আ͕૸ͬͨ৔߹ͷΩϟογϡͷΫϦΞ w LFZੜ੒࣌ͱಉ͡Α͏ʹ03.BQQFS΁ͷΫΤϦΛॻ͘ w ճ਺͕ଟ͘ແ͍ͷͰରԠͰ͖ͯΔ TFMGECEFMFUF@DBDIF PEBJ \JEPEBJ@JE^

    
  75. ϥϯΩϯάͱ͔ ҰཡͷΩϟογϡ

  76. ൒ಁաతΩϟογϡΛ࠾༻ w ϞσϧʹDPOE BUUSΛҾ਺ͱͯ͠΋Β͏ϝιο υΛੜ΍͢ྫHFU@TPSUFE@FOUSJFT  w BUUSͷϋογϡʹFYQJSFͷ஋͕ೖ͍ͬͯΕ͹ͦͷؒ ͚ͩΩϟογϡͤ͞ΕΔ NZTFMG

    DPOE BUUS!@  TFMGECTFBSDI CPLF \^ \PSEFS@CZ\SBUF@TVN EFTD MJNJU FYQJSFBUUS\FYQJSF^^^ 
  77. ΞϓϦέʔγϣϯຖͷ࢓্༷ Ωϟογϡͯ͠΋Α͚Ε͹ ׆༻Λʂ

  78. ͔͠͠໰୊͕

  79. ͦͷ໊΋

  80. 5IVOEFSJOH)FSE໰୊

  81. ௨ৗɺΩϟογϡʹ֨ೲ͞ΕΔσʔλ͸ɺͦΕͧΕ୯Ұͷ ੜଘ࣌ؒΛ΋͍ͬͯ·͢ɻ໰୊͸ɺසൟʹΞΫηε͞ΕΔ Ωϟογϡσʔλ͕ΤΫεύΠΞͨ͠ࡍʹൃੜ͠·͢ɻσʔ λ͕ΤΫεύΠϠͨ͠ॠ͔ؒΒɺฒߦʹ૸Δෳ਺ͷΞϓϦ έʔγϣϯϩδοΫ͕ϛεώοτΛݕ஌͠ɺ͍ͣΕ͔ͷϓ ϩηε͕ΩϟογϡσʔλΛ֨ೲ͢Δ·ͰͷؒɺಉҰͷϦ ΫΤετ͕ଟ਺ɺόοΫΤϯυʹඈΜͰ͠·͏ͷͰ͢ɻ IUUQMBCTDZCP[VDPKQCMPHLB[VIPBSDIJWFTDBDIF@BOE@UIVOEFSJOH@IFSEQIQ

  82. ਤղ

  83. FYQJSF  े෼ʹ଎͍ े෼ʹ଎͍ FYQJSFͨ͠ॠؒ ίϯςϯπͷੜ੒ ΩϟογϡͷTFU ͜ͷظؒʹΞΫηε͕ू தͯ͠ίϯςϯπੜ੒͕ ଟॏʹ૸Δ

    Cache Thundering Herd Problem
  84. ๭%#ͷ$16ෛՙ

  85. ٧Ή

  86. ٧Ή

  87. ٧Ή

  88. None
  89. ղܾࡦ

  90. &BSMZ&YQJSFT$BDIF CZLB[FCVSP IUUQCMPHOPNBETDBGFKQNFNDBDIFEUIVOEFSJOHIFSEIUNM

  91. ࢓૊Έ w ௨ৗͷΩϟογϡ &YQJSF͕୹͍Ωϟογϡ w ্ه̎ͭΛNFNDBDIFEʹTFU w HFU࣌ʹͱ͋Δ֬཰Ͱ&YQJSF͕୹͍ํͷΩϟογϡ Λݟʹ͍͘ w

    Ұఆͷ֬཰ͰΩϟογϡ͕ૣ͘੾ΕΔ w Ұ౓ʹίϯςϯπੜ੒Ͱෛՙ͕͔͔ΔͷΛආ͚Δ w Ωϟογϡͷ༰ྔ͸ഒඞཁ
  92. QBDLBHF&BSMZ&YQJSFT$BDIF  TVCTFU@FF\ NZ TFMG LFZ WBMVF FYQJSFT !@ TFMGDBDIFTFU

    LFZ WBMVF FYQJSFT  TFMGDBDIFTFU LFZFF WBMVF FYQJSFTTFMG FBSMZ@FYQJSFT  ^ TVCHFU@FF\ NZ TFMG LFZ !@ JG JOU SBOE TFMGSBUJP  \ SFUVSOTFMGDBDIFHFU LFZFF  ^ TFMGDBDIFHFU LFZ TFMGDBDIFHFU LFZFF  ^ TVCEFMFUF@FF\ NZ TFMG LFZ !@ TFMGDBDIFEFMFUF LFZ  TFMGDBDIFEFMFUF LFZFF  ^ ࣌ؒࠩͰೋॏʹLFZΛTFU ಛఆͷׂ߹Ͱ୹͍DBDIFΛHFU
  93. ௨ৗ͸͜ͷରࡦͰ0,ʂ

  94. ͨͩ͠

  95. ϐʔΫ࣌ʹ͸·ͩߥΕΔ ॠఀ͕ى͜Δ

  96. ਏ͍

  97. ݪҼ ίϯςϯπੜ੒͕஗͍ ύϥϝʔλͷ஋͕࠷దͰ͸ͳ͍ ΞΫηε͕͋Δఔ౓ଟ͍

  98. ͦ͜Ͱ

  99. -B[Z$BDIF ΦϨΦϨ

  100. ࢓૊Έ w ௨ৗͷΩϟογϡ &YQJSF͕௕͍Ωϟογϡ w ͦΕʹՃ͑ͯίϯςϯπੜ੒࣌͸ϑϥά w ্ه͕ͭNFNDBDIFEʹηοτ͞ΕΔ w ௨ৗͷΩϟογϡ͕&YQJSFͨ࣌͠ʹϑϥάʹਅ஋ΛTFU

    w ௨ৗΩϟογϡ͕ۭ͔ͭϑϥά͕ਅͷ৔߹ʹ&YQJSF͕ ௕͍ΩϟογϡΛฦ͢ w ͦͷؒʹίϯςϯπੜ੒ɺͦͷޙΩϟογϡΛTFUɺϑ ϥάΛEFMFUF͢Δ
  101. ௨ৗΩϟογϡ͕͋Δίϯςϯπੜ੒ͯ͠ͳ͍ ௨ৗΩϟογϡΛฦ٫ ௨ৗΩϟογϡ͕ͳ͍ίϯςϯπੜ੒ͯ͠ͳ͍ ϑϥάΛηοτ ίϯςϯπΛੜ੒ ΩϟογϡΛηοτϑϥάΛ࡟আ ੜ੒ͨ͠௨ৗΩϟογϡΛฦ٫ ௨ৗΩϟογϡ͕ͳ͍ίϯςϯπੜ੒ͯ͠Δ &YQJSF௕ΊͷΩϟογϡΛฦ٫

  102. QBDLBHF#PLFUF$BDIF-B[Z$BDIF  TVCHFU\ NZ TFMG LFZ !@ NZEBUBTFMGDBDIFHFU LFZ 

    NZGMBHTFMGDBDIFHFU LFZGMBH  JG EBUBGMBH \ TFMGTFU LFZGMBH   EPUBTL TFMGTFU LFZ EBUB TFMGFYQJSF  TFMGTFU LFZ EBUB TFMGFYQJSF TFMGMB[Z@UJNF  TFMGEFMFUF LFZGMBH  ^ SFUVSOEBUB]]TFMGDBDIFHFU LFZMB[Z  ^ ࢀর࣮૷ ϑϥάΛHFU ϑϥάΛTFUͯ͠ ίϯςϯπੜ੒ ௨ৗΩϟογϡ͕ۭͳΒ͹MB[ZDBDIFΛฦ٫
  103. ݁Ռ͕Ұ໨ྎવ

  104. None
  105. ۪௚ʹॻ͍ͨΒ͏·͍ͬͨ͘ ഉଞॲཧͱ͔ͯ͠ͳ͍͚Ͳ

  106. None
  107. ͜ͷΑ͏ʹΞϓϦʹΑͬͯ Ωϟογϡઓུ͸༷ʑʂ

  108. ͦΖͦΖ·ͱΊ

  109. Ωϟογϡઓུʹ͍ͭͯ࿩͠·ͨ͠ w Ωϟογϡͷ໨త΍جຊతͳ࢓૊Έ w ൒ ಁաΩϟογϡͷ࣮૷ͱϦεΫ w ΦϨΦϨ Ωϟογϡઓུ w

    5IVOEFSJOH)FSE໰୊ͱͷઓ͍ ΞϓϦέʔγϣϯʹΑͬͯઓུ͕มΘͬͯ͘Δ
  110. օ͞ΜͳΓͷઓུͰ ΩϟογϡΛ࢖ͬͯԼ͍͞