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
660
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
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
Agile PBL at New Grads Trainings
kawaguti
PRO
1
390
研究開発と製品開発、両利きのロボティクス
youtalk
1
510
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
680
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
340
AWSで推進するデータマネジメント
kawanago
1
1.3k
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
440
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
100
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
1
200
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
460
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
230
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
300
BPaaSにおける人と協働する前提のAIエージェント-AWS登壇資料
kentarofujii
0
130
Featured
See All Featured
For a Future-Friendly Web
brad_frost
180
9.9k
How STYLIGHT went responsive
nonsquared
100
5.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Become a Pro
speakerdeck
PRO
29
5.5k
The Language of Interfaces
destraynor
161
25k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Site-Speed That Sticks
csswizardry
10
810
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Statistics for Hackers
jakevdp
799
220k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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