İçeriğe atla

LevelDB

LevelDB
Geliştirici(ler)Jeffrey Dean, Sanjay Ghemawat, Google Inc.
Güncel sürüm1.23 / 23 Şubat 2021 (3 yıl önce) (2021-02-23)[1]
Programlama diliC++
TürDatabase library
Resmî sitesigithub.com/google/leveldb
Kod deposu Bunu Vikiveri'de düzenleyin

LevelDB, Jeffrey Dean ve Sanjay Ghemawat tarafından yazılan açık kaynaklı bir anahtar / değer deposudur.[2][3] Bigtable'dan esinlenen[4] 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.[5]

Ö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.[6]

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.[7]

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.[8] Ayrıca, Bitcoin Çekirdek ve go-ethereum blockchain teknolojilerinde LevelDB veritabanı kullandılar.[9] Minecraft: Pocket Edition, yığın ve varlık veri depolaması için değiştirilmiş bir LevelDB sürümü kullanır.[10] 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ı.[11] 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.[12]

Hatalar ve güvenilirlik

LevelDB veritabanında bozulma hataları geçmişi vardır.[13][14][15][16][17][18] 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ı.[19]

Kaynakça

  1. ^ "Releases - google/leveldb". 29 Şubat 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Şubat 2024GitHub vasıtasıyla. 
  2. ^ "Google Research Scientists and Engineers: Jeffrey Dean". Google, Inc. 19 Kasım 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 
  3. ^ "Research Scientists and Engineers: Sanjay Ghemawat". Google, Inc. 19 Kasım 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 
  4. ^ "Google Open-Sources NoSQL Database Called LevelDB". ReadWriteWeb. 30 Temmuz 2011. 9 Ekim 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Temmuz 2011. 
  5. ^ "Google Open Source Blog: LevelDB: A Fast Persistent Key-Value Store". Google, Inc. 26 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 
  6. ^ "LevelDB storage engine". 14 Eylül 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 
  7. ^ "LevelDB mailing list: "Current Status of LevelDB"". []
  8. ^ LevelDB 6 Nisan 2016 tarihinde Wayback Machine sitesinde arşivlendi.. Docs.basho.com. Retrieved on 2013-09-18.
  9. ^ "Chapter 7. The Blockchain". 7 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ocak 2015. 
  10. ^ "Arşivlenmiş kopya". 24 Şubat 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 
  11. ^ "LevelDB Benchmarks". Google, Inc. 20 Ağustos 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 
  12. ^ "LevelDB Benchmark discussion". 24 Şubat 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 
  13. ^ "Repairing LevelDB". 6 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 
  14. ^ Issues · google/leveldb · GitHub
  15. ^ "Unrecoverable corruption in Chromium". 12 Aralık 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 
  16. ^ "Corruption in syncthing". 24 Şubat 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 
  17. ^ "Corruption after power loss". 11 Haziran 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 
  18. ^ "Corruption in Ethereum". 24 Şubat 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 
  19. ^ "All File Systems Are Not Created Equal: On the Complexity of Crafting Crash-Consistent Applications". 24 Şubat 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2020. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">MySQL</span>

MySQL, altı milyondan fazla sistemde yüklü bulunan çoklu iş parçacıklı, çok kullanıcılı, hızlı ve sağlam bir veri tabanı yönetim sistemidir.

InnoDB, MySQL AB tarafından dağıtılan tüm paketlerde yer alan standart MySQL veri tabanı motorudur. Sistemi diğer kayıt motorlarından ayıran en önemli özellik ACID uyumlu olması, aktarım ve yabancı anahtar desteği sunmasıdır.

<span class="mw-page-title-main">SQLite</span>

SQLite, dünyada en çok dağıtılan ve tavsiye edilen kaynak kodları halka açık, tamamen C/C++ programlama dilleriyle geliştirilmiş sunucu yazılımı ve yapılandırma gereksinimi olmayan, işlemsel ve ilişkisel bir SQL veritabanı motorudur.

Bilgisayar bilimleri'nde NoSQL, klasik ilişkisel veritabanı yönetim sistemlerinden (İVTYS) bir şekilde farklı olan veritabanı yönetim sistemleri için kullanılan bir kavramdır. Bu veri depolarının sabit tabela düzenlerine ihtiyaçları olmayabilir, alışılagelmiş join işlemleri kullanılmaz, tipik olarak yatay ölçeklemeye gidilir. Akademisyenlerce ve makalelerde tipik olarak böyle veri depolarına yapılanmış bellek denir. Bu kavram klasik ilişkisel veritabanlarını altküme olarak görür. Bu kavram aynı zamanda SQL ve Daha Fazlası olarak da adlandırılmaktadır.

ownCloud Özgür bulut dosya depolama hizmeti

ownCloud, genel bir terimle dosya barındırma hizmeti hizmeti sunan bir yazılım sistemidir. Yaygın kullanılan Dropbox, Google Drive hizmetlerinin aksine özgür ve açık kaynak kodlu bir yazılımdır. Kullanıcılar ownCloud'u bir özel sunucu içerisine kurarak hiçbir ücret ödemeden ve depolama miktarında veya bağlanan istemci sayısında sınır olmaksızın kullanabilir.

<span class="mw-page-title-main">Blok zinciri</span> sanal para aktarımlarının dağıtık olarak depolandığı veritabanı

Blok zinciri, blokzincir ya da özgün İngilizce tabiriyle blockchain, kriptografi kullanılarak bağlanan ve güvenli hale getirilen, bloklar adı verilen, sürekli büyüyen bir kayıt listesidir.

Mobil işletim sistemi; akıllı telefon, tablet gibi mobil elektronik aygıtlarda kullanılan sistemlerdir.

<span class="mw-page-title-main">Ethereum</span> Programlanabilir işlem fonksiyoneli ile halka açık blok zinciri platformu.

Ethereum, ERC-20 kod sistemi sayesinde birçok kripto para biriminin altyapısını oluşturan merkeziyetsiz ve açık kaynak kodlu bir blok zinciridir. Ethereum blok zincirinin kurumsal kripto para birimi ise Ether'dir. Ether, Bitcoin'den sonra en büyük piyasa değerine sahip sanal paradır.

Navicat, PremiumSoft CyberTech Ltd. tarafından MySQL, MariaDB, Oracle, SQLite, PostgreSQL ve Microsoft SQL Server için üretilen bir grafik veritabanı yönetimi ve geliştirme yazılımı serisidir. Explorer benzeri bir grafik kullanıcı arayüzüne sahiptir ve yerel ve uzak veritabanları için birden fazla veritabanı bağlantısını destekler. Tasarımı, veritabanı yöneticileri ve programcılardan, müşterilere hizmet eden ve iş ortaklarıyla bilgi paylaşan çeşitli işletmeler/şirketlere kadar çeşitli izleyicilerin ihtiyaçlarını karşılamak üzere yapılır.

<span class="mw-page-title-main">HeidiSQL</span>

HeidiSQL; MySQL'in yanı sıra Microsoft SQL Server ve PostgreSQL için ücretsiz ve açık kaynaklı bir istemcidir. Kullanıcılar HeidiSQL ile veritabanlarını yönetmek için, bir oturum oluşturarak kabul edilebilir kimlik bilgileri olan bir yerel veya uzak MySQL sunucusuna giriş yapmalıdır. Bu oturumda kullanıcılar MySQL veritabanlarını bağlı MySQL sunucusu içinde yönetebilir ve bittiğinde sunucudan bağlantısını kesebilir. Özellik kümesi, en yaygın ve gelişmiş veritabanı, tablo ve veri kaydı işlemleri için yeterlidir, ancak bir SQL veritabanı önündeki tam işlevselliğe doğru aktif olarak gelişmeye devam etmektedir.

<span class="mw-page-title-main">Fat-Free Framework</span> PHP tabanlı açık kaynak bir ağ çatısı

Fat-Free Framework, GNU Genel Kamu Lisansı altında dağıtılan, GitHub ve Sourceforge tarafından barındırılan PHP tabanlı açık kaynak bir web çatısıdır. Son derece hafif, öğrenmesi ve kullanması kolay, çok özellikli yapı sunmayı amaçlamıştır. PHP geliştiricileri tarafından kısaca F3 şeklinde isimlendirilmektedir.

<span class="mw-page-title-main">DBeaver</span>

DBeaver, bir SQL istemcisi ve veritabanı yönetim aracıdır. İlişkisel veritabanları ile JDBC sürücüleri üzerinden iletişim sağlar. Diğer veritabanları için, özel veritabanı sürücülerini kullanır. Kod tamamlayıcısı ve sözdizimi vurgulama özelliklerine sahip bir metin editörüne sahiptir. Ayrıca kullanıcılara yeni özellikler ekleyebileceği plug-in sistemi de sağlamaktadır. Masaüstü uygulaması Java diliyle yazılmıştır ve Eclipse platformu üzerine kuruludur.

<span class="mw-page-title-main">RocksDB</span>

RocksDB, anahtar / değer verileri için yüksek performanslı yerleşik bir veritabanıdır. Çoklu merkezi işlem birimi (CPU) çekirdeğinden yararlanmak ve giriş / çıkış bağlı iş yükleri için katı hal sürücüleri (SSD) gibi hızlı depolamayı verimli bir şekilde kullanmak üzere optimize edilmiş, Google tarafından geliştirilen LevelDB'nin bir çatalıdır. Günlük yapılı birleştirme ağacı veri yapısına dayanır.

Bitcoin Magazine, Bitcoin ve dijital para birimlerini kapsayan orijinal haber ve basılı dergi yayımcılarından biridir. Bitcoin Magazine 2012'de yayımlanmaya başladı. Vitalik Buterin, Mihai Alisie ve topluluğun diğer üyeleri tarafından ortaklaşa kuruldu. Şu anda Nashville, Tennessee'deki BTC Inc'e aittir ve onun tarafından işletilmektedir.

<span class="mw-page-title-main">Cardano (kripto para platformu)</span> Kripto Para

Cardano, akıllı sözleşmeler için halka açık bir blockchain platformu çalıştırmayı amaçlayan bir kripto para birimi ağı ve açık kaynaklı bir projedir. Cardano'nun dahili kripto para birimine ADA denir. Projenin gelişimi Zug, İsviçre merkezli Cardano Vakfı tarafından denetlenmektedir.

<span class="mw-page-title-main">TRON (kripto para birimi)</span>

TRON, TRX olarak bilinen, sisteme özgü bir kripto para birimine dayalı, Blockchain tabanlı merkezi olmayan bir işletim sistemidir.

<span class="mw-page-title-main">Gavin Wood</span> Ethereum kurucu ortağı ve Polkadot kurucusu

Gavin Wood, Ethereum'un kurucu ortağı ve Polkadot'un yaratıcısı olan İngiliz bir bilgisayar programcısıdır. Solidity'i icat etti ve Ethereum Virtual Machine hakkındaki Yellow Paper'ı yazdı. Wood, Ethereum Kuruluşu'nun ilk baş teknoloji sorumlusu olarak görev yaptı. 2016 yılında Ethereum'dan ayrıldıktan sonra, Bitcoin, Zcash ve Polkadot için temel altyapı geliştiren Parity Technologies'in kurucu ortağı oldu.

<span class="mw-page-title-main">Akıllı sözleşme</span>

Akıllı sözleşmeler anonim taraflar arasındaki işlemleri ve anlaşmaları güvenilir ve tutarlı bir şekilde yürütülebilen, geriye dönük değişimin mümkün olmadığı bilgisayar programlarıdır. Merkezi otoriteye, yasal sisteme veya harici icra mekanizmasına ihtiyaç duymamaktadır Akllı sözleşmeler aracı kurum ve kuruluşları ortadan kaldırdığı için hızlı ve düşük maliyetlidir. Yazılımsal algoritmalar ile şifrelenip dağıtık defterlerde tutulduğu için yüksek güvenliklidir. Akıllı sözleşmeler blok zinciri kavramından ayrı düşünülemezse de ilk olarak 1990'ların başında avukat ve kriptoloji uzmanı Nick Szabo tarafından geliştirilmiştir. Madeni veya kağıt para ile çalışan ve temelde bir takas sözleşmesi amacı üzerine kurulmuş otomat makineleri, akıllı sözleşmelerin atası olarak bilinir. Blok zincirlerine gömülü olan akıllı sözleşmeler, bir anlaşmanın sözleşme şartlarının güvenilir üçüncü tarafın müdahalesi olmadan otomatik olarak uygulanmasını sağlar. Bitcoin ilk kripto para olması dolayısıyla basit akıllı sözleşmelerin de ilk örneğidir. Fakat yapısı gereği bitcoin sadece para transferi amacıyla kullanılmaktadır. Ethereum akıllı sözleşmeleri bu noktada Bitcoinden ayrılır. Ethereum blok zinciri üzerinde daha farklı bir algoritmik yol izleyerek birçok amaca hizmet edebilecek akıllı sözleşmeler geliştirmede öncü olmuştur.

NewSQL, geleneksel bir veritabanı sisteminin ACID garantilerini korurken, çevrimiçi işlem işleme iş yükleri için NoSQL sistemlerinin ölçeklenebilirliğini sağlamaya çalışan bir ilişkisel veritabanı yönetim sistemleri sınıfıdır.

<span class="mw-page-title-main">MetaMask</span> Yazılım kripto para cüzdanı

MetaMask Ethereum blok zinciri ile etkileşim kurmak için kullanılan bir kripto para cüzdanıdır. Kullanıcıların, daha sonra merkeziyetsiz uygulamalarla etkileşim kurmak için kullanılabilecek bir tarayıcı eklentisi veya mobil uygulama aracılığıyla Ethereum cüzdanlarına erişmelerine olanak tanır. MetaMask, Ethereum tabanlı araçlara ve altyapıya odaklanan bir blok zinciri yazılım şirketi olan ConsenSys Software Inc. tarafından geliştirilmiştir.