SlideShare a Scribd company logo
http://gcpug.jp
CloudSQL v2はデキる子なのか?
熊野 良(Ryo Kumano)
GCPUG Fukuoka 3rd (2016/01/16)
http://gcpug.jp
熊野 良 (Ryo Kumano)
2014/06 〜 グルーヴノーツ入社
- 肩書きは 「インフラエンジニア・データベースエンジニア」
- GCP上で稼動している自社サービスのインフラ設計・構築・運用を担当
- 2015/08 〜 東京->福岡に移住
過去に携わった業務
- 国内大手B2Cサイトのインフラ設計・構築・運用・DB設計・チューニング
- 商用RDBMSの製品サポート
など
自己紹介
http://gcpug.jp
Google Cloud SQL
使ってますか??
ところで…
http://gcpug.jp
知ってた。
A. ほとんど使ってない
http://gcpug.jp
- Google Cloud SQLとは
- 利用するメリット
- サービス利用時の構成
- 陽が当たらないのは何故?
- Cloud SQL 第2世代(Second Generation)
Agenda
http://gcpug.jp
フルマネージド リレーショナル MySQL データサービス
(https://cloud.google.com/sql/?hl=ja より)
- MySQLの構築から運用までを実現してくれる
- 流行り?のサーバーレス
- MySQL 5.5/5.6 を Googleがカスタマイズ
Google Cloud SQL とは
http://gcpug.jp
- データベース業務の軽減
- 物理設計・物理構築の工数軽減
- 監視・運用業務の軽減
- MySQLと同じ感覚で開発・利用
- コード資産の再利用可能
- 既存のノウハウを活かせる(情報が多い)
- IPアドレスベースでアクセス可否を設定
- GCEからのアクセス (GCPを跨いだアクセスもOK)
- オンプレミス環境や自分の端末からもアクセス可能
利用するメリット
http://gcpug.jp
利用するメリット - データベース業務の軽減 -
要件定義 論理設計 物理設計 監視設計 物理構築 監視設定 論理構築 運用
要件定義 論理設計
物
理
設
計
論理構築
運用物
理
構
築
オンプレミス・VM環境でのDB業務
Cloud SQL を利用した場合のDB業務
浮いた業務時間で
寿司が食える!!
http://gcpug.jp
サービス利用時の構成
http://gcpug.jp
:::::::: ┌──────────────── ┐
:::::::: | Cloud SQLがやられたようだな… │
::::: ┌───└───────────v────┬┘
::::: |フフフ…奴はGCPの中でも最弱 … │
┌──└────────v─┬─────────┘
| R○Sごときに負けるとは │
| GCPの面汚しよ │
└────v────────┘
|ミ, / `ヽ /! ,.──、
|彡/二Oニニ|ノ /三三三!, |!
`,' \、、_,|/-ャ ト `=j r=レ /ミ !彡
T 爪| / / ̄|/´__,ャ |`三三‐/ |`=、|,='|
/人 ヽ ミ='/|`:::::::/イ__ ト`ー く__,-, 、 _!_ /
/ `ー─'" |_,.イ、 | |/、 Y /| | | j / ミ`┴'彡\
GAE BigQuery GCE
陽が当たらないのは何故?
http://gcpug.jp
イケてない理由その1:
パフォーマンス(qps)が悪いからなのでは?
陽が当たらないのは何故か? - 理由その1 -
CloudSQLとVMにinstallしたMySQL
(5.6.28 Community Server) とのベンチマーク
比較。
ベンチマークテスト手順は
http://qiita.com/kumanoryo/items/ba9adb3f1
fd2c26f948e
の内容を使用。
http://gcpug.jp
イケてない理由その2:
料金体系や制限が解り辛いからなのでは?
陽が当たらないのは何故か? - 理由その2 -
http://gcpug.jp
イケてない理由その3:
Cloud SQLがSPOFとなるからなのでは?
陽が当たらないのは何故か? - 理由その3 -
http://gcpug.jp
Cloud SQLの運用をやめて
GCEにMySQLをHA構成で構築するのが安定するよね、という運用になる。
陽が当たらないのは何故か? - 結局のところ -
http://gcpug.jp
殺 伐 と し た ス レ に Oracle Database が!!
Cloud SQL 第2世代 (Second Generation)
VACUUM
!
Microsoft SQL Server
http://gcpug.jp
2015/12/10未明(日本時間) に beta release
以下docより (https://cloud.google.com/sql/docs/introduction#v2)
- v1と比較して最大7倍のスループット
- 最大10240GB(v1の20倍)までディスク容量拡張可能
- 殆どのケースでv1より費用が安くなる
- Failover ReplicaとRead Replica追加可能
- backup期間の設定とメンテナンス枠の設定
Cloud SQL 第2世代 (Second Generation)
http://gcpug.jp
グラフはGoogle Cloud Platform Blog より
(http://googlecloudplatform.blogspot.jp/20
15/12/the-next-generation-of-managed-
MySQL-offerings-on-Cloud-SQL.html)
v2(青)のパフォーマンスが優れているのが分か
るが、特に Thread=8 以降でv1(赤)が頭打ちに
なっているにも関わらず、v2は性能が伸びてい
る。
但し、v1/v2のInstanceTypeは異なり完全に合
わせられないので、どこを基準にするのかとい
うのはある。
v1と比較して最大7倍のスループット
http://gcpug.jp
v1と比較して最大7倍のスループット
前述のスライドで比較したCloudSQL(v1)と
MySQLにCloudSQL(v2)を追加した。
7倍とはいかないがread-onlyが2倍
read-writeが3倍程度のスループットとなった。
VM上のMySQLより少しqpsが低い結果となった。
http://gcpug.jp
DeveloperConsoleから拡張可能。
10GB -> 15GB および 15GB -> 1000GB
を試したが即時反映されることを確認した。
機能拡張や経過年数に伴いディスク容量が不
足することはサービスが流行るとよくある事
だが、本機能を使用する事でディスク容量を
拡張する為のサーバリプレイスやディスク拡
張作業オペレーションから解放される。
$0.17 per GB /month なのでご利用は計画
的に。(拡張すると縮小できない)
最大10240GB(v1の20倍)までディスク容量拡張可能
http://gcpug.jp
殆どのケースでv1より費用が安くなる
確かにマシンスペックあたりの単価
はv2の方が安くなっている。
が、v1の最低スペック (Packageing
Billing Plan D0)と v2の最低スペッ
ク (db-f1-micro) の1日あたりの金
額は共に$0.36となる。
v2で何も考えずに構築すると db-
n1-standard-1($2.316/day)となる
のでv1のD2より上のInstanceType
からの乗り換えでないと金額は高く
なるので注意。
http://gcpug.jp
Failover Replicaを追加するケース
サービスの停止が許されない環境
Master障害時にStandbyしているCloudSQLに切り替える
v2からの新機能
Failover ReplicaとRead Replica追加可能
MasterがSPOF(単一障害点)
http://gcpug.jp
Failover Replicaの追加例
障害発生時やメンテナンス時にMasterが切り替わってくれる
Failover ReplicaとRead Replica追加可能
http://gcpug.jp
Failover Replica機能によって
MHAなどでMasterのSPOFを解消する必要がなくなった。
Failover ReplicaとRead Replica追加可能
http://gcpug.jp
Failover切り替わり時の接続断時間などは
未計測の為、実務に耐えうるかは要検証。
Failover ReplicaとRead Replica追加可能
http://gcpug.jp
Read Replicaを追加するケース
アクセス過多によるDB高負荷が発生している
v1からある機能
Failover ReplicaとRead Replica追加可能
QPSがサービス要件を満たせない
CPU(user)の高騰
コネクション数過多によるメモリ不足
http://gcpug.jp
Failover ReplicaとRead Replica追加可能
ダメなRead Replica追加例
Read Replicaを1台だけ追加するのはダメ、絶対!
Masterの負荷は下がったがRead Replicaの負荷が増設前と同等
増設前のMasterと同等の負荷
http://gcpug.jp
Failover ReplicaとRead Replica追加可能
理想のRead Replica追加例
readが分散されるようRead Replicaを
複数台構築。
Read Replicaが2台の場合
1台が応答不能になると
前述のダメな状態になるので
3台以上で構築する必要がある。
http://gcpug.jp
前述したイケてない理由がなくなった!
その1:パフォーマンス(qps)が悪いからなのでは?
-> v1と比べてv2は格段にqpsがよくなった!
その2:料金体系や制限が解り辛いからなのでは?
-> GCEと同等レベルになり解りやすくなった!
その3:Cloud SQLがSPOFとなるからなのでは?
-> Failover ReplicaによりSPOFではなくなった!
v2の新機能によって...
http://gcpug.jp
Cloud SQL v2は
デキる子です!
結論?
http://gcpug.jp
VMのMySQLにInternal_IP経由で
ベンチかけたらぶっちぎりだった件
と、思いきや
http://gcpug.jp
Cloud SQL v2は
(そこそこ)
デキる子です!
あらためて結論
http://gcpug.jp
ご清聴ありがとうございました。

More Related Content

PDF
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
PDF
元OracleMasterPlatinumがCloudSpanner触ってみた
PDF
PPTX
Cloud Identity-Aware Proxy
PPTX
GoogleCloudPlatform概要
PDF
Developer summit 2015 gcp
PDF
『 イドラ ファンタシースターサーガ 』を支える GCP | Google Cloud INSIDE Games & Apps
PPTX
RDBのDBAから見た GCP Managed Database
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
元OracleMasterPlatinumがCloudSpanner触ってみた
Cloud Identity-Aware Proxy
GoogleCloudPlatform概要
Developer summit 2015 gcp
『 イドラ ファンタシースターサーガ 』を支える GCP | Google Cloud INSIDE Games & Apps
RDBのDBAから見た GCP Managed Database

What's hot (20)

PDF
Google for モバイル アプリ - コンテナ技術と Google Compute Engine で実現するクラウド時代のアプリ実行環境
PDF
Google for Mobile: Google スケールで構築する! ゲームインフラと分析環境 - 橋口 剛
PDF
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
PDF
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
PDF
FirebaseAnalytics_BigQuery_Datastudio
PDF
Google Container Engine を始めてみよう
PDF
ここまできた! Google Cloud Platform Virtual Private Cloud 徹底解説
PDF
[Cloud OnAir] #01 徹底解剖 GCP のここがすごい
PDF
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
PDF
6 月 18 日 Next - Cloud Networking
PDF
Google Cloud Platform は何がすごいのか?
PDF
[Cloud on air] #02 GCP のアプリランタイムについて学ぼう
PDF
Google for モバイル アプリ 15-00- maps apiで、かしこく地図アプリを開発しよう
PDF
[Cloud OnAir] Google Cloud 主催イベント Anthos Day 情報 2020 年 2 月 13 日放送
PDF
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PDF
はじめよう Azure Functions
PDF
Google for Mobile: コンテナで作るモバイル バックエンド - 福田 潔
PDF
[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送
PPTX
Google Compute Engine 入門
PPTX
Tech lounge gcp_20190313
Google for モバイル アプリ - コンテナ技術と Google Compute Engine で実現するクラウド時代のアプリ実行環境
Google for Mobile: Google スケールで構築する! ゲームインフラと分析環境 - 橋口 剛
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
FirebaseAnalytics_BigQuery_Datastudio
Google Container Engine を始めてみよう
ここまできた! Google Cloud Platform Virtual Private Cloud 徹底解説
[Cloud OnAir] #01 徹底解剖 GCP のここがすごい
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
6 月 18 日 Next - Cloud Networking
Google Cloud Platform は何がすごいのか?
[Cloud on air] #02 GCP のアプリランタイムについて学ぼう
Google for モバイル アプリ 15-00- maps apiで、かしこく地図アプリを開発しよう
[Cloud OnAir] Google Cloud 主催イベント Anthos Day 情報 2020 年 2 月 13 日放送
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
はじめよう Azure Functions
Google for Mobile: コンテナで作るモバイル バックエンド - 福田 潔
[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送
Google Compute Engine 入門
Tech lounge gcp_20190313
Ad

CloudSQL v2は デキる子なのか?

Editor's Notes

  • #8: エンジニア目線でのメリット (従量課金とかセキュアなのはエンジニア目線でのメリットではないのでここでは省略)
  • #9: 要件定義(データ量・保存期間) 論理設計(テーブル設計・INDEX付与・DBユーザ作成・DBスキーマ設定) 物理設計(サーバ台数・CPU選定・メモリ容量見積・ディスク容量見積・冗長構成設計) 監視設定(データ使用量・HWリソース使用量) 物理構築(サーバ設置・OSのInstall・MySQLのInstall) 論理構築(MySQLのパラメータ設定・テーブル設計・INDEX付与・DBユーザ・DBスキーマ) 運用(バックアップ・障害対応・ボトルネック特定とチューニング・監査) 物理設計:あらかじめCPU/Memoryのセットが決まっているので、サービスの規模間にあったリソースを選択する。 監視設計・監視設定:Cloud SQL標準で取得できる監視項目があるので不要。(必要があればMySQL Workbenchなど追加することも可能) 物理構築:DeveloperConsoleなどから構築でき大幅に短縮できる。 運用:backupは標準機能。ディスク交換やその他HW障害対応業務からは解放。
  • #10: CloudSQLとの通信はExternal_IPとなる。(Cloud SQLにInternal_IP(IPv4)はない) APPのExternal_IP、Dev/OpsのExternal_IP (OfficeのIP) をアクセス許可している。
  • #11: 不適切な発言があったことをお詫びいたします。 次から実際に運用してみて気付いた点。
  • #13: うちはPackeages Billing Plan と Per Use Billing Plan どっち使った方が安いんだっけ? Packages Billing Plan の I/O のキャップに達するかどうかビクビクしながら運用するの?
  • #15: ぼくのかんがえたさいきょうのこうせい。 GCEにMySQL + MHA構成を構築して運用。 MHA for MySQL: https://code.google.com/p/mysql-master-ha/wiki/TableOfContents?tm=6 中規模以上のDB構築やモニタリングツール(cactiやzabbix)などtimelineデータを秒単位でinsertするDB(CloudSQLのI/O制限の回避)が必要な場合はGCE上に構築する必要がある。 writeをExternal_IPで受けているのはMasterのVIPとして使用しているため。(Internal_IPを複数付与したりstaticなInternal_IPを取得したり付け替えることはGCEではできない為。) MySQL5.6以上ではGTIDを用いてHA構成でも代用可能か?(私は実績なし) これがデザインパターンかと思いきや。
  • #17: https://cloud.google.com/sql/docs/introduction#v2
  • #21: 1日あたりの金額が同額であればv2はhourly x 24しているので、実質時間単位で課金されるv2の方がdaily単位で課金されるv1のPackaging Billing Planより安くなるケースが殆どである。
  • #24: ぼくのかんがえたさいきょうのこうせい。 GCEにMySQL + MHA構成を構築して運用。 MHA for MySQL: https://code.google.com/p/mysql-master-ha/wiki/TableOfContents?tm=6 中規模以上のDB構築やモニタリングツール(cactiやzabbix)などtimelineデータを秒単位でinsertするDB(CloudSQLのI/O制限の回避)が必要な場合はGCE上に構築する必要がある。 writeをExternal_IPで受けているのはMasterのVIPとして使用しているため。(Internal_IPを複数付与したりstaticなInternal_IPを取得したり付け替えることはGCEではできない為。) MySQL5.6以上ではGTIDを用いてHA構成でも代用可能か?(私は実績なし)
  • #30: 俺たちの戦い(より運用寄りの検証・導入)はこれからだ
  • #31: 俺たちの戦い(より運用寄りの検証・導入)はこれからだ
  • #32: 俺たちの戦い(より運用寄りの検証・導入)はこれからだ