Googleで時間を操作する



高精度ルビジウム発振器PRS10



GoogleはNTP(Network Time Protocol)の使用を放棄し、GPSと原子時計を備えた独自の時刻検証システムを作成し、より正確で信頼性の高いものにしました。 TrueTime APIと呼ばれていました。 このシステムは、世界中に分散している世界最大のGoogle Spannerデータベースの整合性を確保するために機能します。



2012年9月中旬に、Googleはデータの整合性と同期を確保しながら、さまざまな大陸のGoogleデータセンターにグローバルに分散されている独自のデータベースに関する情報を最初にリリースしました。 専門家は、Facebookを含む大量のデータを扱う企業の中で、このようなものを持っている企業は他にないと考えています。



9月に公開された科学論文から理解できるように、Google Spannerの重要な革新は、新しいトランザクション時間コーディングシステムを通じてデータの整合性を確保することです。 Googleのエンジニアは、時間をチェックし、トランザクションの時間間隔を記録し、タイムスタンプの信頼性レベルを評価するためのマルチレベルシステムを開発しました。 これは、システムの信頼性が依存する重要な要素です。



通常、データセンターとWebサービスはNTP(Network Time Protocol)-原子時計から情報を提供するオンラインサービスに依存していますが、ネットワークラグのため、このような方法は大規模なデータセンターに適した精度を提供しません。 また、最近発生したように、うるう秒を追加した後に NTPプロトコルがクラッシュすることがあります。



一般に、GoogleはNTPを放棄し、より正確で信頼性の高い独自の時刻検証システムを作成することを決定しました。 TrueTime APIと呼ばれていました。



外部クロックからデータを受信する代わりに、Googleは独自の原子時計とGPS受信機をデータセンターに装備しました。 この機器は、データセンター内の他のすべてのサーバーにタイムスタンプを配布する一部のサーバーに接続されています。 実際、データセンターの各マシンでは、デーモンがバックグラウンドで実行され、データセンターのタイムサーバーと他のデータセンターの同様のタイムサーバーを常にポーリングします。 したがって、世界中のGoogleサーバーは同時に動作することが保証されています。







Google TrueTime APIは、さまざまなデータセンターがデータベース内の同じセルに同時に書き込もうとするときにデータの同期を提供します。 TrueTime APIは、TTinterval時間間隔の値を報告します。これは、測定誤差と不確実性が固定された時間です。 2つの競合するトランザクションのTTinterval間隔が重ならない場合、どちらが早く発生したかを自信を持って言えます。 それらが交差する場合、これは一定量の不確実性を意味します。



Googleは、データセンターの屋根にGPSアンテナを、データセンターのサーバーラック内に原子時計を設置する必要がありました。 非常に優れた原子時計のコストでさえ、各ラックのサーバーのコストに比べて比較的小さいです。





原子時計はGPSよりも短時間でより確実に機能しますが、長期間はGPSに接続する必要があります。



[ ソース ]



All Articles