Slide 1

Slide 1 text

AWS DMS Λ࢖ͬͨҟछDBؒҠߦͷ ͢͢Ί 2018-09-29 ୈ24ճ தࠃ஍ํDBษڧձ JPUGதࠃࢧ෦௕ ߴڮ Ұٍ 1

Slide 2

Slide 2 text

஫ҙࣄ߲ • εϥΠυ͸ޙͰެ։͠·͢ɻ • ࣭໰ͱ͔͝ࢦఠͱ͔͋Ε͹ #ChugokuDB ΁ ͓ئ͍க͠·͢ɻ 2

Slide 3

Slide 3 text

͓͠ͳ͕͖ 1. ࣗݾ঺հ 2. AWS DMSͱ͸ 3. PostgreSQLΛҠߦઌʹબΜͩཧ༝ 3

Slide 4

Slide 4 text

ࣗݾ঺հ • ߴڮ Ұٍ • ԬࢁͰWebΤϯδχΞ • ೔ຊPostgreSQLϢʔβʔձ தࠃࢧ෦௕ • PostgreSQLྺ 3ϲ݄ ! • ϋϦωζϛͱωζϛͷҧ͍ʹ͍ͭͯ ஌ݟ͋Γ·͢ɻ 4

Slide 5

Slide 5 text

גࣜձࣾΦϛΧϨ ࠗ׆ͱݴ͑͹ΦϛΧϨʂ \\݁ࠗ͸͍͍ͧʂʂ// ϩʔϯν͔Β໿7೥ ىۀ͔Β͸໿3೥ऑ 5

Slide 6

Slide 6 text

֓ཁ • ϩʔϯν͔Β̓೥ɺ৭Μͳେਓͷࣄ৘͔Β ͦΕͳΓʹ͍ΘΏΔٕज़తෛ࠴ͱݺ͹ΕΔ΋ͷ͕͋Δɻ ʮσʔλϕʔεߏ଄ΛோΊΔձ΍Ζ͏ʂʯ ʮ͜ͷςʔϒϧԿʹ࢖ΘΕͯΔ͔஌ͬͯΔਓʔʔʁʯ ʮʮʮɻɻɻʯʯʯ ୭΋஌Βͳ͍ςʔϒϧͷڪා... 6

Slide 7

Slide 7 text

֓ཁ • ࠓޙͷࣄۀͷ੒௕΋ݟӽͯ͠WebϖʔδͷϦϑΝΫλϦϯά ΋ඞཁͩ͠ɺRDBͷϦϑΝΫλϦϯά΋ඞཁ. • ͳΔ΂͘ແఀࢭͰ͔ͭԁ׈ʹ։ൃΛਐΊΔͨΊʹ ߟ͑ͨRDBϦϑΝΫλϦϯάͷํ๏Λ͝঺հͤͯ͞௖͖· ͢ʂʂ 7

Slide 8

Slide 8 text

֓ཁ • ࠓޙͷࣄۀͷ੒௕΋ݟӽͯ͠WebϖʔδͷϦϑΝΫλϦϯά ΋ඞཁͩ͠ɺRDBͷϦϑΝΫλϦϯά΋ඞཁ. • ͳΔ΂͘ແఀࢭͰ͔ͭԁ׈ʹ։ൃΛਐΊΔͨΊʹ ͦʔ͍ͩ͞Μ͕ ߟ͑ͨRDBϦϑΝΫλϦϯάͷํ๏Λ͝঺հͤͯ͞ ௖͖·͢ʂʂ 8

Slide 9

Slide 9 text

ϦϑΝΫλϦϯάख๏ • MySQLΛ AWS DMS Ͱ PostgreSQLͷOLDεΩʔϚʹҠ͢ɻ • OLD εΩʔϚͷ֤ςʔϒϧʹ τϦΨʔΛఆٛ. τϦΨʔ಺ͰϦϑΝΫλϦϯάͯ͠ NEWεΩʔϚʹҠ͢ɻ • NEWεΩʔϚΛࢀর͢ΔΑ͏ʹ ੾Γସ͍͑ͯ͘. 9

Slide 10

Slide 10 text

AWS DMS ͱ͸ 10

Slide 11

Slide 11 text

AWS DMS ͱ͸ Database Migration Service ωοτϫʔΫӽ͠ʹ σʔλҠߦΛߦ͏ࣄ͕ग़དྷΔαʔϏε ※ ίϐʔݩɺίϐʔઌͷͲͪΒ͔͕AWS ͷΤϯυϙΠϯτͰ͋Ε͹ϨϓϦέʔγ ϣϯΛ͢Δࣄ͕ग़དྷΔɻ 11

Slide 12

Slide 12 text

AWS DMSͷΩʔϫʔυ • ιʔεΤϯυϙΠϯτ • σʔλͷίϐʔݩɻ EC2 on DB, RDS, ΦϯϓϨDB, S3 ͳͲɻ • λʔήοτΤϯυϙΠϯτ • σʔλͷίϐʔઌ EC2 on DB, RDS, ΦϯϓϨDB, S3, DynamoDB ͳͲɻ • ϨϓϦέʔγϣϯΠϯελϯε • ϨϓϦέʔγϣϯΛߦ͏Πϯελϯε 12

Slide 13

Slide 13 text

PostgreSQLΛҠߦઌʹબ Μͩཧ༝ 13

Slide 14

Slide 14 text

ͦΓΌ(JPUGཧࣄ͕ೋਓ΋ډΔΜ΍͔Β) ͦ͏΍Ζɻ 14

Slide 15

Slide 15 text

ͱ͍͏ͷ͸ຊԻɺͰ͸ͳ͍Ͱ͕͢ɻ 15

Slide 16

Slide 16 text

PostgreSQLτϦΨʔʹ͍ͭͯ CREATE TRIGGER 'τϦΨʔ໊' trigger_time trigger_event ON 'ςʔϒϧ໊' FOR EACH ROW '࣮ߦؔ਺' MySQL PostgreSQL trigger_time BEFORE, AFTER BEFORE, AFTER trigger_event INSERT,UPDATE,DELETE ͔ΒҰ ͭ INSERT,UPDATE,DELETE ͔Β1 ݸҎ্ ※ ΋ͬͱ͋Δ͚Ͳɺলུ 16

Slide 17

Slide 17 text

PostgreSQLͷڧΈ(खଓ͖ܕݴޠ) ໊শ ݴޠ ഑෍ํ๏ PL/pgSQL SQL جຊ഑෍ PL/Perl Perl جຊ഑෍ PL/Python Python جຊ഑෍ PL/Java Java ֦ு PL/v8 JavaScript ֦ு ※ ͦͷଞ 17

Slide 18

Slide 18 text

͕࣌ؒ͋Ε͹σϞಈը(ଟ ෼ແ͍) 18

Slide 19

Slide 19 text

·ͱΊ • AWS DMS͸҆ͯ͘खܰʹࢼͤΔͱ͍͏఺ͰҠߦπʔϧͱ͠ ͯ࢖͍΍͍͢ɻ • ·ͩ·ͩ૸Γ࢝Ίͨ͹͔ΓͰɺࠓͷॴக໋ই͸ͳ͍ɻ (ই͕ແ͍ͱ͸ݴͬͯͳ͍) • ࠓޙଟ෼৭ʑͳ஍ࠈΛݟ͍ͯ͘ͱࢥ͏ͷͰͦ͏͍͏ͷ͸ࠓޙ ͷΠϕϯτͰΞ΢τϓοτ͍ͯ͘͠ͷͰ͝ظ଴͍ͩ͘͞ 19

Slide 20

Slide 20 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝· ͨ͠ʂʂ 20