Bluesky開発チームがタイムラインのレイテンシを96%削減した方法

Blueskyのユーザー数は2025年1月30日に3000万人を突破しました。ユーザー数が増え続ける中、タイムラインの管理手法を調整することでほとんどのユーザーに影響を与えることなく96%のレイテンシ削減に成功したことをBluesky開発チームのJaz氏が報告しています。
When Imperfect Systems are Good, Actually: Bluesky's Lossy Timelines · Jaz's Blog
https://jazco.dev/2025/02/19/imperfection/
Blueskyではユーザーの投稿をインデックス化してデータベースに保存しています。また、「投稿したユーザーをフォローしている人(フォロワー)をすべて検索し、各フォロワーのタイムラインテーブルに投稿の参照情報を含む新しい行を追加する」という操作を実行して各ユーザーのタイムラインを構築しています。

タイムラインテーブルは数百のシャードに分割されています。個々のタイムラインの処理負荷は十分に小さいため、すべてのユーザーが「通常の行動」をしている場合は問題は発生しません。

しかし、Blueskyには記事作成時点で3188万人以上のユーザーが存在しており、中には「数十万人をフォローする」というボットのような異常な行動をしているユーザーも存在しています。このようなユーザーのタイムラインでは書き込みが極めて大量に発生し、システムの負荷が増大してレイテンシが大きくなります。また、1つのシャードで複数のユーザーを管理するという仕組み上、当該ユーザー以外のユーザーにも悪影響が出てしまいます。

・関連記事
Bluesky開発メンバーに「ユーザー急増にサーバーは耐えられる?」「トレンド表示機能の追加予定は?」などを聞けるイベント「Bluesky mini meetup in Kyoto 2024」に行ってきた - GIGAZINE
Blueskyの開発者に「鍵アカウントの実装予定は?」「日本支社の設立予定は?」など何でも聞けるイベントが開催されたので行ってみたら開発者の「やることリスト」に追加されるアイデアが続々飛び出す充実のイベントでした - GIGAZINE
Blueskyの中の人に「Blueskyの野望」「Blueskyの収益化計画」「Bluesky公式サーバーのスペック」「APIが使えなくなることはあるのか」「ジャック・ドーシーとBlueskyの関係」など今知りたいことを全部聞いてきました - GIGAZINE
Blueskyのユーザー数が3000万人を突破して開発者らからも喜びの声 - GIGAZINE
2024年の1年間でBlueskyユーザー数は289万人から2594万人に爆増、モデレーターによるアカウント削除件数は6万6308件で日本からの要請にも対応などモデレーション報告総まとめ - GIGAZINE
・関連コンテンツ
in ネットサービス, 無料メンバー, Posted by log1o_hf
You can read the machine translated English article How the Bluesky team reduced Timeline la….