กลับไปหน้าบทความ

อ่าน 3 นาที

เลเวลดีบี

LevelDB เป็น ที่เก็บข้อมูล แบบคีย์ -ค่าบนดิสก์แบบโอเพนซอร์ส ที่เขียนโดย Jeffrey Dean และ Sanjay Ghemawat ซึ่งเป็นนักวิจัยของ Google [ 2 ] [ 3 ] ได้รับแรงบันดาลใจจาก Bigtable [ 4 ]...

เลเวลดีบี

เลเวลดีบี
นักพัฒนาเจฟฟรีย์ ดีน , ซันเจย์ เกมาวัต , กูเกิล อิงค์
เวอร์ชันเสถียร
1.23 [ 1 ] แก้ไขข้อมูลนี้บนวิกิดาต้า / 23 กุมภาพันธ์ 2021 ( 23 กุมภาพันธ์ 2564 )
เขียนเป็นซี++
ขนาด350 กิโลไบต์ (ขนาดไบนารี)
พิมพ์ห้องสมุดฐานข้อมูล
ใบอนุญาตใบอนุญาต BSD ใหม่
เว็บไซต์github.com/google/leveldb แก้ไขข้อมูลนี้บนวิกิดาต้า
ที่เก็บข้อมูล
  • github.com/google/leveldb

LevelDBเป็น ที่เก็บข้อมูล แบบคีย์-ค่าบนดิสก์แบบโอเพนซอร์สที่เขียนโดย Jeffrey Dean และ Sanjay Ghemawat ซึ่งเป็นนักวิจัยของ Google [ 2 ] [ 3 ] ได้รับแรงบันดาลใจจาก Bigtable [ 4 ]ซอร์สโค้ดของ LevelDB อยู่บนGitHub ภายใต้ใบอนุญาต New BSDและได้รับการพอร์ตไปยัง ระบบ ต่างๆที่ ใช้ Unix , macOS , WindowsและAndroid [ 5 ]

คุณสมบัติ

LevelDB จัดเก็บคีย์และค่าในอาร์เรย์ไบต์แบบไม่จำกัด และข้อมูลจะถูกจัดเรียงตามคีย์ รองรับการเขียนข้อมูลเป็นกลุ่ม การวนซ้ำไปข้างหน้าและย้อนกลับ และการบีบอัดข้อมูลผ่านไลบรารีการบีบอัด Snappy ของ Google

LevelDB ไม่ใช่ ฐานข้อมูล SQL เช่นเดียวกับฐานข้อมูล NoSQLและdbmอื่นๆมันไม่มีโมเดลข้อมูลเชิงสัมพันธ์และไม่รองรับการสืบค้นข้อมูลด้วย SQL นอกจากนี้ยังไม่รองรับดัชนีแอปพลิเคชันต่างๆ ใช้ LevelDB เป็นไลบรารี เนื่องจากมันไม่ได้ให้บริการเซิร์ฟเวอร์หรืออินเทอร์เฟซบรรทัดคำสั่ง

MariaDB 10.0 มาพร้อมกับเอนจินจัดเก็บข้อมูลที่อนุญาตให้ผู้ใช้สามารถสอบถามตาราง LevelDB จาก MariaDB ได้[ 6 ]

ประวัติศาสตร์

LevelDB สร้างขึ้นจากแนวคิดของ ระบบฐานข้อมูล Bigtable ของ Google การใช้งานตารางสำหรับระบบ Bigtable ได้รับการพัฒนาขึ้นตั้งแต่ประมาณปี 2004 และใช้ฐานรหัสภายในของ Google ที่แตกต่างจากรหัส LevelDB ฐานรหัสดังกล่าวอาศัยไลบรารีรหัสของ Google จำนวนมากที่ไม่เปิดเผยเป็นโอเพนซอร์ส ดังนั้นการเปิดเผยรหัสเหล่านั้นเป็นโอเพนซอร์สโดยตรงจึงเป็นเรื่องยาก Jeff Dean และ Sanjay Ghemawat ต้องการสร้างระบบที่คล้ายกับสแต็กแท็บเล็ต Bigtable ที่มีการพึ่งพาน้อยที่สุดและเหมาะสมสำหรับการเปิดเผยเป็นโอเพนซอร์ส และยังเหมาะสมสำหรับการใช้งานใน Chrome สำหรับ การใช้งาน IndexedDBพวกเขาเขียน LevelDB ขึ้นตั้งแต่ต้นปี 2011 โดยใช้การออกแบบทั่วไปเหมือนกับสแต็กแท็บเล็ต Bigtable แต่ไม่ได้แชร์รหัสใดๆ[ 7 ]

การใช้งาน

LevelDB ถูกใช้เป็นฐานข้อมูลแบ็กเอนด์สำหรับIndexedDBของGoogle Chromeและเป็นหนึ่งในแบ็กเอนด์ที่รองรับสำหรับRiak [ 8 ]นอกจากนี้Bitcoin Coreและ go-ethereum ยังจัดเก็บ ข้อมูลเมตา ของบล็อกเชนโดยใช้ฐานข้อมูล LevelDB [ 9 ] Minecraft Bedrock Editionใช้เวอร์ชันที่แก้ไขแล้วสำหรับการจัดเก็บข้อมูลชิ้นส่วนและเอนทิตี[ 10 ] Autodesk AutoCAD 2016 ก็ใช้ LevelDB เช่นกัน

ผลงาน

Google ได้จัดทำเกณฑ์มาตรฐานเปรียบเทียบประสิทธิภาพของ LevelDB กับSQLiteและKyoto Cabinetในสถานการณ์ต่างๆ[ 11 ] LevelDB มีประสิทธิภาพเหนือกว่าทั้ง SQLite และ Kyoto Cabinet ในการดำเนินการเขียนและการดำเนินการอ่านตามลำดับ LevelDB ยังโดดเด่นในการเขียนแบบกลุ่ม แต่ช้ากว่า SQLite เมื่อจัดการกับค่าขนาดใหญ่ เกณฑ์มาตรฐานที่เผยแพร่ในปัจจุบันได้รับการอัปเดตหลังจากพบข้อผิดพลาดในการกำหนดค่า SQLite ในผลลัพธ์เวอร์ชันก่อนหน้า[ 12 ]เกณฑ์มาตรฐานที่อัปเดตแล้ว[ 13 ]แสดงให้เห็นว่า LevelDB ยังมีประสิทธิภาพเหนือกว่าBerkeley DBแต่การทดสอบเหล่านี้ยังแสดงให้เห็นว่าOpenLDAP LightningDBเร็วกว่ามาก (~10 เท่าในบางสถานการณ์) ในการดำเนินการอ่านและประเภทการเขียนบางประเภท (เช่น การเขียนแบบกลุ่มและแบบซิงโครนัส ดูลิงก์ด้านบน) และเกือบเท่ากันในส่วนที่เหลือของการทดสอบ

เกณฑ์มาตรฐานทั้งหมดข้างต้นมีมาตั้งแต่ปี 2011 ถึง 2014 และอาจมีความสำคัญในเชิงประวัติศาสตร์เท่านั้น เนื่องจาก SQLite มีประสิทธิภาพมากขึ้นอย่างเห็นได้ชัด[ 14 ]

บั๊กและความน่าเชื่อถือ

LevelDB มีประวัติของบั๊กที่ทำให้ฐานข้อมูลเสียหาย[ 15 ] [ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ]การศึกษาในปี 2014 พบว่าในระบบไฟล์ที่ไม่มีการตรวจสอบผลรวม ฐานข้อมูลอาจเสียหายได้หลังจากเกิดการขัดข้องหรือไฟฟ้าดับ[ 21 ]

ดูเพิ่มเติม

  • เว็บไซต์อย่างเป็นทางการ
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=LevelDB&oldid=1308567070 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เลเวลดีบี

LevelDB เป็น ที่เก็บข้อมูล แบบคีย์ -ค่าบนดิสก์แบบโอเพนซอร์ส ที่เขียนโดย Jeffrey Dean และ Sanjay Ghemawat ซึ่งเป็นนักวิจัยของ Google [ 2 ] [ 3 ] ได้รับแรงบันดาลใจจาก Bigtable [ 4 ]...

คุณสมบัติ

LevelDB จัดเก็บคีย์และค่าในอาร์เรย์ไบต์แบบไม่จำกัด และข้อมูลจะถูกจัดเรียงตามคีย์ รองรับการเขียนข้อมูลเป็นกลุ่ม การวนซ้ำไปข้างหน้าและย้อนกลับ และการบีบอัดข้อมูลผ่านไลบรารีการบีบอัด Snappy ของ Google

ประวัติศาสตร์

LevelDB สร้างขึ้นจากแนวคิดของ ระบบฐานข้อมูล Bigtable ของ Google การใช้งานตารางสำหรับระบบ Bigtable ได้รับการพัฒนาขึ้นตั้งแต่ประมาณปี 2004 และใช้ฐานรหัสภายในของ Google ที่แตกต่างจากรหัส LevelDB ฐานรหัสดังกล่าวอาศัยไลบรารีรหัสของ Google...

การใช้งาน

LevelDB ถูกใช้เป็นฐานข้อมูลแบ็กเอนด์สำหรับ IndexedDB ของ Google Chrome และเป็นหนึ่งในแบ็กเอนด์ที่รองรับสำหรับ Riak [ 8 ] นอกจากนี้ Bitcoin Core และ go-ethereum ยังจัดเก็บ ข้อมูลเมตา ของบล็อกเชน โดยใช้ฐานข้อมูล LevelDB [ 9 ] Minecraft Bedrock Edition...