
2026/03/23 2:06
マイクロソフトでシステムズリーディング・グループを運営してきた5年間 (Note: This is a faithful Japanese translation of the original English title, preserving its meaning and natural flow.)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
マイクロソフト・システムズリーディンググループは、Azure Databases チームに参加した後の2021年に設立されました。最初はデータベース内部構造に焦点を当て、「Modern Storage Systems の背後にあるアルゴリズム(Algorithms Behind Modern Storage Systems)」という論文が第一号となりました。その後のセッションは、個別読書の後に1時間ほどのディスカッションという形式で進められました。WiscKey、LLAMA、Facebook の Photo Storage、Column‑Stores vs. Row‑Stores、Bw‑Tree、および Building a Bw‑Tree Takes More Than Just Buzz Words などの古典的な論文を扱い、その後グループはメモリ階層、合意プロトコル(Paxos)、および「What Every Programmer Should Know About Memory」のような一般的システム論文といった隣接するテーマへ拡大しました。
2024 年にグループは Red Book(Stonebraker & Hellerstein)からのガイド付き読書シリーズへ移行し、構造化されたマルチセッションディスカッションを実施しました。2025 年には「Microsoft Systems Reading Group」に改称され、2026 年にはテーマがデータセンター基盤に変更され、サーバー、ラック、クラスター、ロードバランシング、電源装置、冷却、および障害モードを網羅する予定です。
グループは習慣化と参加率維持のため、隔週よりも毎月一度の定期会議を優先しています。各セッション開始時に簡潔な要約を行うことで、準備不足でもフォーマットがアクセスしやすくなります。コオーガナイザーはどちらかの主催者が忙しい場合に継続性を確保します。これらの実践により、マイクロソフト内のクロスチーム間でつながりが生まれ、データベース内部構造と広範なシステムテーマの両方にわたる協働学習が可能になりました。
本文
2026年3月
私は 2021 年に、Microsoft に新卒として Azure Databases チームに入社して数か月後に読書会を始めました。最初はデータベース内部構造―UW で好きだったテーマ―に焦点を当てていました。データベースはコンピュータサイエンス全体の多くの分野と結びついています:クエリエンジンでのコンパイラ構築、バッファプールでのメモリ管理、ストレージシステム、アルゴリズム、ネットワーキング。ほぼフィールド全体を縮小したようなものです。また、SIGMOD や VLDB など多くの研究会や学会も活発に行われているため、飽きることはありません。
開始の経緯
私の日常業務は Cosmos DB のバックエンド分散ストレージエンジンです。LSM‑tree、B‑Tree、分散システムを考える時間がほとんどなので、Microsoft に入社した当初から自分の仕事以上にこれらのテーマに興味を持つ仲間を探していました。
最初に読んだ論文は Algorithms Behind Modern Storage Systems でした。数名だけが参加しました。フォーマットはシンプルで、各自で論文を読み、一時間ほど集まり、内容について話し合うというものでした―非常にカジュアルな形態で、ただの論文ディスカッションです。
そこからデータベース内部構造の古典やシステム系論文を巡回しました:
- WiscKey: Separating Keys from Values in SSD‑conscious Storage
- LLAMA: A Cache/Storage Subsystem for Modern Hardware
- Finding a Needle in Haystack: Facebook’s Photo Storage
- Column‑Stores vs. Row‑Stores: How Different Are They Really?
- The Bw‑Tree(Cosmos DB の実装を担当しているため少し偏っています)とその続編 Building a Bw‑Tree Takes More Than Just Buzz Words
このフォーマットが最初の数年間続きました。誰かが論文を提案し、投票で決めてから集まって議論しました。また、エンジニアリングブログや注目した講演を共有するサイドチャネルもあり、その非公式な情報交換は読書会と同じくらい価値があることがわかりました。
進化の過程
データベース系論文を読み進めるうちに、外部への関心へとつながるスレッドが増えてきました。ストレージエンジンの論文がメモリ階層について語り合い、レプリケーションの議論はコンセンサスプロトコルへと発展しました。その結果、意図的に隣接するテーマの論文も読んでいきました。例えば What Every Programmer Should Know About Memory や Paxos Made Simple などです。
2024 年には、一度だけ読むのではなくガイド付きリーディングシリーズへと移行しました。Red Book(Stonebraker & Hellerstein の Readings in Database Systems)の章を数回に分けて取り上げる構成にしたことで、毎回異なる論文に飛び跳ねるよりも前回の議論を踏まえて深掘りできるようになりました。
2025 年までにテーマはデータベースをはるかに超え、グループ名を Microsoft Systems Reading Group に変更しました。2026 年のテーマはデータセンター基盤で、The Datacenter as a Computer を読み進めつつサーバー・ラック・ネットワーククラスタ・ロードバランシング・電源・冷却・効率・障害などを学びます―公共クラウド上の分散データベースを構築するときに当たり前のように使っているものです。
何が学べたか
-
小さく始めて継続すること。
グループは活発な時期と静かな時期があります。リズムが崩れると静寂になるので、必ず月に一度集まる方が二週間に一回で途中を欠席するよりも良いです。継続性が習慣になり、習慣が出席率につながります。 -
範囲は自然に広げること。
「データベースのみ」だと群衆が停滞します。好奇心を追っていくことで面白さが保たれ、他チームの人も参加しやすくなります。 -
ガイド付きシリーズは一発読みより効果的。
一度だけ読む論文は始めに最適ですが、一つのテーマを複数回に分けて読んでいくと本当の深みが出ます。共通の背景が築かれ、議論も進むにつれて面白くなります。 -
専門家である必要はない。
私自身が十分理解していないテーマでも最良のセッションを迎えました。「これについて学びたいので、一緒に考えてみよう」と言う方が「教える」よりも参加しやすく、真に協力的な雰囲気になります。 -
共同オーガナイザーを持つこと。
静かな時期に再開したいときに同僚が連絡してくれたように、誰か他の人が運営に関与すれば大きな違いが生まれます。一人が忙しくてももう一人が勢いを保てるからです。 -
未準備でも参加しやすい形にすること。
誰もが全論文を読むわけではありません。会議で必ず事前読書が必要なら出席率は下がります。開始時の短い五分程度のまとめだけでも大きく助かります。
私が得たもの
最も明白なのは学びです。自分で選ぶことなく、メモリチップアーキテクチャから Google がコンテナをスケールで調整する方法まで、多岐にわたる論文を読みました。
それより少し見えづらい利益は人脈です。このグループの運営が Microsoft 内部のエンジニア・研究者・科学者とつながるきっかけになりました。実際の業務課題について有益な会話に発展したものもあれば、単に興味深い人と話すだけでも楽しいです。この会社が本当にその分野に関心を持つ人で溢れていることを知って嬉しく思います。
もし社内で読書会を始めようと思ったら、考えすぎないでください。論文を投稿し、興味を持ちそうな数名を招待してみれば、誰が来るか分かります。その後は進化させていけば良いでしょう。
Microsoft 社員で参加したい方は aka.ms/msrg へどうぞ。