Sizlerle daha önce global olarak veritabanı teknolojilerinin nasıl ilerlediğini ve bulut bilişim ile gerçek zamanlı servislerin önemini paylaşmıştık. Bugün ise Virginia/ABD merkezli bir startup'ı, FoundationDB'yi inceleyeceğiz.
FoundationDB için kısaca yeni bir veri saklama yöntemi/çözümü diyebiliriz. FoundationDB'yi yeni kılan ilişkisel veritabanlarının (MySQL, PostgreSQL gibi) ACID desteği ile NoSQL veritabanlarının yüksek ölçeklendirilebilir ve dağınık yapısını birleştirmesi.
Konunun daha net anlaşılabilmesi için öncelikle ACID (Atomicity, Consistency, Isolation, Durability) kavramını açalım. ACID içerisinde bulunan 4 terim sırasıyla bölünmezlik, uyumluluk, yalıtımlık ve dayanıklılığı simgeliyor. Bölünmezlik, yapılan işlemin bir parçası başarısız olursa tüm işlemin başarısız sayılması demek oluyor. Yalıtımlık ise aynı anda gerçekleşen işlemlerin birbirini etkilememesini ifade ediyor. Kısaca bu 4 prensip, örneğin bankacılık gibi verinin kritik olduğu alanlarda kullanılan veritabanlarının taşıması gereken özellikler.
Son zamanlarda yazılım dünyasında gün geçtikçe daha çok popüler olan NoSQL ise çoğunlukla veri kritikliğinin ön planda olduğu noktalarda rahatlıkla kullanılamıyordu. FoundationDB ise yukarıda bahsettiğimiz 4 prensibi bünyesinde -bir nevi- barındıramayan NoSQL'in "güzellikleri" ile ilişkisel veritabanlarının "sağlamlığını" bir araya getirmek üzere ortaya çıkmış bir proje. FoundationDB'nin sloganı da tüm bunları açıklar nitelikte: NoSQL, YesACID.
Yaklaşık 3 sene önce Nick Lavezzo, Dave Resenthal ve Dave Scherer isimli üç kurucu ortağın üzerinde çalışmaya başladığı proje, yakın bir süre önce beta sürecine girdi. Bu üç ismin geçtiğimiz senelerde diğer başka şirketlerde de beraber çalıştıklarını ve önemli başarılara imza attıklarını da söylemeden geçmeyelim.
FoundationDB'de "layer" denilen yapılar ile varolan sistemin üzerine kendi ihtiyaçlarınız doğrultusunda eklentiler yazabiliyorsunuz. Bu eklentilerin önemli bir kısmı şimdiden yazılım dünyasına açık kaynak olarak sunulacak gibi duruyor. Ayrıca platformun Flow adında, kendine ait ve C++ temelli bir dile sahip olduğunu da aktaralım.
FoundationDB'yi şu an ücretsiz olarak indirebiliyorsunuz. Proje Linux, Mac ve Microsoft platformlarında çalışır durumda; diğer yandan C, Python, Ruby ve Java da desteklenen diller arasında. FoundationDB'yi beta sürecindeyken kullanmak isterseniz buradan başvurunuzu yapabiliyorsunuz. Bu arada projenin kurucu ortaklarından Nick Lavezzo'nun FoundationDB'nin hikayesine ışık tutar nitelikteki Quora yanıtını da konuya ilgi duyanların okumasını tavsiye ediyoruz. :)