DB⚡ パフォーマンス・速度
Discord
Discord、数兆件のメッセージをCassandraからScyllaDBへ移行
Apache CassandraScyllaDB
メッセージ保存基盤としてCassandraを使っていたDiscordが、レイテンシとガベージコレクションの問題を解消するためC++実装のScyllaDBへ移行した。
何が起きたか
Discordは全メッセージ履歴をCassandraクラスタに保存していたが、データ量の増大に伴いレイテンシの悪化やコンパクション時の負荷、JVMベースゆえのガベージコレクション由来のレイテンシ変動に悩まされていた。同じCQLプロトコルと互換性を持ちC++で実装されたScyllaDBへの移行を決定し、Rustでデータマイグレーターを書き直して大規模データ移行を効率化した。この結果、推定3ヶ月かかるとされていた移行作業を9日間に短縮でき、メッセージ取得のレイテンシも改善したと報告されている。
移行前後の変化
メッセージレイテンシ(p99程度)
推定移行期間
2023-03-06
他の事例も見る