$30 off During Our Annual Pro Sale. View Details »

Google Cloud Next 2019 わくわく報告会 / Google Cloud Next 2019 WakuWaku Report

Google Cloud Next 2019 わくわく報告会 / Google Cloud Next 2019 WakuWaku Report

Masahiro Wakame

April 17, 2019
Tweet

More Decks by Masahiro Wakame

Other Decks in Technology

Transcript

  1. Google Cloud Next 2019
    Θ͍Θ͍ใࠂձ
    In Mercari
    Θ͔Ί ·͞ͻΖ

    View Slide

  2. Θ͔Ί ·͞ͻΖ @v vakame
    Masahiro Wakame
    Go
    GraphQL
    TypeScript
    AppEngine

    View Slide

  3. US ڧߦ܉
    •04/06 from HND to SFO
    •04/09-11 Cloud Next
    •04/11-12 from SFO to HDN
    •04/14 ٕज़ॻయ6 (27Kmา͍ͨ)
    •04/17 ࠓ೔ʂʂ ·ͩ࣌ࠩϘέͯΔ

    View Slide

  4. ࠓճͷײ૝ (1/3)
    •ΞϓϦدΓ։ൃऀతʹ͸NOT FUN
    •※ AppEngine/SE ͳਓؒͰ͢
    •Anthosʹ࢝·ΓEnterpriseܥͷ࿩୊ଟ͠
    •Google͕Cloudࢢ৔ຊؾͰऔΓʹདྷͨײ

    View Slide

  5. ࠓճͷײ૝ (2/3)
    •Kubernetes͔Β͸ಀ͛ΒΕͳ͍…ʂ
    •͋Δఔ౓֮ޛܾΊΔඞཁ͕͋Γͦ͏
    •͋ͱ1-2೥ఔ౓͸ಀ͛ΒΕΔؾ΋͢Δ
    •ฐࣾʹ͸SREνʔϜ͕ډͯΑ͔ͬͨ

    View Slide

  6. ࠓճͷײ૝ (3/3)
    •Kubernetesͷcluester࠶࡞੒͔Β΋…
    •ಀΕͳ͍֮ޛΛͨ͠΄͏͕޾ͤʁ
    •Traffic Director… Istio… etc?

    View Slide

  7. ࠓճͷײ૝ (4/3)
    •AppEngine͸ࢮͳΜ͞…ʂ
    •Cloud Run ͍͢͝Αͦ͞͏Ͱ͢Ͷ
    •2nd genͷҙຯ߹͍มΘ͖ͬͯͨ
    •ͬͯࢠݘࣂͬͯΔແ৬͕ݴͬͯͨ

    View Slide

  8. Spanner Internals
    ࠓ೔ͷຊ୊Ͱ͢
    https://gist.github.com/vvakame/fd8e3e7b0ee430e9e62e83a500fd355f

    View Slide

  9. Spanner Internals Part 1: What Makes Spanner Tick?
    Spanner Internals Part 2: How GCP Builds Global Meta-Data and
    Scalable Data Backends on Spanner
    ࠷ۙɺࣾͰSpanner͕
    ϗοτͩͬͨͷͰ…
    https://cloud.withgoogle.com/next/sf/sessions?session=DBS304
    https://cloud.withgoogle.com/next/sf/sessions?session=DBS306

    View Slide

  10. Spannerͱ͸ʁ
    •Relational DBͱಉ͡semantics
    •Schemas, ACID, Transactions, SQL
    •Horizontal Scale
    •Scale out Ͱ͖Δʂ
    •MySQLͱ͔͸Ͱ͖ͳ͍…

    View Slide

  11. Ͳ͏΍ͬͯʁ
    •PaxosΞϧΰϦζϜ
    •෼ࢄ߹ҙͷͨΊͷϓϩτίϧ
    •͙͙Εʂ(Θ͔Δ͚ͲΘ͔Βͳ͍
    •TrueTime API
    •TxOpsͷॱং෇͚͕Մೳʹ

    View Slide

  12. TrueTime?
    https://youtu.be/nvlt0dA7rsQ?t=860

    View Slide

  13. TrueTime?
    •࠷৽ͷߏ੒ͷ঺հ
    •1ϥοΫʹ4αʔό
    •2αʔό → GPSΛ࢖ͬͨ࣌ࠁಉظ
    •2αʔό → ݪࢠ࣌ܭΛ࢖ͬͨ࣌ࠁಉظ
    •2ͭͷݪࢠ࣌ܭͷϒϥϯυ͸෼͚Δ

    View Slide

  14. TrueTime?
    •TrueTimeΛ࢖͏ͱૢ࡞ͷॱ൪͕Ұҙʹ
    •௨৴ແ͠ʹͰ͖Δ͜ͱ΋ଟ͍
    •ৄ͘͠͸͙͙Εʂ

    View Slide

  15. Read, Write
    https://youtu.be/nvlt0dA7rsQ?t=977

    View Slide

  16. ࢼ࡞൛Spanner
    •3-4ݸ͘Β͍ࢼ࡞Λ࡞ͬͨΒ͍͠
    •2-3೥͔͔ͬͨ
    •৭ʑͳϛεΛͨ͠…
    •࠶ؼతͳσΟϨΫτϦͷαϙʔτͱ͔
    •࣌ؒܦաͰղܾ͠Α͏ͱͨ͠Γͱ͔

    View Slide

  17. ϑΝΠϧγεςϜͷ࿩
    •ColossusͱBigtable্ʹߏங
    •File Systemͱಠཱ͍ͯ͠Δ
    •ϑΝΠϧ؅ཧ΍Hot spot໰୊͸੾Γ཭͠
    ͯߟ͑Δ͜ͱ͕Ͱ͖ΔΒ͍͠
    SpannerʹHot spot໰୊͕ͳ͍Θ͚Ͱ͸ͳ͍

    View Slide

  18. ҆ఆੑͷ࿩ʁ
    •ׂͱΈΜͳΑ͘ಈ͘
    •TrueTime΋৺഑Λਧ͖ඈ͹ͨ͠
    •Paxos΋ૉ௚ʹΑ͘ಈ͘
    •CAPఆཧ
    •͋Δ͚Ͳਓੜͷେ൒͸͏·͍͘͘

    View Slide

  19. ConsistencyͷͭΒΈ
    •Eventual consitencyਏ͘ͳ͍ʁ
    •Strong consistency͸ਓੜ͕๛͔ʹͳΔ
    •͋ʔͦΕΊͬͪΌΘʔ͔ʔΔʔ
    •୯७ʹߟ͑Δ͜ͱ͕ݮΔ
    •ίʔυॻ͘ྔ΋ݮΔ

    View Slide

  20. SQL͍͍ΑͶ…
    •ॊೈ
    •ܕ͕͋Δʂ
    •΍ͬͺΓSchema͕͋Δͷͬͯਆ΍ͳ

    View Slide

  21. ୭͕࢖ͬͯΔͷ
    •Merpay͕࢖ͬͯΔΑʂ
    •…͸ஔ͍ͱ͍ͯ
    •Google͕ΨϯΨϯ࢖ͬͯΔΑʂ
    •୅දࣄྫͱͯ͠GCSͰͷ࿩͕ΨοπϦ

    View Slide

  22. Googleͱಉ͡΋ͷʁ
    •͍͍ͩͨಉ͡
    •ಉ͡Πϯϑϥ…
    •ಉ͡όΠφϦ…

    View Slide

  23. Googleͱಉ͡΋ͷʁ
    •ҟͳΔ
    •ΞΫηεύε
    •ηΩϡϦςΟ, ίϯϓϥ
    •༻ޠ
    • Cloud Spanner nodes →

    ɹSpanner Servers
    • Cloud Spanner instance configurations →

    ɹSpanner configurations

    View Slide

  24. GCSͷ࿩
    •GCSͷmetadataͷ؅ཧ͸͢΂ͯSpanner
    •SpannerʹΑΔϝϦοτͷ࿩ͨ͘͞Μ
    •Multi regionͳҰ؏ੑ
    •Strongly consistent listings

    View Slide

  25. GCSͷ࿩
    https://youtu.be/zy-rcR4MoN4?t=604

    View Slide

  26. GCSͷ࿩
    https://youtu.be/zy-rcR4MoN4?t=834

    View Slide

  27. GCSͷ࿩
    https://youtu.be/zy-rcR4MoN4?t=1936

    View Slide

  28. མͪึर͍
    •Spannerͷྺ࢙
    https://youtu.be/nvlt0dA7rsQ?t=1601

    View Slide

  29. References
    •https://bit.ly/2KLGqIB
    •https://bit.ly/2wvMFWt
    •http://bit.ly/2vaskps
    •http://bit.ly/2IDjgl0

    View Slide