InfoQ Dev Zirvesi Münih’te Markus Kett, Java için devrim niteliğinde olacak veritabanı alternatifi bellek içi EclipseStore’u paylaştı. Bu yeni çözüm, bulut maliyetlerini düşürecek ve CO2 emisyonlarını azaltacak. Böylece çok daha hızlı veri işlenebilecek. Java nesne grafiklerini ikili dosyalar olarak yerel ya da bulut dosya sistemlerinde depolayan EclipseStore, Java Streams API ile sorgulama yaparak geleneksel veritabanlarından farklı bir yol izliyor.
Geleneksel veritabanlarında veriler tablolar ve satırlar halinde saklanırken, EclipseStore doğrudan Java nesnelerini bellekte tutuyor. Bu sayede uygulama ve veritabanı arasında dönüşüm yapmaya gerek kalmıyor. Bu özellikle gecikme azalıyor. Ayrıca daha az kaynak kullanılıyor. Geleneksel veritabanlarına göre daha hızlı olan bu yapı Redis gibi önbellek sistemlerinden daha uygun maliyetli bir çözüm sunuyor.
EclipseStore, SQL yerine Java Stream API ile çalışır. Bu sayede sorgular mikrosaniyeler içinde tamamlanır.
List<Article> unavailableArticles =
shop.getArticles().stream()
.filter(article -> article.available() == false)
.collect(groupingBy(article -> article.vendor()));
Ancak bu özellik bulut depolamadan veri çekerken geleneksel veritabanlarına göre daha yavaş olabilir.
EclipseStore, verileri doğrudan RAM’de veya yerel dosya sisteminde saklayabiliyor. Bulut tabanlı çözümler için Amazon S3 ve Google Cloud gibi bulut dosya sistemleri kullanarak veri kaybını önlüyor. EclipseStore, geleneksel veritabanlarına göre yüzde 93 daha düşük maliyetle çalışıyor. Ayrıca sistem yüzde 99,84 daha az CO2 salınımı yapıyor.
EclipseStore’un ticari versiyonu olan MicroStream Cluster, eş zamanlı yazmalar ve birden fazla JVM örneği için özel olarak tasarlandı. Sistem ayrıca dizinleme, otomatik tembel yükleme ve eşzamansız yazma gibi özellikler sunarak verimliliği de büyük ölçüde arttıracak.