Radondb เป็นฐานข้อมูล MySQL แบบคลาวด์โอเพ่นซอร์สสำหรับความสามารถในการปรับขนาดและประสิทธิภาพไม่ จำกัด
RadondB เป็นฐานข้อมูลคลาวด์-พื้นเมืองที่ใช้ MySQL และได้รับการออกแบบในคลัสเตอร์แบบกระจายอย่างเต็มที่ซึ่งเปิดใช้งานความสามารถในการปรับขนาดได้ไม่ จำกัด (ขนาด) ความจุและประสิทธิภาพ รองรับธุรกรรมแบบกระจายที่ทำให้มั่นใจได้ถึงความสอดคล้องของข้อมูลสูงและใช้ประโยชน์จาก MySQL เป็นเครื่องมือจัดเก็บข้อมูลสำหรับความน่าเชื่อถือของข้อมูลที่เชื่อถือได้ RadondB เข้ากันได้กับโปรโตคอล MySQL และการจัดตารางแบบอัตโนมัติ SUP-Porting รวมถึงคุณสมบัติการทำงานอัตโนมัติสำหรับการทำให้การบำรุงรักษาและเวิร์กโฟลว์การดำเนินงานง่ายขึ้น
สำหรับคำแนะนำเกี่ยวกับการติดตั้งการปรับใช้และการบริหารดูเอกสารของเรา
Radondb เป็นฐานข้อมูลเชิงสัมพันธ์แบบกระจายรุ่นใหม่ (MyNewSQL) ตาม MySQL มันถูกออกแบบมาเพื่อสร้างฐานข้อมูลโอเพนซอร์ซที่นักพัฒนาของเราต้องการใช้: หนึ่งที่มีคุณสมบัติเช่นความพร้อมใช้งานสูงทางการเงิน、 ฐานข้อมูลความจุขนาดใหญ่、 ตารางแยกระนาบอัตโนมัติ、 ปรับขนาดได้และความสอดคล้องที่แข็งแกร่งคู่มือนี้กำหนดรายละเอียดการทำงานภายในของกระบวนการเรดอน
ในระดับไวยากรณ์ SQL RadondB เข้ากันได้อย่างเต็มที่กับ mysql.you สามารถดูคุณสมบัติ SQL ทั้งหมด RadondB รองรับได้ที่นี่ radon_sql_statements_manual
หลังจาก SQL Node ของคุณได้รับคำขอ SQL จากไคลเอนต์ MySQL ผ่านพร็อกซี Radondb จะแยกวิเคราะห์คำสั่งสร้างแผนคิวรีแล้วดำเนินการตามแผน
+---------------+
x---------->|node1_Executor |
+--------------------+ x +---------------+
| SQL Node | x
|--------------------| x
+-------------+ | sqlparser | x +---------------+
| query |+----------->| |--x---------->|node2_Executor |
+-------------+ | Distributed Plan | x +---------------+
| | x
+--------------------+ x
x +---------------+
x---------->|node3_Executor |
+---------------+
Parsing
การสืบค้นที่ได้รับจะถูกแยกวิเคราะห์โดย SQLPARSER (ซึ่งอธิบายไวยากรณ์ที่รองรับโดย MySQL) และต้นไวยากรณ์นามธรรมที่สร้างขึ้น (AST)
Planning
ด้วย AST Radondb เริ่มวางแผนการดำเนินการของแบบสอบถามโดยการสร้างต้นไม้ของ plannodes ขั้นตอนนี้ยังรวมถึงขั้นตอนการวิเคราะห์คำสั่ง SQL ของลูกค้ากับนิพจน์ AST ที่คาดหวังซึ่งรวมถึงสิ่งต่าง ๆ เช่นการตรวจสอบประเภท
คุณสามารถเห็นแผนการสืบค้นสร้างโดยใช้ EXPLAIN (ในขั้นตอนนี้เราใช้การ EXPLAIN การวิเคราะห์ตารางการวิเคราะห์เท่านั้น)
Excuting
การดำเนินการกับผู้ดำเนินการในเลเยอร์หน่วยเก็บข้อมูลควบคู่ไปกับแผนการดำเนินการแบบกระจาย
โหนด SQL นั้นไร้สัญชาติ แต่เพื่อรับประกัน Snapshot Isolation การทำธุรกรรมปัจจุบันเป็นโหมดการเขียนแบบเขียนหลายแบบ
Distributed transaction
Radondb ให้ความสามารถในการทำธุรกรรมแบบกระจาย หากผู้ดำเนินการแบบกระจายที่โหนดที่เก็บข้อมูลที่แตกต่างกันและหนึ่งในโหนดไม่สามารถดำเนินการได้การดำเนินการของโหนดที่เหลือจะถูกย้อนกลับไปสิ่งนี้รับประกันความเป็นอะตอมของการทำงานข้ามโหนดและทำให้ฐานข้อมูลอยู่ในสถานะที่สอดคล้องกัน
Isolation Levels
Radondb บรรลุระดับของ Si (การแยกสแน็ปช็อต) ที่ระดับความสอดคล้อง ตราบใดที่การทำธุรกรรมแบบกระจายยังไม่ได้กระทำหรือหากพาร์ติชันบางส่วนได้กระทำการดำเนินการจะมองไม่เห็นการทำธุรกรรมอื่น ๆ
Transaction with SQL Layer
โหนด SQL นั้นไร้สัญชาติ แต่เพื่อรับประกัน Snapshot Isolation การทำธุรกรรมปัจจุบันเป็นโหมดการเขียนแบบเขียนหลายแบบ
ตัวติดตามปัญหา GitHub แบบบูรณาการใช้สำหรับโครงการนี้
Radondb ถูกปล่อยออกมาภายใต้ GPLV3 ดูใบอนุญาต