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
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
1
730
kaigi_on_rails_2025_設計.pdf
nay3
8
4.1k
WebアプリケーションのUI構築で気を付けてるポイント
tomokusaba
0
190
Railsアプリケーション開発者のためのブックガイド
takahashim
12
5.2k
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
240
2重リクエスト完全攻略HANDBOOK / Double Request Handbook
shoheimitani
5
7.2k
KAGのLT会 #8 - 東京リージョンでGAしたAmazon Q in QuickSightを使って、報告用の資料を作ってみた
0air
0
180
PyCon JP 2025 DAY1 「Hello, satellite data! ~Pythonではじめる衛星データ解析~」
ra0kley
0
740
SOC2取得の全体像
shonansurvivors
1
340
PLaMo2シリーズのvLLM実装 / PFN LLM セミナー
pfn
PRO
2
800
AI×Data×SaaS×Operation
sansantech
PRO
0
110
Deep Research と NotebookLM を使い倒す!レガシーリプレイスの技術選定と学習コスト削減術
tet0h
0
2.8k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
The Cult of Friendly URLs
andyhume
79
6.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Thoughts on Productivity
jonyablonski
70
4.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
GitHub's CSS Performance
jonrohan
1032
460k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Practical Orchestrator
shlominoach
190
11k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
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