Carbonado เป็นเลเยอร์นามธรรมที่มีประสิทธิภาพสูงและมีประสิทธิภาพสูงสำหรับแอปพลิเคชัน Java ซึ่งให้มุมมองเชิงสัมพันธ์กับเทคโนโลยีการคงอยู่พื้นฐาน การคงอยู่สามารถให้ได้โดยฐานข้อมูลเชิงสัมพันธ์ SQL ที่เข้าถึงได้ JDBC หรืออาจเป็น DB Berkeley นอกจากนี้ยังสามารถทำซ้ำได้อย่างสมบูรณ์ระหว่างทั้งสอง
แม้ว่าฐานข้อมูลการสำรองจะไม่ได้ใช้ SQL แต่คาร์บิโดก็ยังคงรองรับคุณสมบัติหลักมากมายที่พบในฐานข้อมูลเชิงสัมพันธ์ทุกประเภท รองรับการสืบค้นการเข้าร่วมดัชนีและดำเนินการเพิ่มประสิทธิภาพแบบสอบถาม เมื่อใช้ในลักษณะนี้คาร์บอโดไม่ได้เป็นเพียงเลเยอร์ไปยังฐานข้อมูลเชิงสัมพันธ์เท่านั้น แต่ เป็น ฐานข้อมูลเชิงสัมพันธ์ SQL ไม่ใช่ข้อกำหนดสำหรับการใช้ฐานข้อมูลเชิงสัมพันธ์
การกำหนดรูปแบบใหม่ในคาร์โบโดเกี่ยวข้องกับการสร้างอินเทอร์เฟซหรือคลาสนามธรรมซึ่งเป็นไปตามการประชุม Java Bean ข้อมูลเพิ่มเติมถูกระบุโดยการใส่คำอธิบายประกอบพิเศษ อย่างน้อยที่สุดจำเป็นต้องมีคำอธิบายประกอบเพื่อระบุคีย์หลัก คำอธิบายประกอบเป็นคุณสมบัติแรกที่มีอยู่ใน Java 5 และเป็นผลให้ Carbonado ขึ้นอยู่กับ Java 5
บนพื้นผิวมันอาจปรากฏว่าประเภทของคาร์โบโดนั้นถูกกำหนดเช่น pojos ความแตกต่างคือใน Carbonado ประเภทเป็นตัวแทนของความสัมพันธ์ ไม่ใช่ฐานข้อมูลวัตถุหรือสะพานเชื่อมโยงวัตถุ นอกจากนี้คำจำกัดความของประเภทข้อมูลเป็นเพียงการเชื่อมต่อและไม่มีไฟล์การกำหนดค่าภายนอก รหัสทั้งหมดในการใช้งานประเภทนั้นมีการสร้างอัตโนมัติ แต่ก็ไม่มีขั้นตอนการสร้างเพิ่มเติม
Carbonado สามารถบรรลุประสิทธิภาพสูงโดยกำหนดค่าใช้จ่ายต่ำมากเมื่อเข้าถึงที่เก็บข้อมูลจริง ค่าโสหุ้ยต่ำสามารถทำได้บางส่วนโดยการสร้างรหัสวิกฤตประสิทธิภาพอัตโนมัติผ่านห้องสมุด Cojen
Carbonado 1.2 เพิ่มคุณสมบัติใหม่มากมายซึ่งสรุปไว้ที่นี่และในบันทึกย่อการเปิดตัว
คุณสมบัติทั่วไป
ที่เก็บ
คุณสมบัติ JDBC
คุณสมบัติของเครื่องยนต์แบบสอบถาม
Carbonado แบ่งออกเป็นชุดแพคเกจหลายชุดเพื่อการจัดการการพึ่งพาที่ดีขึ้น วิธีที่ง่ายที่สุดในการเริ่มต้นกับ Carbonado คือการใช้พื้นที่เก็บข้อมูลที่ได้รับการสนับสนุนจาก Berkeley DB JE สำหรับสิ่งนี้คุณต้องได้รับชุดแพ็คเกจ Carbonado และ Carbonadosleepycatje
รหัสคาร์โบนาโดคาร์โบโดคาร์โบโดขึ้นอยู่กับการบันทึก Apache Commons, Joda-Time และ Cojen
Carbonadosleepycatje มีที่เก็บสำหรับรองรับ SleepyCat/Oracle, Berkeley DB Java Edition Berkeley DB JE จะต้องดาวน์โหลดและติดตั้งแยกต่างหาก
CarbonadosleepyCatDB มีที่เก็บสำหรับรองรับ DB SleepyCat/Oracle Berkeley ต้องดาวน์โหลดรหัส DB Berkeley และติดตั้งแยกต่างหาก
การทำแผนที่หลวมจากคำศัพท์ Carbonado ไปยังคำศัพท์ SQL:
คาร์โบโด | SQL |
---|---|
ที่เก็บ | ฐานข้อมูล |
พื้นที่จัดเก็บ | โต๊ะ |
คำจำกัดความที่เก็บได้ | คำจำกัดความของตาราง |
อินสแตนซ์ที่เก็บได้ | แถวโต๊ะ |
คุณสมบัติ | คอลัมน์ |
สอบถาม | เลือก/ลบคำสั่ง |
เคอร์เซอร์ | ชุดผลลัพธ์ |
การสอบถาม Carbonado นั้นไม่ได้แสดงออกเท่ากับ SQL Selects ไม่เหมือนกับ SQL แบบสอบถาม Carbonado ไม่สนับสนุนการประมวลผลข้อมูลหรือฟังก์ชั่นรวม
Carbonado รองรับความสามารถในการสืบค้นน้อยที่สุดที่ทำให้การเลือกดัชนีอัตโนมัติเป็นไปได้ คุณสมบัติอื่น ๆ ที่มีอยู่ใน SQL สามารถจำลองได้ในรหัส หากฐานข้อมูลอยู่ในพื้นที่นั้นจะไม่มีการสูญเสียประสิทธิภาพ
แอพพลิเคชั่นที่ต้องการใช้ Carbonado เป็นเลเยอร์ที่สะดวกกว่า SQL จะไม่สามารถใช้คุณสมบัติ SQL แบบเต็มได้ Carbonado ไม่ได้เป็นการทดแทน JDBC แอปพลิเคชั่นประเภทนี้อาจเลือกการผสมผสานระหว่าง Carbonado และ JDBC เพื่ออำนวยความสะดวกในการเข้าถึงการเข้าถึงการเชื่อมต่อ JDBC ที่ใช้งานโดยธุรกรรมปัจจุบันได้รับการสนับสนุน
ที่เก็บของ Carbonado ที่ได้รับการสนับสนุนจาก Berkeley DB ใช้เครื่องมือเพิ่มประสิทธิภาพแบบสอบถามตามกฎเพื่อจัดทำแผนค้นหา โดยทั่วไปแล้วการเพิ่มประสิทธิภาพที่ใช้ต้นทุนจะมีประสิทธิภาพมากขึ้นเนื่องจากพวกเขาประเมินค่าใช้จ่าย I/O Carbonado มีเครื่องมือเพิ่มประสิทธิภาพตามกฎเป็นหลักเพราะมันง่ายกว่าที่จะเขียน
Carbonado มีความสามารถในการสนับสนุนเทคโนโลยีการคงอยู่หลายชนิด อย่างไรก็ตามจำเป็นต้องมีชุดคุณสมบัติขั้นต่ำเพื่อให้มีคุณสมบัติของ Carbonado เพียงพอที่จะพิสูจน์ความพยายาม:
ตามหลักการแล้วเทคโนโลยีการคงอยู่ควรสนับสนุนการทำธุรกรรม หากไม่ได้ทำธุรกรรมจะต้องดำเนินการโดยการอัปเดตแบบแบทช์ในหน่วยความจำ การอัปเดตจะไม่คงอยู่จนกว่าจะมีการทำธุรกรรม หากรองรับการอัปเดตชุดอะตอมแล้วพื้นที่เก็บข้อมูลสามารถรายงานการสนับสนุนระดับการแยกของ "การอ่านที่มุ่งมั่น" มิฉะนั้นจะสามารถรองรับระดับต่ำสุดของ "อ่าน uncommitted" เท่านั้น
คุณสมบัติเพิ่มเติมที่ดีที่มี แต่ไม่จำเป็นอย่างเคร่งครัด: