TiDB 3.0 เผยแพร่ DBMS แบบกระจาย

มีอยู่ การเปิดตัว DBMS แบบกระจาย ทีไอดีบี 3.0พัฒนาภายใต้อิทธิพลของเทคโนโลยีของ Google ประแจ и F1. TiDB อยู่ในหมวดหมู่ของระบบ HTAP แบบไฮบริด (การประมวลผลธุรกรรม/การวิเคราะห์แบบไฮบริด) ที่สามารถให้บริการธุรกรรมแบบเรียลไทม์ (OLTP) และประมวลผลการสืบค้นเชิงวิเคราะห์ โครงการนี้เขียนด้วยภาษา Go และ จัดจำหน่ายโดย ได้รับอนุญาตภายใต้ Apache 2.0

คุณสมบัติของ TiDB:

  • การสนับสนุน SQL และการจัดเตรียมอินเทอร์เฟซไคลเอนต์ที่เข้ากันได้กับโปรโตคอล MySQL ซึ่งช่วยให้การปรับแอปพลิเคชันที่มีอยู่ที่เขียนสำหรับ MySQL เป็น TiDB ง่ายขึ้น และยังอนุญาตให้ใช้ไลบรารีไคลเอนต์ทั่วไปได้อีกด้วย นอกจากโปรโตคอล MySQL แล้ว คุณยังสามารถใช้ API ที่ใช้ JSON และตัวเชื่อมต่อสำหรับ Spark เพื่อเข้าถึง DBMS ได้
  • คุณสมบัติ SQL รองรับดัชนี, ฟังก์ชันการรวม, GROUP BY, ORDER BY, นิพจน์ DISTINCT, การรวม (LEFT JOIN / RIGHT JOIN / CROSS JOIN), มุมมอง, ฟังก์ชันหน้าต่าง และแบบสอบถามย่อย ความสามารถที่ให้มานั้นเพียงพอที่จะจัดระเบียบงานกับ TiDB สำหรับเว็บแอปพลิเคชันเช่น PhpMyAdmin Gogs และเวิร์ดเพรส;
  • ความสามารถในการปรับขนาดแนวนอนและความทนทานต่อข้อผิดพลาด: สามารถเพิ่มขนาดพื้นที่จัดเก็บข้อมูลและพลังการประมวลผลได้เพียงเชื่อมต่อโหนดใหม่ ข้อมูลถูกกระจายข้ามโหนดโดยมีความซ้ำซ้อน ช่วยให้ดำเนินการต่อไปได้หากแต่ละโหนดล้มเหลว ความล้มเหลวจะได้รับการจัดการโดยอัตโนมัติ
  • ระบบรับประกันความสอดคล้องและสำหรับซอฟต์แวร์ไคลเอ็นต์นั้น ดูเหมือน DBMS ขนาดใหญ่ตัวเดียว แม้ว่าในความเป็นจริงแล้ว ข้อมูลจากหลายโหนดจะถูกดึงดูดเพื่อทำธุรกรรมให้เสร็จสมบูรณ์
  • ในการจัดเก็บข้อมูลทางกายภาพบนโหนด สามารถใช้แบ็กเอนด์ที่แตกต่างกันได้ เช่น เอ็นจิ้นการจัดเก็บข้อมูลในเครื่อง GoLevelDB และ BoltDB หรือเอ็นจิ้นการจัดเก็บข้อมูลแบบกระจายของเราเอง ทีเควี.
  • ความสามารถในการเปลี่ยนสคีมาพื้นที่เก็บข้อมูลแบบอะซิงโครนัส ทำให้คุณสามารถเพิ่มคอลัมน์และดัชนีได้ทันทีโดยไม่ต้องหยุดการประมวลผลการดำเนินการที่กำลังดำเนินอยู่

หลัก นวัตกรรม:

  • มีการดำเนินงานเพื่อเพิ่มผลผลิต ในการทดสอบ Sysbench รุ่น 3.0 จะเร็วกว่าสาขา 2.1 ถึง 1.5 เท่า เมื่อดำเนินการเลือกและอัปเดต และในการทดสอบ TPC-C 4.5 เท่า การเพิ่มประสิทธิภาพส่งผลต่อแบบสอบถามประเภทต่างๆ รวมถึงแบบสอบถามย่อย IN, DO และ NOT EXISTS, การดำเนินการรวมตาราง (JOIN), การใช้ดัชนี และอื่นๆ อีกมากมาย
    TiDB 3.0 เผยแพร่ DBMS แบบกระจายTiDB 3.0 เผยแพร่ DBMS แบบกระจาย

  • เพิ่มกลไกการจัดเก็บ TiFlash ใหม่ที่ช่วยให้มีประสิทธิภาพที่สูงขึ้นในการแก้ปัญหาการวิเคราะห์ (OLAP) ด้วยการจัดเก็บแบบเรียงเป็นแนว TiFlash ช่วยเสริมพื้นที่จัดเก็บข้อมูล TiKV ที่นำเสนอก่อนหน้านี้ ซึ่งจัดเก็บข้อมูลแบบแถวในรูปแบบคีย์/ค่า และเหมาะอย่างยิ่งสำหรับงานประมวลผลธุรกรรม (OLTP) TiFlash ทำงานเคียงข้างกับ TiKV และข้อมูลยังคงถูกจำลองแบบไปยัง TiKV เหมือนก่อนที่จะใช้โปรโตคอล Raft เพื่อพิจารณาฉันทามติ แต่สำหรับแบบจำลอง Raft แต่ละกลุ่ม จะมีการสร้างแบบจำลองเพิ่มเติมซึ่งใช้ใน TiFlash แนวทางนี้ช่วยให้มีการแบ่งปันทรัพยากรที่ดีขึ้นระหว่างงาน OLTP และ OLAP และยังทำให้ข้อมูลธุรกรรมพร้อมใช้งานทันทีสำหรับการสืบค้นเชิงวิเคราะห์

    TiDB 3.0 เผยแพร่ DBMS แบบกระจาย

  • มีการนำตัวรวบรวมขยะแบบกระจายมาใช้ ซึ่งสามารถเพิ่มความเร็วของการรวบรวมขยะในกลุ่มขนาดใหญ่ได้อย่างมาก และปรับปรุงความเสถียร
  • เพิ่มการใช้งานการควบคุมการเข้าถึงตามบทบาท (RBAC) แบบทดลองแล้ว นอกจากนี้ยังสามารถตั้งค่าสิทธิ์การเข้าถึงสำหรับการดำเนินการ ANALYZE, USE, SET GLOBAL และ SHOW PROCESSLIST ได้อีกด้วย
  • เพิ่มความสามารถในการใช้นิพจน์ SQL เพื่อแยกข้อความค้นหาที่ช้าออกจากบันทึก
  • มีการนำกลไกในการกู้คืนตารางที่ถูกลบอย่างรวดเร็วมาใช้ ช่วยให้คุณสามารถกู้คืนข้อมูลที่ถูกลบโดยไม่ตั้งใจ
  • รูปแบบของบันทึกที่บันทึกไว้ได้รับการรวมเป็นหนึ่งเดียว
  • เพิ่มการรองรับโหมดการล็อคในแง่ร้าย ซึ่งทำให้การประมวลผลธุรกรรมคล้ายกับ MySQL มากขึ้น
  • เพิ่มการรองรับฟังก์ชั่นหน้าต่าง (ฟังก์ชั่นหน้าต่างหรือฟังก์ชั่นการวิเคราะห์) ที่เข้ากันได้กับ MySQL 8.0 ฟังก์ชันหน้าต่างช่วยให้คุณสามารถคำนวณแถวการสืบค้นแต่ละแถวโดยใช้แถวอื่นได้ ต่างจากฟังก์ชันรวมที่ยุบชุดแถวที่จัดกลุ่มเป็นแถวเดียว ฟังก์ชันหน้าต่างจะรวมตามเนื้อหาของ "หน้าต่าง" ซึ่งประกอบด้วยแถวตั้งแต่หนึ่งแถวขึ้นไปจากชุดผลลัพธ์ ในบรรดาฟังก์ชั่นหน้าต่างที่นำมาใช้:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK และ ROW_NUMBER;

  • เพิ่มการสนับสนุนการทดลองสำหรับมุมมอง (VIEW);
  • ระบบการแบ่งพาร์ติชันได้รับการปรับปรุง มีการเพิ่มความสามารถในการกระจายข้อมูลออกเป็นส่วนๆ ตามช่วงของค่าหรือแฮช
  • มีการเพิ่มเฟรมเวิร์กสำหรับการพัฒนาปลั๊กอิน เช่น ปลั๊กอินได้ถูกจัดเตรียมไว้แล้วสำหรับการใช้รายการ IP ที่อนุญาตพิเศษ หรือการเก็บรักษาบันทึกการตรวจสอบ
  • มีการสนับสนุนการทดลองสำหรับฟังก์ชัน "อธิบายการวิเคราะห์" สำหรับการสร้างแผนปฏิบัติการสำหรับการสืบค้น SQL (การจัดการแผน SQL)
  • เพิ่มคำสั่ง next_row_id เพื่อรับ ID ของแถวถัดไป
  • เพิ่มฟังก์ชันในตัวใหม่ JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK ,COALESCE และ NAME_CONST

ที่มา: opennet.ru

เพิ่มความคิดเห็น