ハイブリッド論理時計(HLC)
物理時間(壁時計)と論理カウンタを組み合わせた時計。実時間に近く、かつ因果順序が保証されるタイムスタンプが得られる。CockroachDB、MongoDB、YugabyteDBで、原子時計なしにイベントの順序づけをするために使われる。
問題の所在はこうだ。純粋な物理時計は互いにずれ(クロックスキュー)、順序を誤りうる。純粋な論理時計(Lamport)は実時間との結びつきがない。HLCは両方の長所を取る。タイムスタンプは「物理時間」と「これまでに見た最大のタイムスタンプ」の大きい方に、同値を区別する論理カウンタを足したものになる。その結果、単調で、因果関係を保ち(AがBを引き起こしたならBのほうが大きい)、実時間から既知の範囲内に収まるタイムスタンプが得られる。SpannerのTrueTimeに対する利点は、特別なハードウェア(GPSや原子時計)が要らないことだ。分散SQLデータベースにおける一貫したスナップショットやMVCCの基盤になっている。LamportクロックやSpanner TrueTimeと関係が深い。