MiniOB เป็นโครงการการเรียนรู้ฐานข้อมูลเบื้องต้นที่พัฒนาโดยทีมงาน OceanBase โดยใช้ต้นแบบหลักสูตรฐานข้อมูลของมหาวิทยาลัยวิทยาศาสตร์และเทคโนโลยี Huazhong และร่วมกับมหาวิทยาลัยหลายแห่ง และได้รับการออกแบบมาเป็นพิเศษสำหรับนักเรียนที่ไม่มีพื้นฐาน เป้าหมายของเราคือการจัดหาโปรแกรมการเรียนรู้ฐานข้อมูลที่เป็นมิตรสำหรับนักเรียนในโรงเรียน ผู้ปฏิบัติงานด้านฐานข้อมูล ผู้สนใจ หรือผู้ที่สนใจในเทคโนโลยีขั้นพื้นฐาน
โค้ดโดยรวมของ MiniOB มีความกระชับและใช้งานง่าย โดยได้ออกแบบชุดคำถามตั้งแต่ง่ายไปจนถึงลึก เพื่อช่วยให้นักเรียนเริ่มต้นใหม่ตั้งแต่ต้น เข้าใจฐานข้อมูลได้อย่างรวดเร็ว และเรียนรู้แกนฐานข้อมูลในเชิงลึก MiniOB ลดความซับซ้อนของโมดูลจำนวนมาก เช่น การไม่คำนึงถึงการทำงานพร้อมกัน คุณลักษณะด้านความปลอดภัย และฟังก์ชันการจัดการธุรกรรมที่ซับซ้อน เพื่อเรียนรู้หลักการใช้งานฐานข้อมูลได้ดียิ่งขึ้น เราหวังว่าผ่านการฝึกอบรม MiniOB นักเรียนจะสามารถควบคุมฟังก์ชันและความสัมพันธ์การทำงานร่วมกันของโมดูลเคอร์เนลฐานข้อมูลได้ และมีความสามารถด้านการเขียนโค้ดทางวิศวกรรมบางอย่าง เช่น การจัดการหน่วยความจำ การสื่อสารเครือข่าย และการประมวลผลดิสก์ I/O เป็นต้น ซึ่งจะช่วยให้นักศึกษามีความโดดเด่นในการสัมภาษณ์และงานในอนาคต
เอกสารสนับสนุนโค้ดและความคิดเห็นเกี่ยวกับโค้ดที่เกี่ยวข้องได้รับการสร้างและเผยแพร่ผ่าน GitHub Pages คุณสามารถเยี่ยมชมได้โดยตรง: หน้า MiniOB GitHub
เพื่อช่วยให้นักพัฒนาเริ่มต้นและเรียนรู้ MiniOB ได้ดีขึ้น ขอแนะนำให้อ่านเนื้อหาต่อไปนี้:
เพื่อช่วยให้ทุกคนเรียนรู้พื้นฐานของฐานข้อมูลได้ดีขึ้น ชุมชน OceanBase จึงจัดเตรียมชุดบทช่วยสอนต่างๆ สำหรับเอกสารเพิ่มเติม โปรดดูที่หน้า MiniOB GitHub การเรียนรู้ที่แนะนำ:
สถาปัตยกรรมโดยรวมของ MiniOB แสดงในรูปด้านล่าง:
ใน:
โมดูลเครือข่าย: รับผิดชอบในการโต้ตอบกับลูกค้า การส่งและรับคำขอและการตอบกลับของลูกค้า
การแยกวิเคราะห์ SQL: แยกวิเคราะห์คำสั่ง SQL ที่ผู้ใช้ป้อนลงในแผนผังไวยากรณ์
การแคชแผนการดำเนินการ: โมดูลแคชแผนการดำเนินการจะแคชแผนการดำเนินการที่สร้างขึ้นเป็นครั้งแรกโดย SQL ในหน่วยความจำ การดำเนินการครั้งต่อไปสามารถดำเนินการแผนนี้ซ้ำๆ ได้โดยหลีกเลี่ยงกระบวนการปรับให้เหมาะสมของการสืบค้นซ้ำๆ (ไม่ได้นำไปใช้)
โมดูลการแยกวิเคราะห์ความหมาย: แปลงแผนผังไวยากรณ์ที่สร้างขึ้นเป็นโครงสร้างข้อมูลภายในของฐานข้อมูล (ใช้งานบางส่วน)
การแคชแบบสอบถาม: แคชผลลัพธ์การสืบค้นที่ดำเนินการไว้ในหน่วยความจำ และสามารถส่งคืนได้โดยตรงในครั้งถัดไปที่คุณสืบค้น (ไม่ได้ใช้งาน)
การเพิ่มประสิทธิภาพแบบสอบถาม: ปรับ/เขียนแผนผังไวยากรณ์ใหม่ตามกฎเกณฑ์และข้อมูลทางสถิติบางประการ (ดำเนินการบางส่วน);
การดำเนินการตามแผน: ดำเนินการและสร้างผลลัพธ์ตามคำอธิบายแผนผังไวยากรณ์
การจัดการเซสชัน: จัดการการเชื่อมต่อผู้ใช้และปรับพารามิเตอร์ของการเชื่อมต่อบางอย่าง
การจัดการเมตาดาต้า: บันทึกข้อมูลเมตาดาต้าฐานข้อมูล ตาราง ฟิลด์ และดัชนีปัจจุบัน
ลูกค้า: ในฐานะเครื่องมือทดสอบ ได้รับคำขอของผู้ใช้และเริ่มคำขอไปยังเซิร์ฟเวอร์
การแข่งขันฐานข้อมูล OceanBase ประจำปี 2022 เป็นการแข่งขันการตรวจสอบฐานข้อมูลอินไลน์ ซึ่งนำโดยคณะกรรมการมืออาชีพด้านฐานข้อมูลของสหพันธ์คอมพิวเตอร์แห่งประเทศจีน (CCF) และจัดร่วมกันโดย OceanBase และทีมความร่วมมือทางวิชาการของ Ant Technology Research Institute การแข่งขันนี้เปิดกว้างสำหรับนักศึกษามหาวิทยาลัยทั่วประเทศที่ชื่นชอบฐานข้อมูลเป็นหลัก โดยมีวัตถุประสงค์เพื่อ "การแข่งขัน การสื่อสาร และการเติบโต" โดยจะสร้างแพลตฟอร์มการแลกเปลี่ยนทางเทคนิคตามงานดังกล่าว ส่งเสริมกลไกการฝึกอบรมผู้มีความสามารถเชิงนวัตกรรมในมหาวิทยาลัย และไม่เพียงแต่ ช่วยให้นักเรียนเรียนรู้ความรู้ทางทฤษฎีฐานข้อมูลอย่างเป็นระบบตั้งแต่เริ่มต้น ปรับปรุงความสามารถในทางปฏิบัติของฐานข้อมูลของนักเรียน ช่วยให้นักเรียนได้รับประสบการณ์ในองค์กร ส่งเสริมการพัฒนาความสามารถด้านฐานข้อมูลในประเทศ และสร้างจุดประกายแห่งนวัตกรรม
การแข่งขันเบื้องต้นของ OceanBase ขึ้นอยู่กับ MiniOB ซึ่งเป็นแพลตฟอร์มการฝึกอบรมฐานข้อมูลที่เหมาะสำหรับผู้เริ่มต้นฝึกฝน มีโค้ดจำนวนน้อยและง่ายต่อการเรียนรู้ ประกอบด้วยโมดูลสำคัญต่างๆ ของฐานข้อมูล และเป็นแพลตฟอร์มการเรียนรู้ฐานข้อมูลที่เป็นระบบ บนแพลตฟอร์มนี้ ชุดคำถามจากง่ายไปลึกถูกจัดเตรียมไว้เพื่อช่วยให้นักเรียนเริ่มต้นจากรากฐาน "ศูนย์"
การแข่งขันฐานข้อมูล OceanBase ประจำปี 2023 กำลังดำเนินไปอย่างเข้มข้น สำหรับรายละเอียดเพิ่มเติม โปรดดูที่การแข่งขัน OceanBase
การประกวดกวดวิชาเบื้องต้น
ความรู้เบื้องต้นเกี่ยวกับคำถามการแข่งขัน
หลังจากตอบคำถามและผ่านการทดสอบตัวเองแล้ว คุณสามารถส่งรหัสสำหรับการทดสอบในค่ายฝึกอบรม MiniOB ได้
ก่อนส่งโปรดอ่านและศึกษาคำแนะนำของค่ายฝึกอบรม
คำถามที่พบบ่อยเกี่ยวกับการแข่งขัน
คลังสินค้าแห่งนี้สร้างแพลตฟอร์มการพัฒนาออนไลน์ที่รวดเร็วโดยใช้ Gitpod คลิกปุ่มด้านล่างเพื่อสัมผัสประสบการณ์ได้ในคลิกเดียว (แนะนำให้ใช้เบราว์เซอร์ Chrome)
คุณต้องติดตั้งการอ้างอิงบางอย่างเมื่อเข้าสู่ Gitpod เป็นครั้งแรก หลังจากการติดตั้งเสร็จสิ้น อินเทอร์เฟซเทอร์มินัลจะแสดงข้อความ "ติดตั้งการพึ่งพาเรียบร้อยแล้ว" รันคำสั่ง bash build.sh --make -j4
เพื่อคอมไพล์ MiniOB
ชุมชน OceanBase ยินดีต้อนรับนักพัฒนาทุกคนที่รักเทคโนโลยีฐานข้อมูลอย่างอบอุ่น และหวังว่าจะได้เริ่มต้นการเดินทางที่ขัดแย้งกันทางความคิดกับคุณ ไม่ว่าจะเป็นการปรับรูปแบบเอกสาร การแก้ไขข้อความ การแก้ไขข้อบกพร่อง หรือการเพิ่มคุณสมบัติใหม่ นี่เป็นวิธีหนึ่งในการมีส่วนร่วมและสนับสนุนชุมชน OceanBase บริจาคครั้งแรกของคุณทันที! สำหรับรายละเอียดเพิ่มเติม โปรดดูที่การมีส่วนร่วมของชุมชน
MiniOB ใช้ Mulan Permissive License เวอร์ชัน 2 คุณสามารถคัดลอกและใช้ซอร์สโค้ดได้อย่างอิสระ เมื่อแก้ไขหรือแจกจ่าย โปรดปฏิบัติตาม Mulan Permissive License เวอร์ชัน 2