Google ドライブ・iCloud はどう同期されるのか? クラウドストレージと競合コピー

読了 5分

スマホで撮った写真がいつの間にかノートパソコンにも表示され、会社の PC で直した書類が自宅のコンピューターにもう反映されています。Google ドライブ・iCloud・Dropbox といったクラウドストレージの同期です。あまりに自然で魔法のように感じられますが、中をのぞいてみると、かなり働き者の機械仕掛けです。この記事では、その仕掛けがどう動いているのか、そしてフォルダでときどき出会う「競合コピー」というファイルや「同期したのにファイルが消えました」という事故がなぜ起きるのかを、コードなしで整理します。

同期の基本動作 ── 監視・比較・転送 #

同期アプリがやっている仕事は、三つのステップの繰り返しです。

  1. 監視 ── 指定されたフォルダを見張り、ファイルが作られたり変わったりすると気づきます。OS が「このフォルダに変化があった」と知らせてくれる機能を使うので、フォルダ全体を休みなく探し回っているわけではありません。
  2. 比較 ── 自分の機器の状態とサーバーの状態を突き合わせて、変わったファイルを探します。ファイルごとに内容から計算した指紋(同じ内容なら同じ値になる短いコード)を作って比較するので、名前が同じでも内容が違えば見抜かれます。
  3. 転送 ── 変わった側をアップロードまたはダウンロードして、両側を同じ状態にそろえます。

ここに賢い節約が一つ入っています。大きなファイルの一部分だけを直したとき、全体を再アップロードする代わりに、ファイルを断片に分けて変わった断片だけを送るという仕組みです。1 GB の動画ファイルのタイトル情報だけを変えたのに 1 GB を丸ごと送り直すのは無駄だからです。写真が数百枚あっても新しい数枚だけがすばやく上がること、同じファイルを別のフォルダにコピーしてもアップロードが一瞬で終わること(サーバーが同じ指紋をすでに持っているため)は、どちらもこの節約の結果です。

競合 ── 2 台で同時に編集すると #

同期で一番やっかいな瞬間は、同じファイルが二つの場所で別々に変更されたときです。飛行機の中でノートパソコンからレポートを直し、同じ時間に自宅の PC で家族が同じファイルを直していたら、着陸後の同期のタイミングで、サーバーは互いに異なる二つの「最新バージョン」を受け取ることになります。

どちらを残すべきでしょうか。機械には二つの修正の価値を判断することができません。片方を上書きすれば、誰かの作業が音もなく消えてしまいます。そこでほとんどのサービスは判断を放棄し、両方を残します。片方をオリジナルの名前で、もう片方を「レポート(競合コピー).docx」や「レポート (2).docx」のような名前で保存しておくわけです。フォルダでときどき出会うあの謎のファイルはエラーではなく、誰かの作業を消さないための安全装置です。見つけたら、削除する前に両方のファイルを開いて、どちらの修正が生き残るべきかを確認するのが正しい対処です。

Google ドキュメントや Notion のように、複数人が同時に編集しても競合が起きないツールは、別の方式を使っています。ファイルを丸ごとやり取りする代わりに、「3 番目の段落にこの文を追加」といった変更内容を細かくリアルタイムで送り合い、合成していくのです。ファイル同期とリアルタイム共同編集は、似ているようで別の技術です。

同期はバックアップではない #

クラウドストレージを使っていて一番よくある誤解が、「クラウドにあるからバックアップもできている」というものです。同期の本分はすべての機器を同じ状態にそろえることであり、その忠実さは削除にもまったく同じように適用されます。ノートパソコンでフォルダを削除すれば、同期はその削除を律儀にすべての機器とサーバーへ広めます。ランサムウェアがファイルを暗号化すれば、暗号化されたバージョンが律儀に同期されます。

幸い、ほとんどのサービスには安全網が二重に用意されています。

  • ゴミ箱 ── 削除したファイルを一定期間(おおむね 30 日前後)保管します。「同期事故」の第一の復旧ポイントです。
  • バージョン履歴 ── ファイルの過去のバージョンをしばらく保管します。上書きや誤った修正を巻き戻すための道です。

ただし、どちらも保管期間が過ぎれば終わりという点で、本当に失ってはいけないデータの保険としては不十分です。結論は バックアップの記事で整理した 3-2-1 ルール につながります。同期は便利のための仕組みであり、バックアップは同期の外側に別途置いておくコピーです。

容量を圧迫しないために ── 選択同期とストリーミング #

「自分のノートパソコンは 256 GB なのに、クラウドに 2 TB あったらどうなるのか」という疑問には、二つの仕組みが答えてくれます。

  • 選択同期 ── フォルダ単位で「このフォルダはこの機器にはダウンロードしない」と決める方式です。
  • ストリーミング(オンデマンド)方式 ── ファイルの一覧だけを機器に置き、実際の中身は開いた瞬間にダウンロードする方式です。Finder やエクスプローラーで雲のマークが付いているファイルがこの状態です。普段はほとんど容量を取らず、ダブルクリックすると少しのダウンロードの後に開きます。

ストリーミング方式の落とし穴はオフラインです。飛行機の中で開こうとしたファイルに雲のマークが付いていたなら、中身は機器に入っていなかったということです。出張前に「オフラインで使用可能」の印を付けておく習慣は、この構造を知れば自然に身につきます。

まとめ #

スマホとノートパソコンの間の魔法を分解すると、こうなります。同期は監視・比較・転送の働き者の繰り返しで、大きなファイルは変わった断片だけが行き来します。同じファイルが二つの場所で変わったとき、機械は判断する代わりに競合コピーとして両方を生かします。そして同期は削除まで律儀に複製するのでバックアップの代わりにはならず、ゴミ箱とバージョン履歴は期間限定の安全網です。雲のマークのファイルはまだ自分の機器にないという意味なので、飛行機に乗る前に一度確認しておくことをおすすめします。

X