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
670
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.7k
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
11k
Other Decks in Technology
See All in Technology
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
8.9k
事業開発におけるDify活用事例
kentarofujii
5
1.3k
難しいセキュリティ用語をわかりやすくしてみた
yuta3110
0
370
Wasmの気になる最新情報
askua
0
180
ヘンリー会社紹介資料(エンジニア向け) / company deck for engineer
henryofficial
0
320
生成AI時代のセキュアコーディングとDevSecOps
yuriemori
0
150
Building a cloud native business on open source
lizrice
0
170
AWS UG Grantでグローバル20名に選出されてre:Inventに行く話と、マルチクラウドセキュリティの教科書を執筆した話 / The Story of Being Selected for the AWS UG Grant to Attending re:Invent, and Writing a Multi-Cloud Security Textbook
yuj1osm
1
130
だいたい分かった気になる 『SREの知識地図』 / introduction-to-sre-knowledge-map-book
katsuhisa91
PRO
3
1.2k
AI時代におけるデータの重要性 ~データマネジメントの第一歩~
ryoichi_ota
0
710
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
From Natural Language to K8s Operations: The MCP Architecture and Practice of kubectl-ai
appleboy
0
110
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
Side Projects
sachag
455
43k
Practical Orchestrator
shlominoach
190
11k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Docker and Python
trallard
46
3.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Documentation Writing (for coders)
carmenintech
75
5.1k
Git: the NoSQL Database
bkeepers
PRO
431
66k
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