Canonical ประกาศเวอร์ชัน 1.0 ของ Dqlite ซึ่งเป็น C Library สำหรับ SQL

ตามบัญญัติของวัด

เมื่อสัปดาห์ที่แล้ว Canonical ประกาศเปิดตัวโครงการ Dqlite 1.0 เวอร์ชันหลัก, คุณกำลังพัฒนาโปรแกรม SQL รองรับ SQLite ในตัวที่รองรับการจำลองข้อมูลการกู้คืนระบบอัตโนมัติและการยอมรับข้อผิดพลาดโดยครอบคลุมหลายโหนด

Dqlite เป็นไลบรารี C มันใช้เอ็นจิ้นฐานข้อมูลที่จำลองแบบและ SQL ที่มีความพร้อมใช้งานสูงและเฟลโอเวอร์อัตโนมัติ ตัวย่อ "dqlite" ย่อมาจาก "Distributed SQLite" ซึ่งหมายความว่า dqlite ขยาย SQLite ด้วยโปรโตคอลเครือข่ายที่สามารถเชื่อมต่อหลายอินสแตนซ์ของแอปพลิเคชันของคุณและทำให้พวกเขาทำหน้าที่เป็นคลัสเตอร์ที่พร้อมใช้งานสูงโดยไม่ต้องพึ่งพาฐานข้อมูลภายนอก

ดังกล่าวแล้ว DBMS ถูกนำไปใช้ในรูปแบบของไลบรารี C ที่แนบมากับแอ็พพลิเคชัน และเผยแพร่ภายใต้ใบอนุญาต Apache 2.0 (SQLite ดั้งเดิมมีให้ในโดเมนสาธารณะ) ไลบรารีเป็นปลั๊กอินบนฐานของโค้ด SQLite ที่มีอยู่ ซึ่งเพิ่มการสนับสนุนโปรโตคอลเครือข่ายเพื่อเชื่อมโยงหลายอินสแตนซ์ของแอปพลิเคชันที่ทำงานบนโฮสต์ที่แตกต่างกัน

แอปพลิเคชันที่สร้างด้วย Dqlite สามารถทำหน้าที่เป็นคลัสเตอร์เฟลโอเวอร์ได้ โดยความผิดพลาดอัตโนมัติโดยไม่ขึ้นกับ DBMS ภายนอก

ในทางปฏิบัติ Canonical ใช้ Dqlite ในระบบจัดการคอนเทนเนอร์ LXD. ในส่วนแอปพลิเคชันของห้องสมุดยังมีการกล่าวถึงการสร้างอุปกรณ์ Internet of Things และโปรเซสเซอร์ที่ทนต่อความผิดพลาดในระบบประมวลผล Edge

เพื่อให้แน่ใจว่ามีความสอดคล้องกันในการจำลองข้อมูลจึงใช้วิธีการฉันทามติตามอัลกอริทึม Raft ซึ่งใช้ในโครงการต่างๆเช่น etcd, RethinkDB, CockroachDB และ OpenDaylight Dqlite ใช้การใช้งาน C-raft แบบอะซิงโครนัสของตัวเองซึ่งเขียนด้วยภาษา C

ในการมัลติเพล็กซ์การประมวลผลการเชื่อมต่อและจัดการการเรียกใช้โครูทีนจะใช้ไลบรารีไลบรารีและ libco ที่เตรียมไว้

เมื่อเทียบกับโครงการ rqlite ที่คล้ายกัน Dqlite ให้การสนับสนุนธุรกรรมเต็มรูปแบบมันสามารถสื่อสารกับโปรเจ็กต์ C ใด ๆ ช่วยให้คุณใช้ฟังก์ชัน time () และใช้การจำลองแบบตามเฟรมแทนการจำลองตามการแปลนิพจน์ SQL

คุณสมบัติที่สามารถเน้นใน Dqlite มีดังต่อไปนี้:

  • ดำเนินการดิสก์และเครือข่ายทั้งหมดในโหมดอะซิงโครนัส
  • การมีชุดการทดสอบเพื่อยืนยันความถูกต้องของข้อมูล
  • การใช้หน่วยความจำต่ำและการแลกเปลี่ยนข้อมูลที่มีประสิทธิภาพผ่านเครือข่าย
  • พื้นที่จัดเก็บดิสก์ฐานข้อมูลถาวรและบันทึกธุรกรรม (พร้อมความสามารถในการแคชในหน่วยความจำ)
  • การกู้คืนอย่างรวดเร็วหลังจากความล้มเหลว
  • ไคลเอ็นต์ CLI ที่เสถียรในภาษา Go ซึ่งสามารถใช้เพื่อเริ่มต้นฐานข้อมูลกำหนดค่าการจำลองแบบและเชื่อมต่อ / ยกเลิกการเชื่อมต่อโหนด
  • รองรับสถาปัตยกรรม ARM, X86, POWER และ IBM Z
  • การใช้อัลกอริทึม Raft ได้รับการปรับให้เหมาะสมเพื่อลดเวลาแฝงของธุรกรรม
  • การใช้งานเธรดเดี่ยวแบบอะซิงโครนัสโดยใช้ libuv เป็นลูปเหตุการณ์
  • โปรโตคอลลวดแบบกำหนดเองได้รับการปรับให้เหมาะสมสำหรับข้อมูลพื้นฐานและชนิดข้อมูล
  • การจำลองข้อมูลตามอัลกอริทึม Raft และการนำไปใช้อย่างมีประสิทธิภาพใน C-raft

จะติดตั้ง Dqlite บน Ubuntu และอนุพันธ์ได้อย่างไร?

Canonical ให้ข้อมูลเกี่ยวกับวิธีสร้างไคลเอนต์สำหรับการโต้ตอบกับ Dqlite คุณสามารถปรึกษาเรื่องนี้ได้ ในลิงค์ต่อไปนี้.

ตอนนี้สำหรับการติดตั้งไลบรารีบนระบบ สามารถติดตั้งได้สองวิธีสำหรับผู้ใช้ Ubuntu หรืออนุพันธ์อื่น ๆ ของมัน Canonical ให้ PPA จากที่ซึ่งสามารถหาได้ด้วยวิธีที่ค่อนข้างง่าย

PPA นี้สามารถเพิ่มได้จากเทอร์มินัลและดำเนินการคำสั่งต่อไปนี้:

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

วิธีอื่นในการติดตั้งไลบรารีนี้คือการคอมไพล์ ของสิ่งนี้ในระบบดังนั้นนี่จึงเป็นวิธีการทั่วไปสำหรับทั้ง Ubuntu และลีนุกซ์รุ่นอื่น ๆ

ในการทำเช่นนี้พวกเขาจะต้องเปิดเทอร์มินัลและดำเนินการคำสั่งต่อไปนี้:

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

เมื่อติดตั้งไลบรารีที่จำเป็นทั้งหมดแล้วเพื่อสร้างไลบรารีที่ใช้ร่วมกัน dqlite คุณสามารถเรียกใช้:

autoreconf -i
./configure
make
sudo make install

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา