Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google Cloud Next 2019 わくわく報告会 / Google Cloud N...
Search
Masahiro Wakame
April 17, 2019
Technology
1
430
Google Cloud Next 2019 わくわく報告会 / Google Cloud Next 2019 WakuWaku Report
https://mercaridev.connpass.com/event/125881/
Masahiro Wakame
April 17, 2019
Tweet
Share
More Decks by Masahiro Wakame
See All by Masahiro Wakame
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
650
DatastoreからSpannerに 移行したいぞ途中編 / migrate Datastore to Spanner in progress
vvakame
0
1.1k
メルカリ社員100人に聞いたGoLandの使い方 / JetBrains Night Tokyo 2018
vvakame
27
13k
OSS入門 世界に参加する最初のひと押し / OSS first step
vvakame
7
730
GCP Compute 概要と選定 / DevFest Tokyo 2018
vvakame
12
1.6k
GoでGraphQLサーバを立てるぞ! / Building GraphQL server by go
vvakame
15
4.8k
『Re:VIEW+CSS組版やっていき』を やった話とWebエンジニアが期待する未来 / CSS Publishinng for Web Developers
vvakame
3
8.9k
go.mercari.io/datastore はいいぞ! / go.mercari.io/datastore is pretty good!
vvakame
4
1.1k
最強のDatastoreライブラリを作った / golang.tokyo #11
vvakame
3
10k
Other Decks in Technology
See All in Technology
Claude CodeでKiroの仕様駆動開発を実現させるには...
gotalab555
3
910
Agent Development Kitで始める生成 AI エージェント実践開発
danishi
0
130
AWS re:Inforce 2025 re:Cap Update Pickup & AWS Control Tower の運用における考慮ポイント
htan
1
210
마라톤 끝의 단거리 스퍼트: 2025년의 AI
inureyes
PRO
1
690
SRE新規立ち上げ! Hubbleインフラのこれまでと展望
katsuya0515
0
170
【新卒研修資料】数理最適化 / Mathematical Optimization
brainpadpr
25
12k
AIのグローバルトレンド 2025 / ai global trend 2025
kyonmm
PRO
1
120
LLMでAI-OCR、実際どうなの? / llm_ai_ocr_layerx_bet_ai_day_lt
sbrf248
0
430
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
5
1.6k
UDDのススメ - 拡張版 -
maguroalternative
1
110
家族の思い出を形にする 〜 1秒動画の生成を支えるインフラアーキテクチャ
ojima_h
1
540
JAWS AI/ML #30 AI コーディング IDE "Kiro" を触ってみよう
inariku
3
310
Featured
See All Featured
Speed Design
sergeychernyshev
32
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Faster Mobile Websites
deanohume
308
31k
Statistics for Hackers
jakevdp
799
220k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Designing Experiences People Love
moore
142
24k
Transcript
Google Cloud Next 2019 Θ͍Θ͍ใࠂձ In Mercari Θ͔Ί ·͞ͻΖ
Θ͔Ί ·͞ͻΖ @v vakame Masahiro Wakame Go GraphQL TypeScript AppEngine
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 ࠓʂʂ ·ͩ࣌ࠩϘέͯΔ
ࠓճͷײ (1/3) •ΞϓϦدΓ։ൃऀతʹNOT FUN •※ AppEngine/SE ͳਓؒͰ͢ •Anthosʹ࢝·ΓEnterpriseܥͷଟ͠ •Google͕CloudࢢຊؾͰऔΓʹདྷͨײ
ࠓճͷײ (2/3) •Kubernetes͔Βಀ͛ΒΕͳ͍…ʂ •͋Δఔ֮ޛܾΊΔඞཁ͕͋Γͦ͏ •͋ͱ1-2ఔಀ͛ΒΕΔؾ͢Δ •ฐࣾʹSREνʔϜ͕ډͯΑ͔ͬͨ
ࠓճͷײ (3/3) •Kubernetesͷcluester࠶࡞͔Β… •ಀΕͳ͍֮ޛΛͨ͠΄͏͕ͤʁ •Traffic Director… Istio… etc?
ࠓճͷײ (4/3) •AppEngineࢮͳΜ͞…ʂ •Cloud Run ͍͢͝Αͦ͞͏Ͱ͢Ͷ •2nd genͷҙຯ߹͍มΘ͖ͬͯͨ •ͬͯࢠݘࣂͬͯΔແ৬͕ݴͬͯͨ
Spanner Internals ࠓͷຊͰ͢ https://gist.github.com/vvakame/fd8e3e7b0ee430e9e62e83a500fd355f
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
Spannerͱʁ •Relational DBͱಉ͡semantics •Schemas, ACID, Transactions, SQL •Horizontal Scale •Scale
out Ͱ͖Δʂ •MySQLͱ͔Ͱ͖ͳ͍…
Ͳ͏ͬͯʁ •PaxosΞϧΰϦζϜ •ࢄ߹ҙͷͨΊͷϓϩτίϧ •͙͙Εʂ(Θ͔Δ͚ͲΘ͔Βͳ͍ •TrueTime API •TxOpsͷॱং͚͕Մೳʹ
TrueTime? https://youtu.be/nvlt0dA7rsQ?t=860
TrueTime? •࠷৽ͷߏͷհ •1ϥοΫʹ4αʔό •2αʔό → GPSΛͬͨ࣌ࠁಉظ •2αʔό → ݪࢠ࣌ܭΛͬͨ࣌ࠁಉظ •2ͭͷݪࢠ࣌ܭͷϒϥϯυ͚Δ
TrueTime? •TrueTimeΛ͏ͱૢ࡞ͷॱ൪͕Ұҙʹ •௨৴ແ͠ʹͰ͖Δ͜ͱଟ͍ •ৄ͙͙͘͠Εʂ
Read, Write https://youtu.be/nvlt0dA7rsQ?t=977
ࢼ࡞൛Spanner •3-4ݸ͘Β͍ࢼ࡞Λ࡞ͬͨΒ͍͠ •2-3͔͔ͬͨ •৭ʑͳϛεΛͨ͠… •࠶ؼతͳσΟϨΫτϦͷαϙʔτͱ͔ •࣌ؒܦաͰղܾ͠Α͏ͱͨ͠Γͱ͔
ϑΝΠϧγεςϜͷ •ColossusͱBigtable্ʹߏங •File Systemͱಠཱ͍ͯ͠Δ •ϑΝΠϧཧHot spotΓ͠ ͯߟ͑Δ͜ͱ͕Ͱ͖ΔΒ͍͠ SpannerʹHot spot͕ͳ͍Θ͚Ͱͳ͍
҆ఆੑͷʁ •ׂͱΈΜͳΑ͘ಈ͘ •TrueTime৺Λਧ͖ඈͨ͠ •PaxosૉʹΑ͘ಈ͘ •CAPఆཧ •͋Δ͚Ͳਓੜͷେ͏·͍͘͘
ConsistencyͷͭΒΈ •Eventual consitencyਏ͘ͳ͍ʁ •Strong consistencyਓੜ͕๛͔ʹͳΔ •͋ʔͦΕΊͬͪΌΘʔ͔ʔΔʔ •୯७ʹߟ͑Δ͜ͱ͕ݮΔ •ίʔυॻ͘ྔݮΔ
SQL͍͍ΑͶ… •ॊೈ •ܕ͕͋Δʂ •ͬͺΓSchema͕͋Δͷͬͯਆͳ
୭͕ͬͯΔͷ •Merpay͕ͬͯΔΑʂ •…ஔ͍ͱ͍ͯ •Google͕ΨϯΨϯͬͯΔΑʂ •දࣄྫͱͯ͠GCSͰͷ͕ΨοπϦ
Googleͱಉ͡ͷʁ •͍͍ͩͨಉ͡ •ಉ͡Πϯϑϥ… •ಉ͡όΠφϦ…
Googleͱಉ͡ͷʁ •ҟͳΔ •ΞΫηεύε •ηΩϡϦςΟ, ίϯϓϥ •༻ޠ • Cloud Spanner nodes
→ ɹSpanner Servers • Cloud Spanner instance configurations → ɹSpanner configurations
GCSͷ •GCSͷmetadataͷཧͯ͢Spanner •SpannerʹΑΔϝϦοτͷͨ͘͞Μ •Multi regionͳҰ؏ੑ •Strongly consistent listings
GCSͷ https://youtu.be/zy-rcR4MoN4?t=604
GCSͷ https://youtu.be/zy-rcR4MoN4?t=834
GCSͷ https://youtu.be/zy-rcR4MoN4?t=1936
མͪึर͍ •Spannerͷྺ࢙ https://youtu.be/nvlt0dA7rsQ?t=1601
References •https://bit.ly/2KLGqIB •https://bit.ly/2wvMFWt •http://bit.ly/2vaskps •http://bit.ly/2IDjgl0