1.3. Zaman ve Sıralama
Dağıtık bir sistemde küresel bir “şimdi” yoktur. Her düğümün bağımsız olarak kayan kendi saati vardır ve ağ mesajları değişken gecikmeyle teslim eder — dolayısıyla “hangi olay önce gerçekleşti” sorusunun çoğu zaman fiziksel olarak anlamlı bir yanıtı yoktur. Bu bölüm, duvar saati sezgisinin yerini alan mekanizmayı kurar: nedenselliği tanımlayan happened-before ilişkisi, bunu fiziksel zaman olmadan yakalayan mantıksal ve vektör saatler, aradaki farkı sınırlayan hibrit saatler ve fiziksel zamanı güvenilir kılmak için gereken uç mühendislik (Google TrueTime).
İncelenen Konular
Section titled “İncelenen Konular”- 1.3.1. Fiziksel Saatler: Quartz Kayması, NTP Sınırları, Artık Saniye Problemi: Quartz kaymasını, NTP senkronizasyon sınırlarını ve zamana bağlı kodu bozan artık saniye problemini sayısallaştırır.
- 1.3.2. Monotonic Saatler ve Günlük Saat: Hangisini Kullanmalı: Geçen süreyi ölçmenin neden geriye atlayabilen duvar saatini değil, monotonic bir saati gerektirdiğini açıklar.
- 1.3.3. Happened-Before İlişkisi: Nedenselliğin Temeli: Lamport’un happened-before ilişkisini, nedenselliği fiziksel zaman olmadan tanımlayan katı kısmi sıralama olarak kurar.
- 1.3.4. Lamport Zaman Damgaları: Nedenselliği Yakalamak: Nedensel sıralamayı düğümler arası, olay başına tek bir tam sayı ile yakalayan mantıksal sayaçları tanıtır.
- 1.3.5. Vektör Saatler: Eşzamanlılığı Tespit Etmek: Mantıksal saatleri eşzamanlılığı tespit edecek şekilde genişletir: iki olayın nedensel sıralı mı yoksa gerçekten paralel mi olduğunu söyler.
- 1.3.6. Hibrit Mantıksal Saatler (HLC): Fiziksel ve Mantıksal Zamanı Birleştirmek: Fiziksel ve mantıksal zamanı, nedenselliği korurken duvar saatine yakın kalan tek bir zaman damgasında birleştirir.
- 1.3.7. Google TrueTime & Spanner: Belirsizlikle Çalışmak: Google TrueTime’ın atomik saatler ve GPS ile saat belirsizliğini sınırlayarak küresel ölçekte external consistency’yi nasıl mümkün kıldığını gösterir.
- 1.3.8. Dağıtık ID Üretimi: UUIDv7, Snowflake, ULID: Merkezi koordinasyon olmadan sıralanabilir, benzersiz tanımlayıcılar üretmek için UUIDv7, Snowflake ve ULID’i karşılaştırır.