YugabyteDB เป็นฐานข้อมูล SQL แบบกระจายที่เข้ากันได้กับ PostgreSQL ประสิทธิภาพสูง บนระบบคลาวด์ และแบบกระจาย โดยผสมผสานประโยชน์ของฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิมเข้ากับความสามารถในการปรับขนาดของระบบ NoSQL ทำให้เหมาะสำหรับแอปพลิเคชันที่ต้องการทั้งความสอดคล้องของธุรกรรมและความสามารถในการจัดการข้อมูลจำนวนมาก เหมาะที่สุดสำหรับแอปพลิเคชัน OLTP บนคลาวด์เนทีฟ (นั่นคือ แบบเรียลไทม์และมีความสำคัญต่อธุรกิจ) ที่ต้องการความถูกต้องของข้อมูลอย่างสมบูรณ์และต้องการอย่างน้อยหนึ่งสิ่งต่อไปนี้: ความสามารถในการปรับขนาด ความทนทานต่อความล้มเหลวสูง หรือการปรับใช้แบบกระจายทั่วโลก
คุณสมบัติหลัก
เริ่มต้นเลย
สร้างแอป
แผนงานปัจจุบัน
คุณสมบัติล่าสุด
สถาปัตยกรรม
ต้องการความช่วยเหลือ?
มีส่วนช่วย
ใบอนุญาต
อ่านเพิ่มเติม
ความสามารถ RDBMS อันทรงพลัง Yugabyte SQL (เรียกสั้นๆ ว่า YSQL ) นำเลเยอร์การสืบค้น PostgreSQL มาใช้ซ้ำ (คล้ายกับ Amazon Aurora PostgreSQL) ดังนั้นจึงรองรับคุณสมบัติส่วนใหญ่ (ประเภทข้อมูล การสืบค้น นิพจน์ ตัวดำเนินการและฟังก์ชัน ขั้นตอนการจัดเก็บ ทริกเกอร์ ส่วนขยาย และอื่นๆ ).
ธุรกรรมแบบกระจาย การออกแบบธุรกรรมขึ้นอยู่กับสถาปัตยกรรม Google Spanner ความสอดคล้องที่แข็งแกร่งของการเขียนทำได้โดยใช้ฉันทามติ Raft สำหรับการจำลองแบบและธุรกรรม ACID แบบกระจายทั่วทั้งคลัสเตอร์โดยใช้ นาฬิกาลอจิคัลแบบไฮบริด รองรับระดับการแยก สแนป ชอต การทำให้ เป็นอนุกรม และ การอ่านได้ การอ่าน (ข้อความค้นหา) มีความสอดคล้องสูงตามค่าเริ่มต้น แต่สามารถปรับแบบไดนามิกเพื่ออ่านจากผู้ติดตามและแบบจำลองการอ่านได้
ความพร้อมใช้งานอย่างต่อเนื่อง YugabyteDB มีความยืดหยุ่นอย่างมากต่อการหยุดทำงานทั่วไปด้วยการเปลี่ยนระบบและการซ่อมแซมแบบดั้งเดิม YugabyteDB สามารถกำหนดค่าให้ทนต่อความล้มเหลวของดิสก์ แร็ค โหนด โซน ภูมิภาค และคลาวด์ได้โดยอัตโนมัติ สำหรับการปรับใช้ทั่วไปที่มีการปรับใช้คลัสเตอร์ YugabyteDB ในภูมิภาคเดียวในหลายโซนบนคลาวด์สาธารณะ RPO จะเป็น 0 (หมายความว่าไม่มีข้อมูลสูญหายเมื่อเกิดความล้มเหลว) และ RTO คือ 3 วินาที (หมายถึงข้อมูลที่ให้บริการโดยโหนดที่ล้มเหลว ใช้ได้ภายใน 3 วินาที)
ความสามารถในการปรับขนาดในแนวนอน การปรับขนาดคลัสเตอร์ YugabyteDB เพื่อให้ได้ IOPS หรือการจัดเก็บข้อมูลที่มากขึ้นนั้นทำได้ง่ายเพียงแค่เพิ่มโหนดลงในคลัสเตอร์
YugabyteDB แบบมัลติคลาวด์ที่กระจายตามภูมิศาสตร์ สามารถนำไปใช้งานในระบบคลาวด์สาธารณะและภายใน Kubernetes ได้ รองรับการปรับใช้ที่ครอบคลุม Fault Domain ตั้งแต่สามโดเมนขึ้นไป เช่น การใช้งานแบบหลายโซน หลายแร็ค หลายภูมิภาค และหลายคลาวด์ นอกจากนี้ยังรองรับการจำลองแบบอะซิงโครนัส xCluster ด้วยการกำหนดค่ามาสเตอร์สเลฟแบบทิศทางเดียวและแบบหลายทิศทางแบบสองทิศทางในการปรับใช้สองภูมิภาค แบบจำลองการอ่านยังรองรับการแสดงข้อมูล (เก่า) ที่มีเวลาแฝงต่ำอีกด้วย
การออกแบบหลาย API ชั้นแบบสอบถาม YugabyteDB ถูกสร้างขึ้นเพื่อให้สามารถขยายได้ ปัจจุบัน YugabyteDB รองรับ SQL API แบบกระจายสองตัว: Yugabyte SQL (YSQL) ซึ่งเป็น API เชิงสัมพันธ์เต็มรูปแบบที่ใช้เลเยอร์การสืบค้น PostgreSQL อีกครั้ง และ Yugabyte Cloud QL (YCQL) ซึ่งเป็น API คล้าย SQL กึ่งสัมพันธ์พร้อมเอกสาร/การสนับสนุนการทำดัชนีด้วย รากของ Apache Cassandra QL
YugabyteDB โอเพ่นซอร์ส 100% เป็นโอเพ่นซอร์สโดยสมบูรณ์ภายใต้ลิขสิทธิ์ Apache 2.0 เวอร์ชันโอเพ่นซอร์สมีคุณสมบัติระดับองค์กรที่ทรงพลัง เช่น การสำรองข้อมูลแบบกระจาย การเข้ารหัสข้อมูลที่เหลือ การเข้ารหัส TLS บนเครื่องบิน การเปลี่ยนแปลงการจับข้อมูล การจำลองการอ่าน และอื่นๆ
YugabyteDB ถูกสร้างขึ้นโดยคำนึงถึงเป้าหมายการออกแบบที่สำคัญหลายประการ โดยมีจุดมุ่งหมายเพื่อจัดการกับความท้าทายที่แอปพลิเคชันคลาวด์เนทีฟสมัยใหม่ต้องเผชิญ ขณะเดียวกันก็รักษาความคุ้นเคยและประสิทธิภาพของฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม อ่านเพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ในเป้าหมายการออกแบบของเรา
เริ่มต้นอย่างรวดเร็ว
ลองใช้แอปพลิเคชันสาธิตในโลกแห่งความเป็นจริง:
แอปอีคอมเมิร์ซที่เน้นไมโครเซอร์วิส
สตรีมมิ่งแอป IoT ด้วย Kafka และ Spark Streaming
ไม่พบสิ่งที่คุณกำลังมองหา? มีคำถาม? โพสต์คำถามหรือความคิดเห็นของคุณบน Community Slack หรือฟอรัมของเรา
YugabyteDB รองรับหลายภาษาและไดรเวอร์ไคลเอนต์ รวมถึง Java, Go, NodeJS, Python และอื่นๆ อีกมากมาย สำหรับรายการทั้งหมด รวมถึงตัวอย่าง โปรดดูที่ไดรเวอร์และ ORM
ต่อไปนี้เป็นรายการคุณสมบัติหลักบางประการที่กำลังพัฒนาสำหรับการเปิดตัวที่กำลังจะมาถึง
คุณสมบัติ | รายละเอียด |
---|---|
ความเข้ากันได้ของ PostgreSQL 15 | สำหรับฟีเจอร์ล่าสุด ส่วนขยาย PostgreSQL ใหม่ ประสิทธิภาพ และการแก้ไขชุมชน |
PostgreSQL Publication/Replication slot API ใน CDC | PostgreSQL มีชุมชนขนาดใหญ่ที่ต้องการ API ที่เข้ากันได้กับ PG เพื่อตั้งค่าและใช้การเปลี่ยนแปลงฐานข้อมูล |
การสแกนบิตแมป | รองรับการสแกนบิตแมปสำหรับการใช้การสแกนดัชนี ตัวกรองระยะไกล และแบบจำลองต้นทุนที่ได้รับการปรับปรุง |
เครื่องมือเพิ่มประสิทธิภาพตามต้นทุน (CBO) | แผนการสืบค้นที่มีประสิทธิภาพโดยอิงตามสถิติ (เช่น ขนาดตาราง จำนวนแถว) และการกระจายข้อมูล |
การดำเนินการค้นหาแบบขนาน | ประสิทธิภาพการสืบค้นที่สูงขึ้นโดยการแยกการสืบค้นเดียวเพื่อดำเนินการกับแกน CPU ที่แตกต่างกัน |
ส่วนขยาย pgvector | รองรับประเภทข้อมูลเวกเตอร์ ช่วยให้สามารถจัดเก็บและสืบค้นเวกเตอร์ที่มีมิติสูงได้อย่างมีประสิทธิภาพ |
การจัดการการเชื่อมต่อ | การจัดการการเชื่อมต่อฝั่งเซิร์ฟเวอร์ช่วยให้สามารถเชื่อมต่อได้สูงสุด 30,000 ต่อโหนด |
โปรดดูตัวติดตามแผนงานสำหรับรายการทั้งหมดในแผนงานปัจจุบัน
v2.23 เป็นรุ่นตัวอย่างปัจจุบัน ซึ่งรวมถึงฟีเจอร์ที่อยู่ระหว่างการพัฒนา และแนะนำสำหรับการพัฒนาและการทดสอบเท่านั้น สำหรับรายการคุณลักษณะและการปรับปรุงทั้งหมดในรุ่นนี้ โปรดดูบันทึกประจำรุ่น - v2.23 นี่คือคุณสมบัติเด่นบางประการ
สร้างสำเนาอิสระของฐานข้อมูลของคุณอย่างรวดเร็วสำหรับการกู้คืนข้อมูล การพัฒนา และการทดสอบ
ใช้ pg_cron เพื่อกำหนดเวลาคำสั่ง YSQL โดยใช้ไวยากรณ์ cron ที่คุ้นเคย รวมถึงงานตามช่วงเวลาที่ดีเท่ากับวินาที
การจัดการการจำลองแบบ xCluster ของธุรกรรม YSQL ง่ายขึ้นโดยการดำเนินการที่ระดับฐานข้อมูลแทนระดับตาราง
การปรับปรุงประสิทธิภาพการสแกนย้อนกลับช่วยให้การสืบค้นดังกล่าวเร็วขึ้น 10 เท่าทันที!
v2024.1 เป็นเวอร์ชันเสถียรในปัจจุบัน สารที่เสถียรจะผ่านการทดสอบอย่างเข้มงวดเป็นระยะเวลานานและพร้อมสำหรับการใช้งานจริง สำหรับรายการฟีเจอร์และการปรับปรุงทั้งหมดในรุ่นนี้ โปรดดู บันทึกประจำรุ่น - v2024.1 นี่คือคุณสมบัติเด่นบางประการ
ช่วยให้คุณสามารถใช้ประโยชน์จากการปรับปรุงใหม่ๆ มากมายทั้งในด้านความเข้ากันได้ของ PostgreSQL และความเท่าเทียมกันของประสิทธิภาพ ทำให้การยกและย้ายแอปพลิเคชันของคุณจาก PostgreSQL ไปเป็น YugabyteDB ง่ายยิ่งขึ้นไปอีก เมื่อเปิดโหมดนี้ YugabyteDB จะใช้โหมดแยกที่คอมมิตในการอ่าน โหมดการทำงานพร้อมกันแบบ Wait-on-Conflict สำหรับเวลาแฝง P99 ที่คาดการณ์ได้ และเครื่องมือเพิ่มประสิทธิภาพตามต้นทุนใหม่
ย้อนกลับไปเป็นเวอร์ชันก่อนอัปเกรดได้อย่างราบรื่น หากคุณไม่พอใจกับเวอร์ชันที่อัปเกรด
กลยุทธ์การดำเนินการรวมที่ปรับปรุงการรวม Nested Loop โดยการส่งคำขอหนึ่งรายการไปยังตารางด้านในต่อชุดของทูเปิลของตารางด้านนอก แทนที่จะเป็นหนึ่งครั้งต่อทูเพิลของตารางภายนอกแต่ละรายการ
Explain Analyze เมื่อใช้กับตัวเลือก DIST จะแสดงแถวที่อ่านจากชั้นพื้นที่จัดเก็บข้อมูลด้วย ซึ่งสามารถช่วยวินิจฉัยประสิทธิภาพการสืบค้นได้
ตรวจสอบสถาปัตยกรรมโดยละเอียดในเอกสารของเรา
คุณสามารถถามคำถาม ค้นหาคำตอบ และช่วยเหลือผู้อื่นได้ใน Community Slack, ฟอรัม, Stack Overflow รวมถึง Twitter @Yugabyte
ใช้ปัญหา GitHub เพื่อรายงานปัญหาหรือขอคุณสมบัติใหม่
หากต้องการแก้ไขปัญหา YugabyteDB และปัญหาระดับคลัสเตอร์/โหนด โปรดดูเอกสารประกอบการแก้ไขปัญหา
ในฐานะโปรเจ็กต์โอเพ่นซอร์สที่ให้ความสำคัญกับชุมชนผู้ใช้ เรายินดีรับการมีส่วนร่วมตามคำขอดึง GitHub ดูคำแนะนำสำหรับผู้ร่วมให้ข้อมูลเพื่อเริ่มต้นใช้งาน การสนทนาและ RFC สำหรับคุณสมบัติต่างๆ จะเกิดขึ้นในส่วนการอภิปรายเกี่ยวกับการออกแบบของฟอรั่มของเรา
ซอร์สโค้ดในพื้นที่เก็บข้อมูลนี้ได้รับอนุญาตหลากหลายรูปแบบภายใต้ Apache License 2.0 และ Polyform Free Trial License 1.0.0 สามารถดูสำเนาของใบอนุญาตแต่ละรายการได้ในไดเรกทอรีใบอนุญาต
โครงสร้างสร้างไบนารีสองชุด:
ฐานข้อมูลทั้งหมดพร้อมฟีเจอร์ทั้งหมด (รวมถึงฐานข้อมูลระดับองค์กร) ได้รับอนุญาตภายใต้ Apache License 2.0
ไบนารีที่มี -managed
ในอาร์ติแฟกต์และช่วยเรียกใช้บริการที่ได้รับการจัดการนั้นได้รับอนุญาตภายใต้ Polyform Free Trial License 1.0.0
ตามค่าเริ่มต้น ตัวเลือกการสร้างจะสร้างเฉพาะไบนารี Apache License 2.0 เท่านั้น
หากต้องการดูการอัปเดตของเรา ให้ไปที่บล็อก Distributed SQL
สำหรับรายละเอียดการออกแบบและสถาปัตยกรรมเชิงลึก โปรดดูข้อกำหนดการออกแบบของเรา
พูดคุยด้านเทคนิคและวิดีโอ
ดูว่า YugabyteDB เปรียบเทียบกับฐานข้อมูลอื่นอย่างไร