MiniOB는 OceanBase 팀이 화중 과학 기술 대학의 데이터베이스 과정 프로토타입을 기반으로 여러 대학과 공동으로 개발한 입문 데이터베이스 학습 프로젝트로 기초가 전혀 없는 학생들을 위해 특별히 설계되었습니다. 우리의 목표는 학교 학생, 데이터베이스 실무자, 매니아 또는 기본 기술에 관심이 있는 사람들에게 친숙한 데이터베이스 학습 프로그램을 제공하는 것입니다.
MiniOB의 전체 코드는 간결하고 사용하기 쉽습니다. 학생들이 처음부터 시작하고 데이터베이스를 빠르게 이해하며 데이터베이스 핵심을 깊이 있게 배울 수 있도록 쉬운 것부터 깊은 것까지 일련의 질문을 설계했습니다. MiniOB는 데이터베이스 구현 원리를 더 잘 학습하기 위해 동시 작업, 보안 기능 및 복잡한 트랜잭션 관리 기능을 고려하지 않는 등 많은 모듈을 단순화합니다. MiniOB 교육을 통해 학생들이 데이터베이스 커널 모듈의 기능과 시너지 관계를 숙지하고 메모리 관리, 네트워크 통신, 디스크 I/O 처리 등과 같은 특정 엔지니어링 코딩 능력을 갖출 수 있기를 바랍니다. 이는 학생들이 향후 면접과 취업에서 눈에 띄는 데 도움이 될 것입니다.
코드 지원 문서 및 관련 코드 주석이 GitHub 페이지를 통해 생성 및 게시되었습니다. 직접 방문할 수 있습니다: MiniOB GitHub 페이지.
개발자가 MiniOB를 시작하고 더 잘 배울 수 있도록 다음 내용을 읽는 것이 좋습니다.
모든 사람이 데이터베이스의 기본 사항을 더 잘 배울 수 있도록 OceanBase 커뮤니티는 일련의 튜토리얼을 제공합니다. 더 많은 문서를 보려면 MiniOB GitHub 페이지를 참조하세요. 추천 학습:
MiniOB의 전체 아키텍처는 아래 그림에 나와 있습니다.
안에:
네트워크 모듈: 클라이언트와 상호 작용하고 클라이언트 요청 및 응답을 보내고 받는 역할을 담당합니다.
SQL 구문 분석: 사용자가 입력한 SQL 문을 구문 트리로 구문 분석합니다.
실행 계획 캐싱: 실행 계획 캐싱 모듈은 SQL에 의해 처음 생성된 실행 계획을 메모리에 캐시합니다. 후속 실행에서는 반복적인 쿼리 최적화 프로세스(구현되지 않음)를 피하면서 이 계획을 반복적으로 실행할 수 있습니다.
의미 분석 모듈: 생성된 구문 트리를 데이터베이스의 내부 데이터 구조로 변환합니다(부분적으로 구현됨).
쿼리 캐싱: 실행된 쿼리 결과를 메모리에 캐시하고 다음에 쿼리할 때 직접 반환할 수 있습니다(구현되지 않음).
쿼리 최적화: 특정 규칙 및 통계 데이터에 따라 구문 트리를 조정/다시 작성합니다. (부분적으로 구현됨)
실행 계획: 구문 트리 설명에 따라 결과를 실행하고 생성합니다.
세션 관리: 사용자 연결을 관리하고 특정 연결의 매개변수를 조정합니다.
메타데이터 관리: 현재 데이터베이스, 테이블, 필드 및 인덱스 메타데이터 정보를 기록합니다.
클라이언트: 테스트 도구로서 사용자 요청을 수신하고 서버에 대한 요청을 시작합니다.
2022 OceanBase 데이터베이스 대회는 중국 컴퓨터 연맹(CCF) 데이터베이스 전문위원회가 주도하고 OceanBase와 Ant 기술 연구소 학술 협력팀이 공동으로 주최하는 데이터베이스 인라인 검증 대회입니다. 이번 대회는 데이터베이스를 사랑하는 전국 대학생을 대상으로 '경쟁, 소통, 성장'을 목적으로 행사를 기반으로 한 기술 교류 플랫폼을 구축하고, 대학 내 혁신적인 인재 양성 메커니즘을 추진한다. 학생들이 데이터베이스 이론 지식을 처음부터 체계적으로 학습하고, 학생들의 데이터베이스 실무 능력을 향상시키며, 학생들이 기업에서 경험을 쌓도록 돕고, 국내 데이터베이스 인재 개발을 촉진하며 혁신의 불꽃을 창출하도록 돕습니다.
OceanBase 예선대회는 초보자가 연습하기에 적합한 데이터베이스 훈련 플랫폼인 MiniOB를 기반으로 하며, 데이터베이스의 다양한 핵심 모듈을 포함하고 있어 배우기 쉽습니다. 이 플랫폼을 기반으로 학생들이 "제로" 기초를 시작할 수 있도록 쉬운 것부터 깊은 것까지 일련의 질문이 설정되어 있습니다.
2023 OceanBase 데이터베이스 공모전이 본격화됩니다. 자세한 내용은 OceanBase 공모전을 참고해주세요.
콘테스트 소개 튜토리얼
경쟁 질문 소개
질문을 완료하고 자체 테스트를 통과한 후 MiniOB 훈련 캠프에서 테스트할 코드를 제출할 수 있습니다.
제출 전, 훈련캠프 안내사항을 참고하여 숙지하시기 바랍니다.
대회 FAQ
이 웨어하우스는 Gitpod를 기반으로 한 신속한 온라인 개발 플랫폼을 구축합니다. 아래 버튼을 클릭하시면 원클릭으로 경험하실 수 있습니다. (크롬 브라우저 권장)
처음으로 Gitpod에 들어갈 때 몇 가지 종속성을 설치해야 합니다. 설치가 완료되면 터미널 인터페이스에 "종속성이 성공적으로 설치되었습니다"가 표시됩니다. bash build.sh --make -j4
명령을 실행하여 MiniOB를 컴파일합니다.
OceanBase 커뮤니티는 데이터베이스 기술을 사랑하는 모든 개발자를 따뜻하게 환영하며 여러분과 아이디어의 충돌의 여정을 시작하기를 기대합니다. 문서 형식 조정, 텍스트 수정, 버그 수정, 새로운 기능 추가 등은 OceanBase 커뮤니티에 참여하고 기여하는 방법 중 하나입니다. 지금 첫 번째 기여를 해보세요! 자세한 내용은 커뮤니티 기여를 참조하세요.
MiniOB는 Mulan Permissive License 버전 2를 채택하고 있습니다. 소스 코드를 자유롭게 복사하여 사용하거나 수정하거나 배포할 경우 Mulan Permissive License 버전 2를 준수하시기 바랍니다.