HamamböceğiDB EC-1 Bölüm 2: Teknik tasarım
CockroachDB, en başından beri küresel bir veritabanı olarak tasarlandı. Cockroach Labs’ın kurucuları, bir yerde yazılan verilerin 10.000 mil uzaktaki başka bir yerde hemen görüntülenebilmesini sağlamak istedi. Kullanım durumu basitti, ancak bunu gerçekleştirmek için gereken iş çok zordu.
Şirket, web ölçeğindeki uygulamalar için en büyük zorluklardan birini çözebileceği konusunda çiftliğe bahse giriyor. Aldığı yaklaşım akıllıca, ancak özellikle teknik olmayan okuyucu için biraz karmaşık. Geçmişi ve mühendislik yeteneği göz önüne alındığında, şirket bunu başarma ve veritabanı pazarında büyük bir etki yaratma sürecindedir, bu da onu anlamaya değer bir teknoloji haline getirir. Kısacası, ayrıntılara girmenin değeri var.
Verileri coğrafi yakınlığa göre bölümlere ayırmak için CockroachDB’nin çoklu bölge özelliğini kullanmak, Cockroach Labs’in birincil yönergesini yerine getirir: Verileri kullanıcıya mümkün olduğunca yakın almak.
Bu EC-1’in 1. bölümünde, Hamamböceği Laboratuvarlarının kökenlerine genel bir bakış ve bir bakış sağladım. Bu bölümde, teknik olmayan okuyucu gözüyle teknolojinin teknik ayrıntılarını ele alacağım. CockroachDB teknolojisini üç soruyla anlatacağım:
Küresel bir coğrafyada veri okumayı ve yazmayı bu kadar zor yapan nedir? CockroachDB sorunu nasıl çözüyor? Tüm bunlar CockroachDB kullananlar için ne anlama geliyor?
Küresel bir coğrafyada veri okumayı ve yazmayı bu kadar zor kılan nedir?
Cockroach Labs’ın CEO’su ve kurucu ortağı Spencer Kimball, durumu şu şekilde açıklıyor:
Küresel uygulamalar oluştururken, özellikle veri yönetimi konusunda göz önünde bulundurmanız gereken birçok şey var. Örneğin, Quora soru-cevap web sitesini ele alalım. Diyelim ki Avustralya’da yaşıyorsunuz. Bir hesabınız var ve Quora kullanıcı kimliğinizin ayrıntılarını Avustralya’daki bir veritabanı bölümünde saklıyorsunuz.
Ancak bir soru gönderdiğinizde, aslında bu verilerin Avustralya’da yayınlanmasını istemezsiniz. Bu verilerin her yerde yayınlanmasını istiyorsunuz, böylece tüm soruların tüm cevapları herkes için her yerde aynı olur. Bir soruyu Sidney’de yanıtladığınız ve ardından Hong Kong’da görebileceğiniz bir duruma sahip olmak istemezsiniz, ancak bunu AB’de göremezsiniz. Durum böyle olduğunda, bulunduğunuz yere bağlı olarak farklı cevaplar alırsınız. Bu çok büyük bir problem.
Küresel bir coğrafya üzerinden veri okumak ve yazmak, bir pizzayı caddenin karşısından şehrin diğer ucundan teslim almanın daha hızlı teslim edilmesiyle hemen hemen aynı nedenle zordur. Zaman ve mekanın temel kısıtlamaları geçerlidir. İster dijital veri ister biberli pizza olsun, kaynaktan ne kadar uzaklaşırsanız, şeylerin size ulaşması o kadar uzun sürer.