「GCPUG Shonan vol.31 Dogrun Extended」まとめ #gcpug #shonan

2018年9月22日(土)に開催された「GCPUG Shonan vol.31 Dogrun Extended」に関するツイートのまとめです。
1
リンク Qiita 今度こそ絶対あなたに理解させるPaxos - Qiita # Paxosとは何か 分散システムの金字塔とも呼ばれ、Leslie Lamport大先生の輝かしい成果の一つとして知られる分散合意アルゴリズムPaxos。 ## 既存の解説 実はすでに存在するPaxosの解説は充分に質が高い ... 191 users 57
リンク Qiita Spanner - Qiita これまで多くのトランザクションの要素技術を説明してきた。 Googleの公開している論文[Spanner: Google's Globally-Distributed Database](https://research.google... 56 users 6
みかん @ExistMikan

1.Spannerアーキテクチャ 構造:インスタンス/DB/Table 環境:1region3zone、zone内に多数のスプリット。スプリットのリーダがノード TrueTime:世界中のデータセンタでクロック間の想定エラー/ドリフト(ズレのこと)を定量化。GPS master/Atomoic masterがありComputeNodeがアクセス (続く) #gcpug

2018-09-22 14:55:04
しんめたる @sinmetal

Timeboundsでの読み取りって、メモリに乗ってんの!? #gcpug #shonan

2018-09-22 14:57:21
Jun Sakata @sakajunquality

スキーマ変更、結構気をつけないと #gcpug #shonan

2018-09-22 14:57:55
みかん @ExistMikan

1の続き [クエリのライフサイクル] ・一貫した読み取り ・TimestampBounds (steal) read の2種類。前者は待てといったリーダがいたら待つ。後者は(多分)そのあたりをカットしてフォロワーだけの判断でリターン(他ゾーンへ聞かないで返せる、から早い?) (続く) #gcpug #shonan

2018-09-22 14:59:00
しんめたる @sinmetal

GoのCloud Client Libraryは中でOpen Census を使用しています。github.com/GoogleCloudPla… なので、自分のアプリケーションで、Open Censusを利用すれば、SpannerのTxなどでどのぐらいの時間がかかったのかStackdriver Traceで確認できます。 #gcpug #shonan

2018-09-22 15:03:38
リンク GitHub GoogleCloudPlatform/google-cloud-go google-cloud-go - Google Cloud Client Libraries for Go 1 user 11
みかん @ExistMikan

1の続き [トランザクションとロッキング] ・単一スプリット書き込み ・複数のスプリット書き込み で分かれる。 登場人物はAPI Front End / Zone Master / スプリットリーダ / 他のレプリカ。会話パターンがいくつか。 細かくはちょっと分からず。ここまでがアーキテクチャ。 #gcpug #shonan

2018-09-22 15:03:50
しんめたる @sinmetal

Cloud Memorystoreは先日GAになりましたね! #gcpug #shonan

2018-09-22 15:12:16
みかん @ExistMikan

2.スキーマとワークロードの最適化 書き込み競合の回避方法 ・主キーインターリーブ 読み取り方法の回避方法 ・クエリ最適化インデックス スキーマ設計とライフサイクル ・オンラインスキーマの変更 アプリケーション設計 ・commitタイムスタンプ ・大型export/import ・Open Census #gcpug #spanner

2018-09-22 15:19:12
みかん @ExistMikan

3.マルチリージョン構成 ・大陸におけるマルチリージョン99.999 SLA ・グルーバルマルチリージョン マルチリージョン大陸 ・ウィットネスリージョン マルチリージョングローバル 書き込み & 整合性のある読み取り タイムスタンプバウンド読み取り #gcpug #shonan

2018-09-22 15:20:58
しんめたる @sinmetal

GCPのDBどれがよい?みたいなのは Database Options docs.google.com/presentation/d… もどうぞ! #gcpug #shonan

2018-09-22 15:20:59
リンク Google Docs GCP Database Options GCP Database Options GCPUG Admin Google Developers Expert Mercari / Merpay Solution Team @sinmetal
s.hiruta @web_se

19日の最後のセッションでも話されていました。Next SF の下記とほぼ同じのようです。 #gcpug youtube.com/watch?time_con… twitter.com/ExistMikan/sta…

2018-09-22 15:25:11
リンク YouTube Optimizing Applications, Schemas, and Query Design on Cloud Spanner (Cloud Next '18) Cloud Spanner is a powerful product, but many users do not maximize its benefits. This talk highlights best practices, strategies for optimizing applications... 4
みかん @ExistMikan

Spannderではインデックスもテーブルなので、データが増加したときは同じ様にスプリットが出来る。 なので通常のスキーマ設定と同じ様に、ホットスポットが出来ないようにインデックスを貼る必要がある。 #gcpug #shonan

2018-09-22 15:30:46
みかん @ExistMikan

Q:テーブルに紐づくインデックステーブルって同じスプリットにある? A:グローバルインデックスは関係なく分散される。インターリーブインデックスというものも作れて、それなら同じスプリットに行く。 #gcpug #shonan

2018-09-22 15:32:49
みかん @ExistMikan

インターリーブは物理的に同じ場所にデータを配置する設定。なので基本貼れば早くなるけど、設計は難しくなる。(後から解除できなかったりとかあるし、n対nの関係の時どうする、とかがある) #gcpug #shonan

2018-09-22 15:35:10
みかん @ExistMikan

Q:セカンダリインデックスが沢山貼られているテーブルに書き込んだ時、CPU使用率も上がるのか? A:1個から数百個程度では変わらない。0か1かでは差がある。速度も同じような話。spannerの気持ち(後ろにpaxosグループうんぬん)になって考えるとわかりやすい。 #gcpug #shonan

2018-09-22 15:40:05