Etsy Paymentsのスケーリング:Vitessを使用したPart 1 – データモデル
2020年、Etsyの支払いデータベースはスケーラビリティの問題に直面し、Vitessが管理するシャード環境への移行が必要となった。このプロジェクトでは、4つのデータベースから40億行を1つのシャード環境に移行し、Vitessのvindexesをシャードのために使用する必要があった。第1フェーズでは、理想的なデータモデルを持つseller ledger infrastructureを移行することに焦点を当てた。第2フェーズでは、複雑なデータモデルを持つプライマリ・ペイメント・データベースの負荷を削減することに焦点を当てた。このデータベースのモデルは、よりターゲット化されたアプローチが必要であった。第2フェーズのために、2つのオプションが検討された:コア・データ・モデルのリモデリング、または既存のモデル内でのシャーダー・ファインダー(shardifier)の探索。時間的な制約と信頼性の維持の重要性のため、後者のオプションが選択された。チームは、既存のプライマリ・キーとフォーリン・キーをシャーダー・ファインダーとして使用し、第1フェーズよりも少ない作業量で済むようにした。Vitessのリシャーディング機能は、将来的にシャード・デザインを調整するための柔軟性を提供する。Vitessのセカンダリ・インデックスは、非理想的なデータ・モデルの制限を緩和し、クエリーでシャーダー・ファインダーを使用せずにシャードをターゲットすることを可能にする。この移行によって、スケーラビリティが60%向上し、将来的に成長するための余裕が生じた。