ยานเดกซ์เปิดตัวซอร์สโค้ดของ DBMS «YDB»

ล่าสุดมีข่าวดังกล่าว ยานเดกซ์เปิดตัวซอร์สโค้ดของ DBMS «YDB»ซึ่งใช้การสนับสนุนสำหรับธุรกรรมภาษา SQL และ ACID

DBMS สร้างขึ้นจากพื้นฐานและได้รับการพัฒนาในขั้นต้นโดยคำนึงถึงความทนทานต่อข้อผิดพลาด, เฟลโอเวอร์อัตโนมัติ และความสามารถในการปรับขนาด ควรสังเกตว่ายานเดกซ์เปิดตัวคลัสเตอร์ YDB ที่ใช้งานได้ ซึ่งรวมถึงโหนดมากกว่า 10 โหนด ซึ่งจัดเก็บข้อมูลหลายร้อยเพตะไบต์และให้บริการธุรกรรมแบบกระจายหลายล้านรายการต่อวินาที

ความแปลกใหม่หลักของYDB

คุณสมบัติที่โดดเด่นจาก YDB คือ การใช้โมเดลข้อมูลเชิงสัมพันธ์กับตาราง YQL (YDB Query Language) ใช้เพื่อสืบค้นและกำหนด data schema ซึ่งก็คือ ภาษาถิ่นของ SQL ที่ปรับให้ทำงานกับฐานข้อมูลแบบกระจายขนาดใหญ่. เมื่อสร้างสคีมาหน่วยเก็บข้อมูล รองรับการจัดกลุ่มตารางแบบต้นไม้ ซึ่งคล้ายกับไดเร็กทอรีของระบบไฟล์ มี API สำหรับการทำงานกับข้อมูลในรูปแบบ JSON

ดิ ความสามารถในการสร้างการกำหนดค่าที่ทนต่อข้อผิดพลาด ที่ยังคงทำงานต่อไปเมื่อดิสก์ โหนด แร็ค และแม้แต่ศูนย์ข้อมูลแต่ละแห่งล้มเหลว YDB รองรับการปรับใช้แบบซิงโครนัสและการจำลองแบบใน Availability Zone สามแห่ง ในขณะที่ยังคงรักษาสถานะของคลัสเตอร์ในกรณีที่โซนใดโซนหนึ่งล้มเหลว

การสนับสนุนการเข้าถึงข้อมูล ใช้การสืบค้นแบบสแกน ซึ่งออกแบบมาเพื่อดำเนินการสืบค้นเชิงวิเคราะห์เฉพาะกิจบนฐานข้อมูล ดำเนินการในโหมดอ่านอย่างเดียวและส่งคืนสตรีม grpc

แถมยังโดดเด่นอีกด้วย จัดเก็บข้อมูลโดยตรงบนอุปกรณ์บล็อกโดยใช้คอมโพเนนต์ PDisk เนทีฟและเลเยอร์ VDisk นอกจาก VDisk แล้ว DSProxy ยังทำงาน ซึ่งจะวิเคราะห์ความพร้อมใช้งานและประสิทธิภาพของดิสก์เพื่อแยกออกหากตรวจพบปัญหา

ของการ คุณสมบัติอื่น ๆ ที่โดดเด่น:

  • สถาปัตยกรรมที่ยืดหยุ่นซึ่งช่วยให้คุณสร้างบริการต่างๆ บน YDB ได้ จนถึงอุปกรณ์บล็อกเสมือนและคิวถาวร ความเหมาะสมสำหรับปริมาณงานประเภทต่างๆ: OLTP และ OLAP (การสืบค้นเชิงวิเคราะห์)
  • รองรับการกำหนดค่าผู้ใช้หลายคน (หลายผู้เช่า) และการกำหนดค่าแบบไร้เซิร์ฟเวอร์
  • ความสามารถในการตรวจสอบลูกค้า ผู้ใช้สามารถสร้างคลัสเตอร์เสมือนและฐานข้อมูลของตนเองบนโครงสร้างพื้นฐานที่ใช้ร่วมกันร่วมกัน โดยพิจารณาถึงการใช้ทรัพยากรในแง่ของจำนวนคำขอและขนาดข้อมูล หรือโดยการเช่า/จองทรัพยากรการประมวลผลและพื้นที่จัดเก็บบางอย่าง
  • ความเป็นไปได้ในการปรับอายุการใช้งานของระเบียนสำหรับการลบข้อมูลที่ล้าสมัยโดยอัตโนมัติ
  • การโต้ตอบกับ DBMS และการส่งคำขอทำได้โดยใช้อินเทอร์เฟซบรรทัดคำสั่ง เว็บอินเทอร์เฟซแบบรวม หรือ YDB SDK ซึ่งมีไลบรารีสำหรับ C++, C# (.NET), Go, Java, Node.js, PHP และ Python
  • กู้คืนจากความล้มเหลวโดยอัตโนมัติโดยมีความล่าช้าน้อยที่สุดในแอปพลิเคชัน และรักษาความซ้ำซ้อนที่ระบุโดยอัตโนมัติเมื่อจัดเก็บข้อมูล
  • การสร้างดัชนีโดยอัตโนมัติบนคีย์หลักและความสามารถในการกำหนดดัชนีรองเพื่อปรับปรุงประสิทธิภาพของการเข้าถึงคอลัมน์โดยอำเภอใจ
  • ความสามารถในการปรับขนาดในแนวนอน เมื่อโหลดและขนาดของข้อมูลที่จัดเก็บเพิ่มขึ้น คลัสเตอร์สามารถขยายได้โดยการเชื่อมต่อโหนดใหม่ ระดับการประมวลผลและพื้นที่จัดเก็บแยกจากกัน ช่วยให้คุณปรับขนาดการประมวลผลและพื้นที่จัดเก็บแยกกันได้ DBMS เองตรวจสอบการกระจายข้อมูลและโหลดอย่างสม่ำเสมอ โดยคำนึงถึงทรัพยากรฮาร์ดแวร์ที่มีอยู่ เป็นไปได้ที่จะใช้การกำหนดค่าแบบกระจายตามภูมิศาสตร์ซึ่งครอบคลุมศูนย์ข้อมูลหลายแห่งในส่วนต่างๆ ของโลก
  • รองรับโมเดลความสอดคล้องที่แข็งแกร่งและธุรกรรม ACID เมื่อประมวลผลการสืบค้นที่ครอบคลุมโหนดและตารางหลายรายการ ในการปรับปรุงประสิทธิภาพ คุณสามารถเลือกปิดใช้งานการตรวจสอบความสอดคล้องได้
  • การจำลองข้อมูลอัตโนมัติ การแบ่งพาร์ติชั่นอัตโนมัติ (การแบ่งพาร์ติชั่น การแบ่งกลุ่ม) เมื่อขนาดหรือโหลดเพิ่มขึ้น และการโหลดอัตโนมัติและความสมดุลของข้อมูลระหว่างโหนด

ในที่สุด ควรสังเกตว่าใช้ YDB ในโครงการ Yandex รหัสถูกเขียนด้วย C/C++ และเผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0 คุณสามารถดูซอร์สโค้ดรวมถึงรายละเอียดเพิ่มเติมเกี่ยวกับมันได้ ในลิงค์ต่อไปนี้.


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

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

*

*

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