LevelDB Nedir ? |
12-06-2016 | #1 |
[KAPLAN]
|
LevelDB Nedir ?LevelDB, Google arkadaşları Jeffrey Dean ve Sanjay Ghemawat tarafından yazılmış, açık kaynaklı bir on-disk anahtar değeri mağazasıdır Bigtable'dan ilham alarak, LevelDB, Yeni BSD Lisansı altında GitHub'da barındırılıyor ve çeşitli Unix tabanlı sistemlere (Mac OS X, Windows ve Android) taşınmıştır Özellikleri LevelDB, tuşları ve değerleri rasgele bayt dizilerinde saklar ve veriler anahtarla sıralanır Toplu yazımları, ileri geri iterasyonunu ve verilerin Google'ın Snappy sıkıştırma kitaplığı üzerinden sıkıştırılmasını destekliyor LevelDB bir SQL veritabanı değildir Diğer NoSQL ve Dbm depolarında olduğu gibi ilişkisel veri modeline sahip değildir ve SQL sorgularını desteklemez Ayrıca, dizinleri için hiçbir desteği yoktur Bir sunucu veya komut satırı arabirimi sağlamadığı için uygulamalar, LevelDB'yi bir kitaplık olarak kullanmaktadır MariaDB 100, kullanıcıların MariaDB'den LevelDB tablolarını sorgulamasına olanak tanıyan bir depolama motoruyla birlikte gelir Tarihçesi LevelDB, Google'ın BigTable veritabanı sistemindeki kavramlara dayanmaktadır BigTable sistemi için tablo uygulaması 2004 yılından itibaren geliştirildi ve LevelDB kodundan farklı bir Google iç kod tabanına dayanıyordu Bu kod tabanı, kendileri tarafından açık kaynaklı olmayan bir dizi Google kod kütüphanesine dayanıyor, bu nedenle doğrudan açık kaynak koda dönüştürmek zor olacaktı Jeff Dean ve Sanjay Ghemawat, bağımlılığı az olan ve açık kaynak için uygun olan BigTable tablet yığınını andıran bir sistem oluşturmak istedi ve ayrıca IndexedDB uygulaması için Chrome'da kullanım için uygun olacaktır 2011 başında BigTable tablet yığını ile aynı genel tasarımdan başlayarak LevelDB'yi yazdılar ancak kodlardan hiçbirini paylaşmadılar Performans Google, LevelDB'nin performansını SQLite ve Kyoto Kabiniyle karşılaştıran farklı senaryolarda karşılaştırma ölçütleri sağladı LevelDB, yazma işlemleri ve ardışık sırayla okuma işlemlerinde hem SQLite hem de Kyoto Dolabından daha iyi performans gösterir LevelDB ayrıca toplu işlerde üstünlük sağlar, ancak büyük değerlerle uğraşırken SQLite'dan daha yavaştır SQLite yapılandırma hataları sonuçların daha önceki bir sürümünde kaydedildikten sonra şu anda yayınlanmış olan benchmarklar güncellendi Güncellenmiş benchmarks , LevelDB'nin Berkeley DB'den daha iyi performans gösterdiğini gösteriyor ancak bu testler, OpenLDAP LightningDB'in okuma işlemlerinde ve bazı yazma türlerinde (örneğin, toplu iş ve senkronize yazmalar) çok daha hızlı olduğunu (bazı senaryolarda ~ 10 kez) ) Ve testin geri kalanında neredeyse eşittir |
|