Ana Sayfa

Stonebraker'dan CAP Teoremi ve Veritabanları Üzerine Eleştirel Bakış

1 dk okuma

Mike Stonebraker, "Errors in Database Systems, Eventual Consistency, and the CAP Theorem" başlıklı makalesinde, NoSQL veritabanı topluluğunun Eric Brewer'ın CAP Teoremi'ni uygulama şeklini sorguluyor. Birçok yüksek ölçekli NoSQL sistemi uygulayıcısı, CAP Teoremi'nin kendilerini nihai tutarlılık (eventual consistency) modeline yönelttiğini savunurken, Stonebraker bu iddiaya karşı çıkıyor. Stonebraker, nihai tutarlılığın yaygın veritabanı hatalarını (uygulama hataları, yönetimsel hatalar veya veritabanı uygulama hataları) önlemediğini ve bu durumlarda CAP Teoremi'nin gerçekten geçerli olmadığını belirtiyor. Veri kaybına yol açan bir hata durumunda, çevrimdışı bir kopyanız yoksa veriler basitçe kaybolur. Yazar, bu noktada "ertelenmiş silme" (deferred delete) tekniğinin önemini vurguluyor; bu teknikte silinen öğeler hemen kaldırılmaz, belirli bir süre sonra çöp toplama işlemine tabi tutulur.

Makale ayrıca, nihai tutarlılığın (eventual consistency) veya CAP Teoremi'nin uygulama veya veritabanı uygulama hatalarına karşı doğrudan koruma sağlamadığını ve büyük ölçekli bir felaket durumunda (tüm kümenin kaybedilmesi gibi) bir çözüm sunmadığını belirtiyor. Stonebraker, ağ bölümlenmelerinin (network partitions) nadir olduğunu öne sürse de, makalenin yazarı bu konuda kısmen farklı düşünüyor; ağ donanımının hala beklenenden daha fazla sorun yarattığını ve ağ yapılandırma hataları, kara delikler, düşen paketler gibi sorunların sektör genelinde sıkça tartışıldığını ifade ediyor. Yazar, ağ donanımının "mainframe" iş modelinde çalıştığını ve ölçekte yedeklilik için "2" sayısının yetersiz bir seçim olduğunu savunuyor.

Stonebraker'ın makalesi, nihai tutarlılığın bu iş yükleri için gerçekten doğru cevap olup olmadığını sorguluyor. Yazar da daha önceki yazılarında benzer noktalara değinmiş ve birçok uygulamanın tam tutarlılık (full consistency) ile çok daha kolay uygulanabileceğini ve tam tutarlılığın yüksek ölçekte pratik olarak uygulanabileceğini belirtmişti. Hatta Amazon SimpleDB'nin yakın zamanda tam tutarlılık desteği duyurması da bu görüşü destekliyor. Makale, tam tutarlılığın birçok uygulama için hem uygun maliyetli olduğunu hem de uygulama uygulama hatalarını azaltmaya yardımcı olduğunu vurgulayarak, tam tutarlılığın erken bir aşamada göz ardı edilmemesi gerektiğini belirtiyor.

İçgörü

CAP Teoremi ve nihai tutarlılığın veritabanı hatalarına ve felaketlere karşı tam koruma sağlamadığı, tam tutarlılığın ise birçok uygulama için hala geçerli ve uygulanabilir bir çözüm olduğu vurgulanıyor.

Kaynak