MiniOB est un projet d'apprentissage de base de données d'introduction développé par l'équipe OceanBase sur la base du prototype de cours de base de données de l'Université des sciences et technologies de Huazhong et conjointement avec de nombreuses universités, et est spécialement conçu pour les étudiants n'ayant aucune base. Notre objectif est de fournir un programme convivial d'apprentissage des bases de données aux étudiants, aux praticiens des bases de données, aux passionnés ou aux personnes intéressées par les technologies de base.
Le code global de MiniOB est concis et facile à utiliser. Il a conçu une série de questions allant de facile à approfondie pour aider les étudiants à repartir de zéro, à comprendre rapidement la base de données et à apprendre le cœur de la base de données en profondeur. MiniOB simplifie de nombreux modules, tels que la non-prise en compte des opérations simultanées, les fonctionnalités de sécurité et les fonctions complexes de gestion des transactions, afin de mieux apprendre les principes de mise en œuvre des bases de données. Nous espérons que grâce à la formation MiniOB, les étudiants seront capables de maîtriser les fonctions et les relations de synergie du module du noyau de base de données, et disposeront de certaines capacités de codage technique, telles que la gestion de la mémoire, la communication réseau et le traitement des E/S disque, etc. ce qui aidera les étudiants à se démarquer lors des futurs entretiens et emplois.
La documentation de support du code et les commentaires de code associés ont été générés et publiés via les pages GitHub. Vous pouvez visiter directement : Pages MiniOB GitHub.
Afin d'aider les développeurs à démarrer et à mieux apprendre MiniOB, il est recommandé de lire le contenu suivant :
Afin d'aider chacun à mieux apprendre les bases des bases de données, la communauté OceanBase propose une série de tutoriels. Pour plus de documentation, veuillez vous référer aux pages MiniOB GitHub. Apprentissage recommandé :
L'architecture globale de MiniOB est présentée dans la figure ci-dessous :
dans:
Module réseau : responsable de l'interaction avec le client, de l'envoi et de la réception des demandes et des réponses des clients ;
Analyse SQL : analyse l'instruction SQL saisie par l'utilisateur dans une arborescence syntaxique ;
Mise en cache du plan d'exécution : le module de mise en cache du plan d'exécution mettra en cache le plan d'exécution généré pour la première fois par SQL en mémoire. Les exécutions ultérieures peuvent exécuter ce plan à plusieurs reprises, évitant ainsi les processus d'optimisation de requêtes répétés (non implémentés).
Module d'analyse sémantique : convertir l'arbre syntaxique généré en structure de données interne de la base de données (partiellement implémenté) ;
Mise en cache des requêtes : met en cache les résultats de la requête exécutée en mémoire et peut les renvoyer directement la prochaine fois que vous interrogerez (non implémenté) ;
Optimisation des requêtes : Ajuster/réécrire l'arbre syntaxique en fonction de certaines règles et données statistiques. (partiellement mis en œuvre);
Exécution du plan : exécuter et générer des résultats selon la description de l'arbre syntaxique ;
Gestion de session : gérer les connexions des utilisateurs et ajuster les paramètres d'une certaine connexion ;
Gestion des métadonnées : enregistrer les informations actuelles sur les métadonnées de la base de données, des tables, des champs et des index ;
Client : en tant qu'outil de test, il reçoit les demandes des utilisateurs et initie les demandes au serveur.
Le concours de base de données OceanBase 2022 est un concours de vérification en ligne de bases de données guidé par le comité professionnel des bases de données de la Fédération informatique de Chine (CCF) et organisé conjointement par OceanBase et l'équipe de coopération académique de l'Ant Technology Research Institute. Ce concours est principalement ouvert aux étudiants universitaires de tout le pays qui aiment les bases de données. Dans un objectif de « compétition, communication et croissance », il construit une plate-forme d'échange technique basée sur l'événement, promeut des mécanismes innovants de formation de talents dans les universités, et pas seulement. aide les étudiants à acquérir systématiquement des connaissances théoriques sur les bases de données à partir de zéro, à améliorer les capacités pratiques des étudiants en matière de bases de données, à aider les étudiants à acquérir de l'expérience dans les entreprises, à promouvoir le développement des talents nationaux en matière de bases de données et à créer des étincelles d'innovation.
Le concours préliminaire OceanBase est basé sur MiniOB, une plateforme de formation aux bases de données adaptée aux débutants. Elle contient une petite quantité de code et est facile à apprendre. Elle contient divers modules clés de la base de données et est une plateforme d'apprentissage systématique des bases de données. Sur la base de cette plateforme, une série de questions de facile à approfondie sont mises en place pour aider les étudiants à démarrer avec une base « zéro ».
Le concours de bases de données OceanBase 2023 bat son plein. Pour plus de détails, veuillez vous référer au concours OceanBase.
Tutoriel d'introduction au concours
Introduction aux questions du concours
Après avoir répondu aux questions et réussi l'autotest, vous pouvez soumettre le code pour le tester lors du camp d'entraînement MiniOB.
Avant de soumettre, veuillez vous référer et étudier les instructions du camp d’entraînement.
FAQ du concours
Cet entrepôt établit une plateforme de développement en ligne rapide basée sur Gitpod. Cliquez sur le bouton ci-dessous pour en faire l'expérience en un seul clic (le navigateur Chrome est recommandé).
Vous devez installer certaines dépendances lorsque vous entrez dans Gitpod pour la première fois. Une fois l'installation terminée, l'interface du terminal affichera « Dépendance installée avec succès ». Exécutez la commande bash build.sh --make -j4
pour compiler MiniOB.
La communauté OceanBase accueille chaleureusement tous les développeurs qui aiment la technologie des bases de données et a hâte de commencer un voyage de collision d'idées avec vous. Qu'il s'agisse d'ajustement de format de document ou de correction de texte, de correction de bugs ou d'ajout de nouvelles fonctionnalités, c'est l'un des moyens de participer et de contribuer à la communauté OceanBase. Faites votre première contribution maintenant ! Pour plus de détails, veuillez vous référer aux contributions de la communauté.
MiniOB adopte la licence permissive Mulan, version 2. Vous pouvez librement copier et utiliser le code source Lorsque vous le modifiez ou le distribuez, veuillez vous conformer à la licence permissive Mulan, version 2.