タグ

GoLangとdatastoreに関するclavierのブックマーク (2)

  • pvpool〜メルカリの商品閲覧数カウントアップの裏側〜 | メルカリエンジニアリング

    メルカリでは出品されている商品の閲覧数を「出品した商品」の一覧や「いいね!した商品」の一覧画面から見ることができます。以下は「いいね!した商品」の一覧画面です。(開発版アプリの画面になります) 赤い枠で囲まれている部分がそれぞれの商品の閲覧数になります。今回紹介する閲覧数のカウントアップのバックエンドはGoで開発されています。 データベース上の商品閲覧数のカウントアップ メルカリでは日々大量のリクエストを処理していますが、そういった中でもデータベースへのアクセスはINSERTやUPDATE等の書き込み処理よりもSELECTによる読み込み処理が圧倒的多数を占めます。(メルカリでは、データベースには主にMySQLを利用していますが、サービスやリージョンによってはGCPが提供しているCloud DatastoreやCloud Spannerを利用している箇所もあります) 商品が閲覧される時に実行

    pvpool〜メルカリの商品閲覧数カウントアップの裏側〜 | メルカリエンジニアリング
  • mercari/datastore の知見を語っておく - Qiita

    技術書典WebのAPI実装を全部mercari/datastoreに置き換えたので知見を語っておくことにする。 boomを使う goon互換のAPIのboomを使います。 AECompatibleな互換モードが用意されているので、とりあえず動く状態で移植するのは比較的容易でした。 goonよりAPI的に改善されている点も複数あります(AllocateIDやDeleteの振る舞い)。 goonを使っていなかった人は使わなくてもいいと思います。 Tx中でPutした時にその場でIDが設定されないことに注意する Cloud Datastoreの仕様に沿っているため、単にPutしただけではIDがセットされません。 TxがCommitされたタイミングでIDがセットされます。 この差分を埋めるため、自力でAllocateIDするコードに置き換える必要がある点に注意が必要。 この仕様の差を埋めるためにTo

    mercari/datastore の知見を語っておく - Qiita
  • 1