Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloud SpannerとMerpayの歩み / The Journey of Cloud Spanner and Merpay

Cloud SpannerとMerpayの歩み / The Journey of Cloud Spanner and Merpay

MerpayはメインのDatabaseとしてCloud Spannerを利用しています。Merpayのリリースは2019年なので約3年。開発期間も含めると4年以上、Cloud Spannerを利用しています。その間、Cloud Spannerは多くの機能がリリースされ、それに合わせて我々の運用も変わっていきました。このセッションではCloud SpannerとMerpayがどのように二人三脚を行ってきたかを振り返ります。
------
Merpay Tech Fest 2022は3日間のオンライン技術カンファレンスです。
IT企業で働くソフトウェアエンジニアおよびメルペイの技術スタックに興味がある方々を対象に2022年8月23日(火)から8月25日(木)までの3日間、開催します。 Merpay Tech Festは事業との関わりから技術への興味を深め、プロダクトやサービスを支えるエンジニアリングを知れるお祭りです。 セッションでは事業を支える組織・技術・課題などへの試行錯誤やアプローチを紹介予定です。お楽しみに!

■イベント関連情報
- 公式ウェブサイト:https://events.merpay.com/techfest-2022/
- 申し込みページ:https://mercari.connpass.com/event/249428/
- Twitterハッシュタグ: #MerpayTechFest

■リンク集
- メルカリ・メルペイイベント一覧:https://mercari.connpass.com/
- メルカリキャリアサイト:https://careers.mercari.com/
- メルカリエンジニアリングブログ:https://engineering.mercari.com/blog/
- メルカリエンジニア向けTwitterアカウント:https://twitter.com/mercaridevjp
- 株式会社メルペイ:https://jp.merpay.com/

mercari
PRO

August 25, 2022
Tweet

More Decks by mercari

Other Decks in Technology

Transcript

  1. Cloud SpannerとMerpayの歩み @sinmetal and @apstndb

  2. セッションの質問について みなさまからの質問を受け付けています! YouTube チャット、 Twitter ハッシュタグ #MerpayTechFest を使ってください。

  3. sinmetal 株式会社メルペイ GAEマイスター ソリューションチーム 2017年10月にメルカリに入社。 当 初はソウゾウにいたが、 2018年4 月 にチームごとメルペイに

    異 動 。 GAEマイスターを 名 乗 っているが、 今はCloud Runを使っている。 apstndb 株式会社メルペイ ソリューションチーム 2020 年 1 月 にメルカリに 入 社 。 Cloud Spanner 周りは実行計画と かクライアントライブラリの 実 装 とか を見つつパフォーマンス改善していま す。
  4. Merpay and Spanner Release History 2017 2018 2019 2020 2021

    2022 Spanner GA メルペイ ローンチ DML SLA 1Node Backup Restore Spanner Emulator PiTR CPU Priority Change Stream Granular instance sizing
  5. google-cloud-goとの付き合い • メルペイでのSpannerとの戦いの日々              (https://engineering.mercari.com/blog/entry/2019-04-18-090000/) • https://github.com/googleapis/google-cloud-go ◦ Session Poolの変化 ◦

    Client Side Metricsの追加
  6. Queryのパフォーマンス・チューニング • Cloud Spanner の実行計画の活用に関する取り組み (https://engineering.mercari.com/blog/entry/20201210-cloud-spanner-query-plan/)

  7. Lockの最適化 • どうすれば Abort が減るか ◦ Abort の一部はロックによるもの ▪ Cloud

    Spanner のロックについて • https://zenn.dev/apstndb/articles/a62ac78b3b91bb ▪ Lock Stats(2021 Jan) により検証・調査可能になった • Lockの競合をどのようにして見つけるか? ◦ 競合相手はだれ? ▪ conflict したキー範囲だけでは特定できない場合も ◦ Transaction Tagを使いたい
  8. 作成したOSS • https://github.com/cloudspannerecosystem/yo ◦ SchemaからGo CodeをGenerate • https://github.com/cloudspannerecosystem/wrench ◦ schema

    management tool • https://github.com/cloudspannerecosystem/spool ◦ TestのためにDBをPoolし、払い出す • https://github.com/gcpug/handy-spanner ◦ Spanner Emulator
  9. None