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.

元OracleMasterPlatinumがCloudSpanner触ってみた

6,661 views

Published on

GCPが提供するCloudSpannerの評価(主にWrite QPSの計測)となります。

Published in: Software

元OracleMasterPlatinumがCloudSpanner触ってみた

  1. 1. 元Oracle Master Platinumが Cloud Spannerを触ってみた 熊野 良(Ryo Kumano) Groovenauts,Inc. / GCPUG Fukuoka
  2. 2. 熊野 良 (Ryo Kumano)     Twitter: @ryok0607 2014/06 〜 株式会社グルーヴノーツ JOIN - 肩書きは 「サーバエンジニア・データベースエンジニア」 - GCP上で稼動している自社サービスのインフラ設計・構築・運用を担当 - 2015/08 〜 東京 -> 福岡に移住 2016/12 〜 GCPUG Fukuoka 運営 JOIN - 他の運営メンバと発表会やもくもく会の開催など 過去(5年以内)に携わった業務 - 国内大手B2Cサイトのインフラ設計・構築・運用・DB設計・チューニング など 自己紹介
  3. 3. 祝!ピクシブ様 福岡オフィスご開設 おめでとうございます!! (画像はイメージです)
  4. 4. Cloud Spannerの話の前に 自社の宣伝を させてください!
  5. 5. https://www.magellanic-clouds.com/blocks/
  6. 6. Agenda ● CloudSpanner概要 ● 既存DBからの乗換えって? ● 性能ってどんなもんなの?
  7. 7. Cloud Spannerとは - Google社のクラウドサービス(GCP)で提供開始されたデータベース (2017/3/3時点beta) - Google社ではもっと前から社内での利用実績あり。 - 地球規模の大規模分散を実現し、世界中にサーバを分散。 - NoSQLのスケーラビリティとRDBの一貫性を両立させた。 - トランザクション処理はMVCCではなくtimestampを用いて制御する。 - サーバの時刻同期はGPSや原子時計を用いて、どのサーバもズレがないようにし ている ズルいとは思うのですが、詳細は有識者(中井 悦司さん)の資料を 見ていただくのがまずは良いと思います。 https://www.slideshare.net/enakai/spanner-72217077
  8. 8. 既存RDBからの乗換えって? 今の所、しんどいです。(まだbetaなので今後に期待) - DB接続ドライバが新規になる - RDS->Auroraのようにコードの再利用不可 - Table設計、特にPrimaryKeyを再検討する必要がある - PKにNOT NULL制約が付与されず、 Indexも貼られない。 - AUTO_INCREMENTやSEQUENCEのような自動採番機能がない。 - というか従来のID採番の設計だと書込サーバが偏りボトルネックになる恐れがある。 https://cloud.google.com/spanner/docs/best-practices#choosing_a_primary_key - その他 - Table毎のアクセス制限ができない - View機能がない - Point in time Recoveryができない - DML文がサポートされてない   ...など結構クセが強い。
  9. 9. 性能ってどんなもんなの? カタログスペック上、パフォーマンスは特別に優れいているわけではない。 - Read 10,000 QPS (Query Per Seconds) - Write 2,000 QPS ん?『各Spannerノード』と言っている?
  10. 10. 一般的なDBのMaster-Slave構成 ということは? Spannerインスタンスを増やせば増やすほどパフォーマンスが上がると推測。 疑問: Readはまぁ分かる。 Writeも本当にパフォーマンス上がるのか?? ReadOnl y Instance Write Instance replication ReadOnly Instanceは 増やせる Write Instanceは 増やせない
  11. 11. 計測項目・計測方法 カタログスペックに記載されている 1KB/Record のデータをINSERTする処理を 8台のGCE (n1-highmem-8)から実行する。 Spannerのnode数を1台ずつ増やしていき、性能(QPS)を計測する。
  12. 12. Spanner node 1台 カタログスペック 2,000 QPS に対して 8,000 QPS出てる。 話が違う!(いい意味で)
  13. 13. Spanner node 2台 13,000QPSを突破。 確かに性能があがっている。
  14. 14. Spanner node 3台 15,000QPSを突破。 順調に右肩上がりに伸びてる。
  15. 15. Spanner node 4台 20,000QPSを突破。 一般的なシステムでは十分。
  16. 16. Spanner node 5台 25,000QPSを突破。 まだ伸びるか!?
  17. 17. Spanner node 6台 遂に 30,000QPSを突破! すごくね?すごくね??
  18. 18. Spanner node 7台 あれ・・・? 数値が伸びなくなってきた。
  19. 19. Spanner node 6台以降は頭打ち 9 nodeまで試しましたが 30,000 QPS前後を 行ったり来たり。
  20. 20. 頭打ちした原因 Spanner側の限界ではなく、Bench Server側の限界の可能性が高い。 Bench Serverの台数を増やすか、ツールのチューニングを行うことで より高い数値が出せるのではと推測。 こっち側が限界で パツった! 30,000 QPS以上 いけるはず。
  21. 21. まとめ ● Cloud Spannerは既存のRDBからの移行が難しいので 既存システムの移行ではなく、新規システムへの 導入検討がよさそう。 ● とはいえまだbetaなのか運用する上での機能は心もとない。 機能追加と共に導入時期を見計らいたい。 ● 性能は今の所底が見えない。 よほど当たっているゲームサービス等でなければ 数字的には耐えられると判断。 ということで、今後の機能追加に超期待しています!!
  22. 22. ご清聴ありがとうございました。

×