LevelDB

LevelDB, Jeffrey Dean ve Sanjay Ghemawat tarafından yazılan açık kaynaklı bir anahtar / değer deposudur. Bigtable'dan esinlenen LevelDB, GitHub'da Yeni BSD Lisansı altında barındırılmaktadır ve çeşitli Unix tabanlı sistemlere, macOS, Windows ve Android'e taşınmıştır.

Özellikleri 
LevelDB anahtarları ve değerleri bayt dizilerinde saklar ve veriler anahtarlara göre sıralanır. Toplu yazma, ileri geri yineleme ve verilerin Google'ın Snappy sıkıştırma kütüphanesi aracılığıyla sıkıştırılmasını destekler.

LevelDB bir SQL veritabanı değildir. Diğer dbm depoları gibi ilişkisel bir veri modeli yoktur ve SQL sorgularını desteklemez. Ayrıca, dizinler için desteği yoktur. Uygulamalar, sunucu veya komut satırı arabirimi sağlamadığından LevelDB'yi kitaplık olarak kullanır.

MariaDB 10.0, kullanıcıların MariaDB'den LevelDB tablolarını sorgulamasına izin veren bir depolama motoruyla birlikte gelir.

Tarihçe 
LevelDB, Google'ın Bigtable'ina dayanmaktadır. Bigtable sistemi için tablo uygulaması yaklaşık 2004'ten itibaren geliştirilmiştir ve LevelDB kodundan farklı bir kod tabanına dayanmaktadır. Bu kod tabanı, kendileri açık kaynaklı olmayan bir dizi Google kod kütüphanesine dayanmaktadır, bu nedenle doğrudan açık kod bulmak zor olurdu. Jeff Dean ve Sanjay Ghemawat, Bigtable yığınına benzeyen, minimum bağımlılığa sahip ve açık kaynak kullanımı için uygun olacak ve ayrıca IndexedDB uygulamasının Chrome'da kullanımı için uygun bir sistem oluşturmak istediler. 2011'in başlarından itibaren Bigtable yığını ile aynı genel tasarıma sahip ancak hiçbir ortak kodu bulunmayan LevelDB'i yazdılar.

Kullanım 
LevelDB, Google Chrome'un IndexedDB'si için backend veritabanı olarak kullanılır ve Riak için desteklenen arka uçlardan biridir. Ayrıca, Bitcoin Çekirdek ve go-ethereum blockchain teknolojilerinde LevelDB veritabanı kullandılar. Minecraft: Pocket Edition, yığın ve varlık veri depolaması için değiştirilmiş bir LevelDB sürümü kullanır. Autodesk AutoCAD 2016 da LevelDB kullanmaktadır.

Verim 
Google, LevelDB'nin performansını SQLite ve Kyoto Cabinet ile farklı senaryolarda karşılaştıran kıyaslamalar sağladı. LevelDB yazma işlemlerinde ve sıralı okuma işlemlerinde hem SQLite hem de Kyoto Kabini'nden daha iyi performans gösterir. Ayrıca toplu yazma işlemlerinde de mükemmeldir, ancak büyük değerlerle uğraşırken SQLite'dan daha yavaştır. Şu anda yayınlanan karşılaştırmalar, sonuçların önceki bir sürümünde SQLite yapılandırma hataları kaydedildikten sonra güncellendi.

Hatalar ve güvenilirlik 
LevelDB veritabanında bozulma hataları geçmişi vardır. 2014'te yapılan bir araştırma, bu veritabanının eski dosya sistemlerinde bir çökme veya elektrik kesintisinden sonra bozulabileceğini ortaya çıkardı.

Kaynakça 

BSD lisansı kullanan yazılımlar
Gömülü veritabanları
Veri tabanı motorları
NoSQL
Google yazılımları
C++ kütüphaneleri
2011 yazılımları