MiniOB es un proyecto introductorio de aprendizaje de bases de datos desarrollado por el equipo de OceanBase basado en el prototipo del curso de bases de datos de la Universidad de Ciencia y Tecnología de Huazhong y en conjunto con muchas universidades, y está especialmente diseñado para estudiantes sin base. Nuestro objetivo es proporcionar un programa de aprendizaje de bases de datos amigable para estudiantes escolares, profesionales de bases de datos, entusiastas o personas interesadas en tecnologías básicas.
El código general de MiniOB es conciso y fácil de usar. Ha diseñado una serie de preguntas, desde fáciles hasta profundas, para ayudar a los estudiantes a comenzar desde cero, comprender rápidamente la base de datos y aprender el núcleo de la base de datos en profundidad. MiniOB simplifica muchos módulos, como no considerar operaciones concurrentes, características de seguridad y funciones complejas de gestión de transacciones, para aprender mejor los principios de implementación de la base de datos. Esperamos que a través de la capacitación de MiniOB, los estudiantes puedan dominar las funciones y relaciones de sinergia del módulo del núcleo de la base de datos y tener ciertas capacidades de codificación de ingeniería, como administración de memoria, comunicación de red y procesamiento de E / S de disco, etc. lo que ayudará a los estudiantes a destacarse en futuras entrevistas y trabajos.
La documentación de respaldo del código y los comentarios de código relacionados se generaron y publicaron a través de GitHub Pages. Puede visitar directamente: Páginas MiniOB GitHub.
Para ayudar a los desarrolladores a comenzar y aprender mejor MiniOB, se recomienda leer el siguiente contenido:
Para ayudar a todos a aprender mejor los conceptos básicos de las bases de datos, la comunidad OceanBase ofrece una serie de tutoriales. Para obtener más documentación, consulte las páginas de MiniOB GitHub. Aprendizaje recomendado:
La arquitectura general de MiniOB se muestra en la siguiente figura:
en:
Módulo de red: responsable de interactuar con el cliente, enviar y recibir solicitudes y respuestas del cliente;
Análisis de SQL: analiza la declaración SQL ingresada por el usuario en un árbol de sintaxis;
Almacenamiento en caché del plan de ejecución: el módulo de almacenamiento en caché del plan de ejecución almacenará en caché el plan de ejecución generado por SQL por primera vez en la memoria. Las ejecuciones posteriores pueden ejecutar este plan repetidamente, evitando procesos repetidos de optimización de consultas (no implementados).
Módulo de análisis semántico: convierte el árbol de sintaxis generado en la estructura de datos interna de la base de datos (parcialmente implementado);
Almacenamiento en caché de consultas: almacena en caché los resultados de la consulta ejecutada en la memoria y puede devolverlos directamente la próxima vez que realice una consulta (no implementado);
Optimización de consultas: ajuste/reescriba el árbol de sintaxis de acuerdo con ciertas reglas y datos estadísticos. (aplicado parcialmente);
Ejecución del plan: ejecutar y generar resultados de acuerdo con la descripción del árbol de sintaxis;
Gestión de sesiones: gestionar las conexiones de los usuarios y ajustar los parámetros de una determinada conexión;
Gestión de metadatos: registre la información actual de metadatos de bases de datos, tablas, campos e índices;
Cliente: como herramienta de prueba, recibe solicitudes de los usuarios e inicia solicitudes al servidor.
El Concurso de bases de datos OceanBase 2022 es un concurso de verificación en línea de bases de datos guiado por el Comité Profesional de Bases de Datos de la Federación de Computación de China (CCF) y organizado conjuntamente por OceanBase y el equipo de cooperación académica del Ant Technology Research Institute. Este concurso está abierto principalmente a estudiantes universitarios de todo el país amantes de las bases de datos. Con el objetivo de "competir, comunicar y crecer", construye una plataforma de intercambio técnico a partir del evento, promueve mecanismos innovadores de formación de talentos en las universidades, y no sólo. ayuda a los estudiantes a aprender sistemáticamente conocimientos teóricos sobre bases de datos desde cero, mejorar la capacidad práctica de las bases de datos de los estudiantes, ayudarlos a adquirir experiencia en empresas, promover el desarrollo de talentos de bases de datos nacionales y generar chispas de innovación.
La competencia preliminar de OceanBase se basa en MiniOB, una plataforma de capacitación de bases de datos adecuada para que practiquen los principiantes. Tiene una pequeña cantidad de código y es fácil de aprender. Contiene varios módulos clave de bases de datos y es una plataforma de aprendizaje sistemático de bases de datos. Sobre la base de esta plataforma, se configura una serie de preguntas, desde fáciles hasta profundas, para ayudar a los estudiantes a comenzar con una base "cero".
El concurso de bases de datos OceanBase 2023 está en pleno apogeo. Para obtener más detalles, consulte el concurso OceanBase.
Tutorial introductorio al concurso
Introducción a las preguntas de la competencia.
Después de completar las preguntas y aprobar la autoevaluación, puede enviar el código para realizar la prueba en el campo de entrenamiento de MiniOB.
Antes de enviar, consulte y estudie las instrucciones del campo de entrenamiento.
Preguntas frecuentes sobre la competencia
Este almacén establece una plataforma de desarrollo rápido en línea basada en Gitpod. Haga clic en el botón a continuación para experimentarlo con un solo clic (se recomienda el navegador Chrome).
Debes instalar algunas dependencias cuando ingresas a Gitpod por primera vez. Una vez completada la instalación, la interfaz del terminal mostrará "La dependencia se instaló correctamente". Ejecute el comando bash build.sh --make -j4
para compilar MiniOB.
La comunidad OceanBase da una calurosa bienvenida a todos los desarrolladores que aman la tecnología de bases de datos y espera comenzar un viaje de colisión de ideas con usted. Ya sea ajustar el formato del documento o corregir el texto, corregir errores o agregar nuevas funciones, es una de las formas de participar y contribuir a la comunidad OceanBase. ¡Haz tu primera contribución ahora! Para obtener más detalles, consulte Contribuciones de la comunidad.
MiniOB adopta la Licencia permisiva de Mulan, versión 2. Puede copiar y utilizar libremente el código fuente. Al modificarlo o distribuirlo, cumpla con la Licencia permisiva de Mulan, versión 2.