Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

RDBのDBAから見た GCP Managed Database

1,948 views

Published on

第21回 中国地方DB勉強会 in 山口 (2017/08/26)

Published in: Technology
  • Be the first to comment

RDBのDBAから見た GCP Managed Database

  1. 1. https://gcpug.jp RDBのDBAから見た GCP Managed Database (Cloud SQL / Big Query) 熊野 良(Ryo Kumano) 第21回 中国地方DB勉強会 in 山口 (2017/08/26)
  2. 2. https://gcpug.jp - 本スライドは発表後、アップロードします。 - レイアウト崩れや明らかに間違った表現などは 修正後にアップロードをする場合があります。 - 基本的に自分で触って経験した内容を 発表させていただきます。 - H/W構成など、いわゆる「クラウドの向こう側」は 別途公開されている資料などを参照ください。 最初に
  3. 3. https://gcpug.jp 熊野 良 (Ryo Kumano) Twitter: @ryok0607 2014/06 〜 株式会社グルーヴノーツ(福岡) - 肩書:『サーバエンジニア・DBエンジニア』 -> 『クラウドエンジニア』 実務で触ったRDB(GCP Managed DB以外) - Oracle Database: 7.3.4 / 8.1 / 9.0.1 / 9.2 / 10.1 / 10.2 / 11.2 - MySQL: 4.0 / 5.1 / 5.5 / 5.6 過去に携わったDB関連業務 - DBA (動画配信サイト・ブログ・ソシャゲ / 営業支援ツール・大学講義履修) - Oracle Database サポートエンジニア - SI (DB設計・構築・コンサル) 自己紹介
  4. 4. https://gcpug.jp 2点 宣伝させてください。 早速ですいませんが
  5. 5. https://gcpug.jp 宣伝 その1
  6. 6. https://gcpug.jp GoogleCloudPlatform 略してGCP 使ってますか?? 宣伝 その1
  7. 7. https://gcpug.jp 情報収集 どうすればいいの? GCP、興味あるし使いたいけど...
  8. 8. https://gcpug.jp GCPUG Google Cloud Platform User Group https://gcpug.jp Slack: GCPUG Slack entry form (Google Forms) https://docs.google.com/forms/d/e/1FAIpQLScYxAGwuosFFNvH-5yOj-_p-pAKdqZpmM2cgKh9Q8Zu6531Bw/viewform GCPのユーザコミュニティがあるらしい
  9. 9. https://gcpug.jp https://gcpug-hiroshima.connpass.com/ 中国地方には広島にある!
  10. 10. https://gcpug.jp https://plus.google.com/communities/115366422273280046817 そして、岡山にもある!
  11. 11. https://gcpug.jp https://gcpugfukuoka.connpass.com/ 福岡にもあるよ!
  12. 12. https://gcpug.jp 宣伝 その2
  13. 13. https://gcpug.jp 機械学習による様々な分析 - 需要予測 - 分類予測 - 画像解析 - 音声解析 - 言語翻訳 - 自然言語解析 もっと簡単に使いたいなぁ。。。 機械学習(ML)に興味あるんだけど
  14. 14. https://gcpug.jp https://www.magellanic-clouds.com MAGELLAN BLOCKS
  15. 15. https://gcpug.jp ここから本題
  16. 16. https://gcpug.jp GCP Managed Database - RDBのDBAから見た Cloud SQL - RDBのDBAから見た BigQuery Agenda
  17. 17. https://gcpug.jp RDBのDBAから見た Cloud SQL
  18. 18. https://gcpug.jp フルマネージドの MySQL および PostgreSQL の データベース サービス (https://cloud.google.com/sql/?hl=ja より) PostgreSQLは2017/8/26現在はbeta Cloud SQL とは
  19. 19. https://gcpug.jp レプリケーション、管理、バックアップで ユーザーの操作が不要になり、デベロッパーは 他の作業に時間を充てることができます。 (https://cloud.google.com/sql/?hl=ja より) ユーザーの操作? 他の作業? 「フルマネージド」とは
  20. 20. https://gcpug.jp 操作が不要な訳ではない。 ALTER文やツール(mysqldump)ではなく ブラウザベースの画面(CloudConsole)から レプリケーション・管理・バックアップを 実施することが可能。 ユーザの操作が不要、とは
  21. 21. https://gcpug.jp - スキーマ・テーブル設計/構築/メンテナンス - DBチューニング - セキュリティ といった DBA本来の業務に注力できる! 他の作業、とは
  22. 22. https://gcpug.jp Instanceあたり ●vCPU:32core ●RAM:208GB ●SSD:10TB まで搭載可能。 https://cloud.google.com/sql/pricing?hl=en#2nd-gen-instance-pricing Machine Type(H/Wスペック)
  23. 23. https://gcpug.jp db-n1-highmem16 (vCPU:16core / RAM:104GB)で測定。 パフォーマンスは?(sysbenchで測定) Qiita: Amazon Auroraと同じbenchmark testをGoogle Cloud SQLでやってみた http://qiita.com/kumanoryo/items/7141cbe4fe4d0a6f1de4
  24. 24. https://gcpug.jp Read Replica 参照専用のCloud SQL Instance いわゆるMySQLの Slave Database Failover Replica ホットスタンバイのCloud SQL Instance MasterDB障害検知・コマンド発行で切り替え Replication
  25. 25. https://gcpug.jp Read Replica Read Replicaを追加するケース アクセス過多によるDB高負荷が発生している QPSがサービス要件を満たせない CPU(user)の高騰 コネクション数過多によるメモリ不足
  26. 26. https://gcpug.jp Read Replica ダメなRead Replica追加例 Read Replicaを1台だけ追加するのはダメ、絶対! Masterの負荷は下がったがRead Replicaの負荷が増設前と同等 増設前のMasterと同等の負荷
  27. 27. https://gcpug.jp Read Replica 理想のRead Replica追加例 readが分散されるようRead Replicaを 複数台構築。 Read Replicaが2台の場合 1台が応答不能になると 前述のダメな状態になるので 3台以上で構築する必要がある。
  28. 28. https://gcpug.jp Failover Replica Failover Replicaを追加するケース サービスの停止が許されない環境 Master障害時にStandbyしているCloudSQLに切り替える MasterがSPOF(単一障害点)
  29. 29. https://gcpug.jp Failover Replica Failover Replicaの追加例 障害発生時やメンテナンス時にMasterが切り替わってくれる
  30. 30. https://gcpug.jp 昔はAPIでしかFailoverできなかったが gcloudコマンドでfailoverを手動で実行できる。 手動でFailoverさせる方法 $ gcloud sql instances failover INSTANCE https://cloud.google.com/sdk/gcloud/reference/sql/instances/failover
  31. 31. https://gcpug.jp 注意 オンプレミスのMySQLと ここが違う!
  32. 32. https://gcpug.jp rootにSUPER権限がないので - sessionのkillができない。 - app用DBアカウントでログインしてkillする運用。 - change master コマンドが実行できない。 - 手動オペレーションによるslave設定不可。 - Cloud SQLをmaster / 他環境をslaveは可能。 - Auroraをmaster / Cloud SQLをslaveにしたい。 rootにSUPER権限がない
  33. 33. https://gcpug.jp replication中に select now() from dual を実行し、応答有無を測定。 10回測定したところ - replication直後 - 50-80secの間 にそれぞれ応答が無い時間帯 があることがわかった。 Failover時に応答できないタイミングがある replication直後 20-30sec応答なし 5-10sec応答なし
  34. 34. https://gcpug.jp RDBのDBAから見た Big Query
  35. 35. https://gcpug.jp フルマネージド の エンタープライズ 向け アナリティクス データ ウェアハウス です。 (https://cloud.google.com/bigquery/?hl=ja) より Big Query とは
  36. 36. https://gcpug.jp - H/W障害対応作業 - オンプレだったら数百台規模のnodeやdiskを管理 - 毎月何かしらH/W交換するのしんどい - H/W増設作業 - オンプレの場合、データが増えてくるとnodeやdiskの 増設作業が発生する場合がある - サーバーラックに設置位置を決めるパズルは勘弁 フルマネージド・サーバーレスであることのメリット
  37. 37. https://gcpug.jp BigQueryは大量のH/W管理作業から 解放される! データサイズもGB・TBはもちろん PBでもドンとこい! フルマネージド・サーバーレスであることのメリット
  38. 38. https://gcpug.jp SQL:2011に準拠しているので DBAで培ったSQLスキルをBigQueryで使える。 機能(一部) - with句 - select句やwhere句でのサブクエリ - 相関サブクエリ(EXISTS) - ユーザ定義関数 SQL:2011 に準拠している
  39. 39. https://gcpug.jp BigQueryはサーバレスなのでH/Wリソースを管 理・監視する必要がない。 故に 「誰だよ本番マスタDBに重いクエリ流した奴!」 っていうDBA警察をやる必要がなくなる。 Replication遅延もないしシステムも止まらない。 クソクエリを流してもシステムが落ちることがない
  40. 40. https://gcpug.jp 注意 オンプレミス・クラウドの RDBとここが違う!
  41. 41. https://gcpug.jp 料金体系はクエリとデータ量で課金される
  42. 42. https://gcpug.jp 複雑なクエリだとさらに費用がかかることも
  43. 43. https://gcpug.jp 非正規形にして一つのデータの中に複数行とか BigQueryではよくある。 JOINを避けて料金を抑えるテクニック。 RDBに慣れてると非常に違和感を感じる。 あと取得用のSQLがパッと出てこない。 正規化をしないという選択
  44. 44. https://gcpug.jp OLTP用途のDBではないので、チューニングで速 度を稼ぐ、という事はやらない。(できない) 同じクエリでも実行速度はバラバラで、 連続で実行しても10sec単位で違うこともある。 チューニングで速度をあげる概念がない
  45. 45. https://gcpug.jp BigQueryのコンセプトが H/Wを並べて力技(フルスキャン) という理由からかIndexがない。 前述のとおり速度チューニングの概念がないので そういうものだと割り切る。 tableにIndexがない
  46. 46. https://gcpug.jp https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language#quotas DML文の実行回数制限(quota)がある
  47. 47. https://gcpug.jp オペミスしてもROLLBACKできないよ! やるときは腹を括って実行しましょう。 transactionがない
  48. 48. https://gcpug.jp GCPの無料トライアルを開始した時点で BigQueryのサンプルデータも触れる状態になっています。 ぜひBigQueryを触ってみて体験してみてください。 無料トライアル ($300/最大12ヶ月有効) https://cloud.google.com/free/?hl=ja ウェブ UI を使用したクイックスタート https://cloud.google.com/bigquery/quickstart-web-ui BigQueryを触ってみよう
  49. 49. https://gcpug.jp https://cloud.google.com/bigquery/sample-tables BigQueryのサンプルテーブル一覧
  50. 50. https://gcpug.jp サンプル:シェイクスピアの作品から単語と数を格納
  51. 51. https://gcpug.jp Thank You!

×