MiniOB — это вводный проект обучения работе с базами данных, разработанный командой OceanBase на основе прототипа курса по работе с базами данных Хуачжунского университета науки и технологий совместно со многими университетами и специально разработанный для студентов с нулевым уровнем подготовки. Наша цель — предоставить удобную программу изучения баз данных для школьников, специалистов по базам данных, энтузиастов или людей, интересующихся базовыми технологиями.
Общий код MiniOB лаконичен и прост в использовании. В нем разработан ряд вопросов, от простых до глубоких, чтобы помочь учащимся начать работу с нуля, быстро понять базу данных и углубленно изучить ее ядро. MiniOB упрощает многие модули, например, не учитывает параллельные операции, функции безопасности и сложные функции управления транзакциями, чтобы лучше изучить принципы реализации базы данных. Мы надеемся, что благодаря обучению MiniOB студенты смогут освоить функции и синергические связи модуля ядра базы данных, а также иметь определенные возможности инженерного кодирования, такие как управление памятью, сетевая связь, обработка дискового ввода-вывода и т. д. что поможет студентам выделиться на будущих собеседованиях и работе.
Сопроводительная документация по коду и соответствующие комментарии к коду были созданы и опубликованы на страницах GitHub. Вы можете посетить непосредственно: страницы MiniOB GitHub.
Чтобы помочь разработчикам начать работу и лучше изучить MiniOB, рекомендуется прочитать следующий контент:
Чтобы помочь каждому лучше изучить основы работы с базами данных, сообщество OceanBase предлагает серию учебных пособий. Дополнительную документацию можно найти на страницах MiniOB GitHub. Рекомендуемое обучение:
Общая архитектура MiniOB показана на рисунке ниже:
в:
Сетевой модуль: отвечает за взаимодействие с клиентом, отправку и получение клиентских запросов и ответов;
Анализ SQL: анализирует оператор SQL, введенный пользователем, в синтаксическое дерево;
Кэширование плана выполнения: модуль кэширования плана выполнения кэширует в памяти план выполнения, впервые сгенерированный SQL. Последующие выполнения могут многократно выполнять этот план, избегая повторных процессов оптимизации запросов (не реализовано).
Модуль семантического анализа: преобразование сгенерированного синтаксического дерева во внутреннюю структуру данных базы данных (частично реализовано);
Кэширование запросов: кэширует результаты выполненного запроса в памяти и может возвращать их напрямую при следующем запросе (не реализовано);
Оптимизация запросов: настройте/перепишите синтаксическое дерево в соответствии с определенными правилами и статистическими данными. (частично реализовано);
Планирование выполнения: выполнять и генерировать результаты в соответствии с описанием синтаксического дерева;
Управление сеансами: управляйте соединениями пользователей и настраивайте параметры определенного соединения;
Управление метаданными: запись текущей информации о метаданных базы данных, таблиц, полей и индексов;
Клиент: в качестве инструмента тестирования он получает запросы пользователей и инициирует запросы к серверу.
Конкурс баз данных OceanBase 2022 — это конкурс по оперативной проверке баз данных, проводимый Профессиональным комитетом баз данных Китайской компьютерной федерации (CCF) и организованный совместно OceanBase и группой академического сотрудничества Научно-исследовательского института муравьиных технологий. Этот конкурс в основном открыт для студентов университетов по всей стране, которые любят базы данных. С целью «конкуренции, общения и роста» на основе мероприятия создается платформа технического обмена, продвигаются инновационные механизмы подготовки талантов в университетах и не только. помогает студентам систематически изучать теоретические знания по базам данных с нуля, совершенствовать практические навыки студентов по работе с базами данных, помогает студентам приобретать опыт работы на предприятиях, способствует развитию отечественных талантов в области баз данных и создает искры инноваций.
Предварительные соревнования OceanBase основаны на MiniOB, платформе обучения работе с базами данных, подходящей для начинающих. Она имеет небольшой объем кода и проста в освоении. Она содержит различные ключевые модули базы данных и представляет собой платформу для систематического обучения работе с базами данных. На основе этой платформы составлен ряд вопросов от простого к глубокому, чтобы помочь учащимся начать работу с «нулевым» фундаментом.
Конкурс баз данных OceanBase 2023 года в самом разгаре. Более подробную информацию можно найти в конкурсе OceanBase.
Вводное пособие по конкурсу
Знакомство с вопросами конкурса
После ответа на вопросы и прохождения самотестирования вы можете отправить код на тестирование в тренировочном лагере MiniOB.
Прежде чем отправлять заявку, пожалуйста, ознакомьтесь с инструкциями тренировочного лагеря.
Часто задаваемые вопросы о соревнованиях
Этот склад создает платформу быстрой онлайн-разработки на базе Gitpod. Нажмите кнопку ниже, чтобы испытать это одним щелчком мыши (рекомендуется браузер Chrome).
При первом входе в Gitpod вам необходимо установить некоторые зависимости. После завершения установки в интерфейсе терминала отобразится сообщение «Зависимость установлена успешно». Запустите команду bash build.sh --make -j4
чтобы скомпилировать MiniOB.
Сообщество OceanBase тепло приветствует каждого разработчика, который любит технологии баз данных, и с нетерпением ждет возможности начать с вами путь столкновения идей. Будь то настройка формата документа или исправление текста, исправление ошибок или добавление новых функций, это один из способов принять участие и внести свой вклад в сообщество OceanBase. Сделайте свой первый вклад прямо сейчас! Более подробную информацию можно найти в разделе «Вклады сообщества».
MiniOB принимает Разрешительную лицензию Мулан, версия 2. Вы можете свободно копировать и использовать исходный код. При его изменении или распространении соблюдайте Разрешительную лицензию Мулан, версия 2.