Canonical, SQL için C Kitaplığı olan Dqlite'ın 1.0 Sürümünü Duyurdu

Standart

Geçen hafta Canonical, Dqlite 1.0 projesinin ana sürümünün piyasaya sürüldüğünü duyurdu, bir SQL motoru geliştiriyorsunuz Birden çok düğümü kapsayarak veri çoğaltmayı, otomatik olağanüstü durum kurtarmayı ve hata toleransını destekleyen yerleşik SQLite uyumlu.

Dqlite bir C kütüphanesidir Yüksek kullanılabilirlik ve otomatik yük devretme ile çoğaltılmış ve SQL veritabanı motoru uygular. "Dqlite" kısaltması "Dağıtılmış SQLite" anlamına gelir, Bu, dqlite'ın SQLite'ı, uygulamanızın birden çok örneğini bağlayabilen ve harici veritabanlarına bağımlı olmadan yüksek düzeyde kullanılabilir bir küme gibi davranmasını sağlayan bir ağ protokolüyle genişlettiği anlamına gelir.

Söylendiği gibi DBMS, uygulamalara eklenmiş bir C kitaplığı biçiminde uygulanır ve Apache 2.0 lisansı altında dağıtılır (orijinal SQLite kamu malı olarak sağlanır). Kütüphane, mevcut SQLite kodunu temel alan bir eklentidir, Bu, farklı ana bilgisayarlarda çalışan uygulamanın birden çok örneğini bağlamak için ağ protokolü desteği ekler.

Dqlite ile oluşturulmuş bir uygulama, yük devretme kümesi olarak işlev görebilir özerk bir hata ile, harici DBMS'den bağımsız.

Uygulamada, Canonical, LXD konteyner yönetim sisteminde Dqlite kullanıyor. Kütüphanenin uygulama alanları arasında, Edge bilişim sistemlerinde hataya dayanıklı Nesnelerin İnterneti cihazlarının ve işlemcilerinin oluşturulması da bahsedilmektedir.

Veri replikasyonunda tutarlılığı sağlamak için etcd, RethinkDB, CockroachDB ve OpenDaylight gibi projelerde kullanılan Raft algoritmasına dayalı bir fikir birliği yöntemi kullanılmaktadır. Dqlite, C ile yazılmış kendi eşzamansız C-raft uygulamasını kullanır.

Bağlantı işlemeyi çoğaltmak ve eşgüdümlerin başlatılmasını organize etmek için hazırlanan kitaplıklar libuv ve libco kullanılır.

Benzer bir rqlite projesiyle karşılaştırıldığında, Dqlite tam işlem desteği sağlar, herhangi bir C projesi ile iletişim kurabilir, time () işlevini kullanmanıza izin verir ve SQL ifadesi çeviri tabanlı çoğaltma yerine çerçeve tabanlı çoğaltma kullanır.

Dqlite'de vurgulanabilecek özellikler şunlardır:

  • Eşzamansız modda tüm disk ve ağ işlemlerini gerçekleştirin
  • Verilerin doğruluğunu onaylamak için bir dizi testin varlığı
  • Düşük bellek tüketimi ve ağ üzerinden verimli veri alışverişi
  • Kalıcı veritabanı disk depolama ve işlem günlüğü (bellek içi önbelleğe alma özelliğiyle)
  • Arızalardan sonra hızlı kurtarma
  • Veritabanını başlatmak, çoğaltmayı yapılandırmak ve düğümleri bağlamak / bağlantısını kesmek için kullanılabilen Go dilinde kararlı CLI istemcisi
  • ARM, X86, POWER ve IBM Z mimarileri için destek
  • Raft algoritmasının uygulanması, işlem gecikmesini en aza indirmek için optimize edilmiştir.
  • Bir olay döngüsü olarak libuv kullanan zaman uyumsuz tek iş parçacıklı uygulama.
  • SQLite ilkelleri ve veri türleri için optimize edilmiş özel kablo protokolü.
  • Veri replikasyonu, Raft algoritmasına ve bunun C-raft'ta verimli uygulanmasına dayanır.

Dqlite Ubuntu ve türevlerine nasıl kurulur?

Canonical, Dqlite ile etkileşim için nasıl bir müşteri oluşturabileceğiniz hakkında bilgi sağlar, buna danışabilirsiniz. Aşağıdaki bağlantıda.

Şimdi kitaplığı sisteme kurmaya gelince, Bu, Ubuntu kullanıcısı olanlar için iki şekilde kurulabilir veya herhangi bir başka türevi. Canonical bir PPA sağlar oldukça basit bir şekilde elde edilebileceği yerden.

Bu PPA, bir terminalden eklenebilir ve içinde aşağıdaki komutlar çalıştırılabilir:

sudo add-apt-repository ppa:dqlite/v1
sudo apt-get update
sudo apt-get install libdqlite-dev

Bu kitaplığı kurmanın diğer yöntemi derlemektir. sistemde bu yüzden bu hem Ubuntu hem de diğer Linux dağıtımları için daha genel bir yöntemdir.

Bunu yapmak için, sadece bir terminal açmaları ve aşağıdaki komutları çalıştırmaları gerekir:

git clone --depth 100 https://github.com/canonical/sqlite.git
cd sqlite
./configure --enable-replication
make
sudo make install
cd ..
git clone https://github.com/canonical/libco.git
cd libco
make
sudo make install
cd ..
git clone https://github.com/canonical/raft.git
cd raft
autoreconf -i
./configure
make
sudo make install
cd ..

Gerekli tüm kitaplıklar yüklendikten sonra, dqlite paylaşılan kitaplığını oluşturmak için şunları çalıştırabilirsiniz:

autoreconf -i
./configure
make
sudo make install

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.