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

GAE_SE_Go_Second_generation_And_Cloud_Spanner.pdf

3cb4e761dbdb7aebd1ffd85f752e1e3e?s=47 sonata
December 04, 2018

 GAE_SE_Go_Second_generation_And_Cloud_Spanner.pdf

3cb4e761dbdb7aebd1ffd85f752e1e3e?s=128

sonata

December 04, 2018
Tweet

Transcript

  1. 1 (PPHMF"QQ&OHJOF(P 4UBOEBSE&EJUJPO4FDPOEHFOFSBUJPO "OE$MPVE4QBOOFS !TPOBUBSE ञͱήʔϜͱΠϯϑϥͱ($1ୈճ ʙ೥຤͔ͩΒ؊ଁʹμϝʔδड͚ͳ͍ఔ౓ʹҿΉͧʙ!%..DPN

  2. Server Side Engineer ͦͳͨ @sonatard 2006 - • Linux Server

    and Network Engineer 2010 - • Develop Wireless LAN Module Simulator with SystemC • Develop TCP/IP protocol stack on RTOS 2014 - • Go in my free time - Command-line utility for searching Github repository. https://github.com/sonatard/ghs - LDAP Auth Client library https://github.com/sonatard/go-ldapc 2017 - • Google App Engine Go Engineer
  3. • ͸͡Ίʹ • GAEͷۙ೥ͷಈ͖ͱ2nd-gen • GAEͱGKE • Cloud Spannerͷར༻ɺCloud SQL͔ΒͷҠߦ

    • એ఻
  4. 4 ͸͡Ίʹ w ("&(PલఏͰ͓࿩͠·͢ w TUHFOɺOEHFOͷ੍໿͸ݴޠʹΑͬͯҟͳΓ·͢

  5. • ͸͡Ίʹ • GAEͷۙ೥ͷಈ͖ͱ2nd-gen • GAEͱGKE • Cloud Spannerͷར༻ɺCloud SQL͔ΒͷҠߦ

    • એ఻
  6. 6 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOͷۙ೥ͷಈ͖ w "QQ&OHJOF w (PPHMF࠷ॳͷΫϥ΢υαʔϏε w ($1Ҏલ͔Βଘࡏ w ݱࡏͰ͸"QQ&OHJOFҎ֎ʹ΋ଟ͘ͷ࣮ߦ؀ڥ͕ଘࡏ

    w ($& w "QQ&OHJOF'MFY&OWJSPONFOU w (,& w ,OBUJWF 4FSWFSMFTTBEEPOGPS(PPHMF,VCFSOFUFT&OHJOF  w $MPVE'VODUJPOT w ଞͷ࣮ߦ؀ڥ͔Β΋ར༻Ͱ͖ΔΑ͏ʹ"QQ&OHJOFґଘػೳΛ($1ʹ੾Γग़͢ಈ͖͕͋Δ w "QQ&OHJOF%BUBTUPSF$MPVE%BUBTUPSF w "QQ&OHJOFDSPO$MPVE4DIFEVMFS w "QQ&OHJOFUBTLRVFVF$MPVE5BTLT
  7. 7 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOTUHFOͷ੍໿ͱฐ֐ w TUHFOͷ࣮ߦ؀ڥͱͯ͠ͷ੍໿ w ଞͷίϯςφͱΧʔωϧΛڞ༗͍ͯ͠Δ౎߹Ͱ৴པͰ͖ͳ͍γεςϜίʔϧΛ࣮ߦ͞ ΕΔڪΕ͕͋ΔͨΊɺ௚઀γεςϜίʔϧΛ࣮ߦ͢Δ͜ͱ͸Ͱ͖ͳ͔ͬͨ w 8FCΞϓϦέʔγϣϯΛఏڙ͢Δ্Ͱ࠷௿ݶඞཁͳγεςϜίʔϧ͸ɺBQQFOHJOF QBDLBHFΛར༻͠ͳ͚Ε͹͍͚ͳ͍

    w (PPHMFࣾ಺ͷ։ൃऀ w BQQFOHJOFQBDLBHFͷ։ൃ w (PͷόʔδϣϯΞοϓ͝ͱʹɺ(Pຊମʹ"QQ&OHJOFઐ༻ͷύονΛ౰ͯΔ w "QQ&OHJOFར༻ऀ w "QQ&OHJOFઐ༻ͷ(PͷίʔυΛॻ͔ͳ͚Ε͹͍͚ͳ͍ w ଞͷ࣮ߦ؀ڥ΁ͷҠ২ੑ͕௿͍ "QQ&OHJOF΁ͷϩοΫΠϯ͕ڧ͍ 
  8. 8 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPO΁ͷґଘͷ௿ݮ w "QQ&OHJOFࣗ਎΋"QQ&OHJOF΁ͷґଘΛݮΒͦ͏ͱ͍ͯ͠Δ w "QQ&OHJOF"1*͕ඇਪ঑ʹ ͍ͭഇࢭ͞ΕΔ͔͸ະఆ  w *NBHF"1*

    w 6TFST"1* ೝূ  w .BJM"1* w 4FBSDI"1* w .FNDBDIF
  9. 9 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFOͷొ৔ w H7JTPSʹΑΓɺίϯςφ͝ͱʹϦιʔε͕෼ׂ͞Εͨ w ଞͷίϯςφʹର͢Δഁյతૢ࡞͕Ͱ͖ͳ͘ͳͬͨ w γεςϜίʔϧΛࣗ༝ʹୟ͚ΔΑ͏ʹͳͬͨ w H7JTPS͕࣮૷͍ͯ͠ΔγεςϜίʔϧݶఆ

  10. 10 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO੍ݶղফʹΑΓՄೳʹͳͬͨ͜ͱ w TUHFOͰ͸ઈରʹͰ͖ͳ͔ͬͨ͜ͱ͕OEHFOͰ͸࠾༻Ͱ͖ΔΑ͏ʹ w ֎෦ͷίϚϯυΛμ΢ϯϩʔυ͓͍ͯͯ͠ɺͦͷόΠφϦΛ࣮ߦ͢Δ͜ͱ͕Մೳ w FYFD$PNNBOE w JOJU࣌ʹXHFUͰUNQμ΢ϯϩʔυUBSYWGͰίϚϯυΛ഑ஔ

    w ϦΫΤετ͝ͱʹͦͷίϚϯυΛ࣮ߦ w όΠφϦ͕)551ϦΫΤετΛ౤͛ΔΑ͏ͳ΋ͷ΋໰୊ͳ͍ DVSMIUUQTTBNQMFEPUQSPKFDUJEBQQTQPUDPNDNE HPMBOHHP5IF(PQSPHSBNNJOHMBOHVBHF GVODJOJU \  PVU FSSFYFD$PNNBOE XHFU lIUUQTBBBHITUBSH[z 0 UNQHITUBSH[ $PNCJOFE0VUQVU  PVU FSSFYFD$PNNBOE UBS YWG UNQHITUBSH[ $ lUNQ $PNCJOFE0VUQVU  ^ GVOD$NE)BOEMF XIUUQ3FTQPOTF8SJUFS S IUUQ3FRVFTU \  PVU FSSFYFD$PNNBOE lUNQHIT HPMBOHHP N $PNCJOFE0VUQVU   GNU'QSJOUG X W TUSJOH PVU  ^
  11. 11 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO੍ݶղফʹΑΓՄೳʹͳͬͨ͜ͱ w 4UBDLESJWFS1SPpMFS͕ར༻Մೳʹʂʂ w ݱࡏαϙʔτ͸͞Ε͍ͯͳ͍ GVODJOJU \  QSPKFDU*%PT(FUFOW

    (00(-&@$-06%@130+&$5  JGFSSQSPpMFS4UBSU QSPpMFS$POpH\  %FCVH-PHHJOHGBMTF   1SPKFDU*%QSPKFDU*%  ^ FSSOJM\  QBOJD FSS  ^ ^
  12. 12 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFOͷ੍໿ w ར༻Ͱ͖ͳ͍ϓϩτίϧ w (31$͕࢖͑ͳ͍)551ͷΈ w 8FC4PDLFU͕࢖͑ͳ͍ w "QQ&OHJOF"1*ͷҠߦઌ͕($1ʹͳ͍໰୊

    w .BJM"1*4FOE(SJE w 4FBSDI"1*&MBTUJDL4FBSDIPO($& w 6TFST"1* ೝূ 'JSFCBTF"VUI (PPHMF4JHO*O 0QFO"1* w কདྷతʹ͸$MPVE*"1ʁ w .FNDBDIF3FEJT-BCT.FNDBDIFE$MPVE w কདྷతʹ͸$MPVENFNPSZTUPSFʁ w ݱࡏɺ7JSUVBM1SJWBUF$MPVEʢ71$ ʹ"QQ&OHJOF͸઀ଓͰ͖ͳ͍ɻ
  13. 13 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO͸Ҡߦ͢΂͖ʁ w "QQ&OHJOF"1*͸ඇਪ঑Ͱ͋Δ͕ར༻Ͱ͖ΔͷͰՄೳͳΒOEHFOʹҠߦͨ͠ํ͕ྑ͍ w (P͕࢖͑Δ w ༷ʑͳ੍ݶ͕ͳ͘ͳΔ w "QQ&OHJOF"1*͕ഇࢭ͞ΕΔՄೳੑ͸͋Δ͕ɺͦΕ͸TUHFOͰ΋OEHFOͰ΋ಉ༷

  14. • ͸͡Ίʹ • GAEͷۙ೥ͷಈ͖ͱ2nd-gen • GAEͱGKE • Cloud Spannerͷར༻ɺCloud SQL͔ΒͷҠߦ

    • એ఻
  15. 15 "QQ&OHJOFͱ(,& ؅ཧͷ༰қ͞ ࣗ༝౓ "QQ&OHJOFTU ॳظ(,&

  16. 16 "QQ&OHJOFͱ(,& ؅ཧͷ༰қ͞ ࣗ༝౓ "QQ&OHJOFTU "QQ&OHJOFOE ॳظ(,& ݱࡏͷ(,&  पลαʔϏε

  17. 17 "QQ&OHJOFͱ(,& ؅ཧͷ༰қ͞ ࣗ༝౓ "QQ&OHJOFTU "QQ&OHJOFOE ॳظ(,& ݱࡏͷ(,&  पลαʔϏε

  18. 18 "QQ&OHJOFͱ(,& ؅ཧͷ༰қ͞ ࣗ༝౓ "QQ&OHJOFTU "QQ&OHJOFOE ॳظ(,& ݱࡏͷ(,&  पลαʔϏε

    "QQ&OHJOF OFYU (,& OFYU
  19. 19 "QQ&OHJOFͱ(,& ؅ཧͷ༰қ͞ ࣗ༝౓ "QQ&OHJOFTU "QQ&OHJOFOE ॳظ(,& ݱࡏͷ(,&  पลαʔϏε

    "QQ&OHJOF OFYU (,& OFYU /FX 1SPEVDU
  20. • ͸͡Ίʹ • GAEͷۙ೥ͷಈ͖ͱ2nd-gen • GAEͱGKE • Cloud Spannerͷར༻ɺCloud SQL͔ΒͷҠߦ

    • એ఻
  21. 21 .Z42-͔Β$MPVE4QBOOFS΁ͷҠߦ w ΠϯλʔϦʔϒΛҙࣝͨ͠ςʔϒϧઃܭ w BVUPJODSFNFOU͕ͳ͍ w ಛఆͷϊʔυ͕ϗοτεϙοτʹͳΒͳ͍Α͏1,͸66*%ʹ͓ͯ͘͠ w 3FBE5SBOTBDUJPO

    w ಉҰ࣌ࠁͷσʔλΛಡΈऔΔ͜ͱ͕Ͱ͖ΔɻϩοΫ͸औΒͳ͍ɻ w ΫΤϦʔͷରԠঢ়گ w ରԠ w 4&-&$5ɺ*/4&35ɺ61%"5&ɺ%&-&5& w -*.*5ɺ0''4&5ɺ+0*/ɺ*/ɺ03ɺ)"7*/( w ະରԠ w -*,&
  22. 22 $MPVE42-ɺ$MPVE'JSFTUPSFɺ$MPVE4QBOOFS w $MPVE42- w εέʔϧΞ΢τ͠ͳ͍ w ϝϯςφϯεʹΑΔ࠶ىಈ͕(PPHMF౎߹Ͱ਺ϲ݄ʹ౓ൃੜ͢Δ w ։ൃ؀ڥ.Z42-ΛࣗલͰཱͯΔ

    w $MPVE'JSFTUPSF OBUJWFNPEF EBUBTUPSFNPEF  w Ϣʔβࢦఆ࣌ࠁͷόοΫΞοϓػೳ͕ͳ͍ w ॴఆ࣌ࠁ΁ͷϩʔϧόοΫ͕Ͱ͖ͳ͍ͱۚ༥Ͱ͸ར༻͕೉͍͠ w ։ൃ؀ڥΤϛϡϨʔλ͋Γ w $MPVE4QBOOFS w εέʔΞ΢ϧτ͢Δ w ϝϯςφϯεʹΑΔ࠶ىಈ͸ͳ͍ w Ϣʔβࢦఆ࣌ࠁͷόοΫΞοϓػೳ͕͋Δ w ϊʔυ՝ۚͷͨΊݸਓαʔϏεͰ͸ར༻ͮ͠Β͍ w ݄࠷௿ສɺϓϩμΫτͰ͸ϊʔυͷ৑௕ߏ੒Ͱສ w ։ൃ؀ڥΤϛϡϨʔλ͕ͳ͍ w
  23. 23 $MPVE4QBOOFSPO"QQ&OHJOF(P74$MPVE42-BOEEBUBTUPSF w $MPVE4QBOFOS74$MPVE42- w Ձ֨໘ͱ.Z42-ͷػೳΛϑϧʹ࢖͍͍ͨ৔߹Ҏ֎Ͱ$MPVE42-Λར༻͢Δཧ༝͸  w ػೳ͕ෆ଍͍ͯͯ͠΋ӡ༻ෆՄ͕Լ͕Δ΄͏Λબͼ͍͔ͨͲ͏͔࣍ୈ w

    $MPVE4QBOOFS74EBUBTUPSF w EBUBTUPSF͸,74ͳͷͰ.Z42-͔ΒͷҠߦ͸EBUBTUPSFͷํ͕େม w 4QBOOFS͸ଟগϊ΢ϋ΢͕ඞཁͳͷͰɺEBUBTUPSFͷํ͕ར༻͸༰қ w Ձ֨໘͸αʔϏεن໛࣍ୈ
  24. 24 $MPVE4QBOOFSPO"QQ&OHJOF(P w TUHFOͰ͸ɺBQQFOHJOFDPOUFYUͱ$MPVE4QBOOFSͷηογϣϯͷ౎߹Ͱར༻ෆՄ w OEHFOͰ͸ར༻Ͱ͖ΔΑ͏ʹͳͬͨ w Πϯελϯεىಈ࣌ʹ4QBOOFSͷηογϣϯΛషͬͨΫϥΠΞϯτΛੜ੒ w ϦΫΤετ͝ͱʹ࡞੒ͨ͠4QBOOFSΫϥΠΞϯτΛར༻͢Δ

    w ࣮૷Ͱ"QQ&OHJOFಛ༗ͷۤ࿑ͱ͍͏ͷ͸ͳ͍
  25. 25 .Z42-͔Β$MPVE4QBOOFS΁ͷҠߦ࣮ࡍʹࠔͬͨ͜ͱ w ରԠ͍ͯ͠Δܕ͕গͳ͍ w JOU͕ଘࡏ͠ͳ͍ w 1SPUPDPM#V⒎FSTͷFOVN͸JOUͳͷͰɺJOU΁ͷΩϟετ͕ඞཁ w ߏ଄ମ͸อଘͰ͖ͳ͍

    w %FDJNBMߏ଄ମΛอଘ͍͕ͨ͠खஈ͕ͳ͍ w ਺஋ΛTUSJOHʹ͢Δ͔ɺߏ଄ମͷཁૉΛ෼ղͯ͠ΧϥϜʹೖΕΔ͔͠ͳ͍ w */&5@/50"ͳͲ͕ͳ͍ w 4&-&$5*/&5@/50" JQ@BEESFTT '30.UBCMF͕࣮ߦͰ͖ͳ͍ w ఘΊͨ
  26. 26 .Z42-͔Β$MPVE4QBOOFS΁ͷҠߦΞʔΩςΫνϟ w σʔλϕʔεͷ౎߹͕ΞϓϦέʔγϣϯ૚υϝΠϯ૚ʹӨڹΛ༩͑ͳ͍Α͏࣮૷͢Δ w υϝΠϯͱ%#ͷςʔϒϧߏ଄Λผߏ଄ମͰఆٛ w ΞϓϦέʔγϣϯ૚͔Β͸3FQPTJUPSZΛܦ༝ͯ͠$36%Λ࣮ߦ͢Δɻ w υϝΠϯΛ౉ͯ͠ɺ%#ͷςʔϒϧͷߏ଄ମ΁ม׵

    QBDLBHFSFQPTJUPSZ UZQF6TFSJOUFSGBDF\  (FU#Z5ZQF DUYDPOUFYU$POUFYU UYEC3FBE5SBOTBDUJPO UQC5ZQF  EPNBJO6TFS FSSPS  ^ QBDLBHFEPNBJO UZQF6TFSTUSVDU\ *%TUSJOH 5ZQFQC5ZQFJOU ^ QBDLBHFJOGSB UZQF6TFSTUSVDU\ *%TUSJOH 5ZQFJOU ^
  27. 27 .Z42-͔Β$MPVE4QBOOFS΁ͷҠߦΞʔΩςΫνϟ w σʔλϕʔεͷ౎߹͕ΞϓϦέʔγϣϯ૚υϝΠϯ૚ʹӨڹΛ༩͑ͳ͍Α͏࣮૷͢Δ w ΞϓϦέʔγϣϯ૚ͷτϥϯβΫγϣϯ΋4QBOOFSʹґଘ͠ͳ͍Α͏ந৅Խ w 4QBOOFSʹ͸3FBE0OMZ5SBOTBDUJPO͕ଘࡏ w ந৅Խͯ͠ར༻͢Δ͜ͱΑΓ΋ɺҠߦ͢Δͱ͖ʹ͢΂ͯ௚͢ίετͷํ͕௿͍

    Մೳੑ΋ߟྀͯ͠νʔϜͰ૬ஊɻ UZQF6TFSJOUFSGBDF\  (FU DUYDPOUFYU$POUFYU UYEC3FBE5SBOTBDUJPO V*%TUSJOH  EPNBJO6TFS FSSPS  ^ UZQF6TFSJOUFSGBDF\  (FU DUYDPOUFYU$POUFYU UYTQBOOFS3FBE5SBOTBDUJPO V*%TUSJOH  EPNBJO6TFS FSSPS  ^
  28. 28 .Z42-͔Β$MPVE4QBOOFS΁ͷҠߦΞʔΩςΫνϟ w 3FBE8SJUF5SBOTBDUJPO JG@ FSSTQBOOFS3FBE8SJUF5SBOTBDUJPO DUY GVOD DUYDPOUFYU$POUFYU UYTQBOOFS3FBE8SJUF5SBOTBDUJPO

    FSSPS\   V FSSSFQPT6TFS(FU DUY UY *% JG@ FSSEC3FBE8SJUF5SBOTBDUJPO DUY GVOD DUYDPOUFYU$POUFYU UYEC3FBE8SJUF5SBOTBDUJPO FSSPS\   V FSSSFQPT6TFS(FU DUY UY *% w 3FBE0OMZ5SBOTBDUJPO UYTQBOOFS3FBE0OMZ5SBOTBDUJPO  V FSSSFQPT6TFS(FU DUY UY *% UYEC3FBE0OMZ5SBOTBDUJPO .Z42-ʹ͸3FBE0OMZ5SBOTBDUJPO͸ͳ͍͕ʜ V FSSSFQPT6TFS(FU DUY UY *%
  29. 29 .Z42-͔Β$MPVE4QBOOFS΁ͷҠߦ࣮ࡍʹࠔͬͨ͜ͱ w ΫΤϦʔύϥϝʔλͷࢦఆ w JOUFSGBDF\^ܕͳͷͰ࣮ߦ࣌Τϥʔ͕Α͘ى͖Δ w ίϯύΠϧ࣌ʹؾ͕͚ͭͳ͍ GVOD S

    SFQP (FU%PNBJO" DUYDPOUFYU$POUFYU *%JOU  EPNBJO%PNBJO" FSSPS \  TUNUTQBOOFS4UBUFNFOU\   42-GNU4QSJOUG 4&-&$5 '30.UBCMF"8)&3&*%!*%z    1BSBNTNBQ<TUSJOH>JOUFSGBDF\^\ Ҿ਺͸JOUɺςʔϒϧͷ*%͸JOUͰ࣮ߦ࣌ʹΤϥʔ    *%*%    ^   ^
  30. 30 .Z42-͔Β$MPVE4QBOOFS΁ͷҠߦ࣮ࡍʹࠔͬͨ͜ͱղܾࡦ w ΫΤϦʔύϥϝʔλͷࢦఆ w ύϥϝʔλ͸ඞͣ%#ͷςʔϒϧͷܕΛܦ༝ͯ͠౉͢ UZQF%PNBJO"&OUJUZTUSVDU\ *%JOU /BNFTUSJOH ^

    GVOD S SFQP (FU%PNBJO" DUYDPOUFYU$POUFYU *% JOU  EPNBJO%PNBJO" FSSPS \  QBSBNT%PNBJO"&OUJUZ\   *%JOU JE   ^  TUNUTQBOOFS4UBUFNFOU\   42-GNU4QSJOUG 4&-&$5 '30.UBCMF"8)&3&*%!1BSBNT*%z    1BSBNTNBQ<TUSJOH>JOUFSGBDF\^\    1BSBNTQBSBNT    ^   ^
  31. 31 .Z42-͔Β$MPVE4QBOOFS΁ͷҠߦศརͩͬͨ͜ͱ w */ͱ6//&45 w TMJDFΛ6//&45͢Δ͜ͱͰ*/ʹ౉ͤΔ w .Z42-ͷͱ͖ͷ*/͸ར༻͢ΔϥΠϒϥϦґଘͩͬͨ GVOD S

    SFQP (FU#Z/BNFT DUYDPOUFYU$POUFYU OBNFT<>TUSJOH  <> EPNBJO%PNBJO" FSSPS \  TUNUTQBOOFS4UBUFNFOU\   42-GNU4QSJOUG 4&-&$5 '30.UBCMF"8)&3&OBNF*/6//&45 !OBNFT     1BSBNTNBQ<TUSJOH>JOUFSGBDF\^\    OBNFTOBNFT    ^   ^ ུ ^
  32. 32 .Z42-͔Β$MPVE4QBOOFS΁ͷҠߦศརͩͬͨ͜ͱ w NVUBUJPO w ෳ਺ͷΫΤϦʔͷNVUBUJPOΛ࡞੒ͯ͠ಉ࣌ʹ࣮ߦ͢Δ͜ͱ͕Մೳ w ίʔυ্ͰτϥϯβΫγϣϯΛషͬͯɺͭͷΫΤϦʔ͕ࣦഊͨ͠ΒϩʔϧόοΫͱ ͍͏͜ͱΛදݱ͠ͳͯ͘Α͍ GVOD

    S SFQP 6QEBUF DUYDPOUFYU$POUFYU UYTQBOOFSVUJM8SJUF5SBOTBDUJPO E EPNBJO%PNBJO" FSSPS\  F/FX&OUJUZ E   N FSSTQBOOFS6QEBUF4USVDU F5BCMF/BNF F   MPH΋ಉ࣌ʹ࡞੒  MFF-PH   MN FSSTQBOOFS*OTFSU4USVDU MF5BCMF/BNF MF   JGFSSUY#V⒎FS8SJUF <> TQBOOFS.VUBUJPO\N MN^ FSSOJM\   SFUVSOFSSPST8SBQ FSS FSSUBH&SSPS5BH   ^
  33. 33 .Z42-͔Β$MPVE4QBOOFS΁ͷҠߦศརͩͬͨ͜ͱ w (PͷຒΊࠐΈʹରԠ͍ͯ͠Δ w ҎԼͷ%PNBJO"&OUJUZΛ*OTFSU͢Δ͜ͱ͕Մೳ UZQF%PNBJO"&OUJUZTUSVDU\ *%TUSJOH  %PNBJO#&OUJUZ

    ^ UZQF%PNBJO#&OUJUZTUSVDU\ *%TUSJOH /BNFTUSJOH ^
  34. • ͸͡Ίʹ • GAEͷۙ೥ͷಈ͖ͱ2nd-gen • GAEͱGKE • Cloud Spannerͷར༻ɺCloud SQL͔ΒͷҠߦ

    • એ఻
  35. 35 ຊ౰ʹ࢖͍͍ͨͷ͸(31$ w ࢖͍͍ͨͷ͸*%- *OUFSGBDF%FTDSJQUJPO-BOHVBHF  w ΋ͦ͠͏ͳΒͦΕ͸(31$Ͱ͸ͳ͘1SPUPDPM#V⒎FST w QSPUPDHFOHPIUUQ

    w (FOFSBUFl1SPUPDPM#V⒎FST31$PO)551z$PEF*OTUFBEPG+40/31$ w IUUQTOBNFUBLFHJUIVCJPQPTUTQSPUPDHFOHPIUUQ w 4VQQPSUPOMZ1045NFUIPE w 8BJUUPTVQQPSUPQUJPO HPPHMFBQJIUUQ 1VMM3FRVFTU w 4VQQPSU1SPUPDPM#V⒎FSTBOE+40/ w 1PTTJCMFUPVTF1SPUPDPM#V⒎FST31$PO)551PO"QQ&OHJOF w 3FqFDUWFSTJPO w $VSSFOUMZOPU044 w 4VQQPSU1045#PEZ 1045'PSN7BMVF (&52VFSZ4USJOH
  36. 36 $**NBHF w %PDLFS*NBHFGPSUIF(PPHMF"QQ&OHJOF(PFOWJSPONFOUTFDPOEHFOFSBUJPO w IUUQTHJUIVCDPNHDQVHEPDLFSBQQFOHJOFHP

  37. 37 OEHFO΁ͷҠߦͷαϯϓϧίʔυ w IUUQTHJUIVCDPNTPOBUBSEBQQFOHJOFHPTBNQMF

  38. 38 3FGFSFODF w "QQ&OHJOF(P w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEBQQFOHJOFHFOFSBUJPO w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEHPHPEJ⒎FSFODFT w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEHPSVOUJNF

    w ೝূͷҠߦઌ w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEHPBVUIFOUJDBUJOHVTFST w ΠϯετʔϧࡁΈύοέʔδ w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEHPSFGFSFODFTZTUFNQBDLBHFT w H7JTSP w IUUQTEPDTHPPHMFDPNQSFTFOUBUJPOEUSY[@LT3Z)EKD"(7,JZHUYR"&9C[-SB#%FEJUTMJEFJEQ w IUUQTHJUIVCDPNHPPHMFHWJTPS w ͱ͸EFQSFDBUFE w IUUQTHSPVQTHPPHMFDPNGPSVNUPQJDHPPHMFBQQFOHJOFHPFP1/PNEBL w αϯϓϧίʔυ w IUUQTHJUIVCDPN(PPHMF$MPVE1MBUGPSNHPMBOHTBNQMFT w $MPVEUBTLT w IUUQTDMPVEHPPHMFDPNUBTLTEPDTNJHSBUJOH IMFO w IUUQTHJUIVCDPN(PPHMF$MPVE1MBUGPSNHPPHMFDMPVEHPUSFFNBTUFSDMPVEUBTLTBQJWCFUB w $MPVOE'VODUJPOTBMQIB w IUUQTUXJUUFSDPNCSPBEZTUBUVT w (PPHMF"QQ&OHJOFੈ୅ަ୅ w IUUQTEPDTHPPHMFDPNQSFTFOUBUJPOEUSY[@LT3Z)EKD"(7,JZHUYR"&9C[-SB#%FEJUTMJEFJEQ w 4UBDLESJWFS1SPpMFS w IUUQTDMPVEHPPHMFDPNQSPpMFSEPDTQSPpMJOHHP