(それが存在する場合、それは「ノード指向」です)
ここで始める。データベースのような複雑なアプリケーションを扱う場合(単純なデータベースでも複雑なアプリケーションです)、ドメインの歴史と適切な用語に精通し、少なくとも非常に高度なアーキテクチャの概念を持っている必要があります。データベースに関するウィキペディアの記事から始めることができます。関連する概念とさまざまなデータベースの種類に関するすべての記事を読んで数日過ごしました。
そして、私が念頭に置いているのは、リレーショナルでもドキュメント指向でもないからです
次に、RelationalまたはNoSQlを選択します。NoSQLを選択する場合、1種類のNoSQLを選択する必要があります。これは非常に重要です。すべての異なるデータベースファミリを説明するアーキテクチャドキュメントは見つかりません。どちらを選ぶかは問題ではなく、1つ選んでそれを使い続けるだけです。
言語は少しでも重要ではありません。
はい(残念ながら)、データベースファミリを選択した後、そのファミリのオープンソースデータベースからコードの調査を開始する必要があるためです。検索対象に関する一般的なガイドラインがいくつかあります。
- 比較的小さなコードベース、
- 建築文書または少なくとも開発ブログ、
- 選択するデータベースは、ファミリーで一般的と考えられているものに近いものでなければなりません。それが高度に専門化されているかどうかを知るのは難しいでしょう。
適切ないくつかの例:
ソースを入手してコンパイルし、いじってみてください。パッチや派手なものを提出する必要はありません。コードを調べて、あちこちで小さな変更を加えるだけで、何が起こるかを確認できます。これはインクリメンタルなプロセスであり、より多くの操作を行うほど、コードが何をするのかを理解しやすくなります。最初に選んだプロジェクトを理解するのが非常に難しいと思われる場合は、次のプロジェクトに進んでください。
@NBが以前の回答で示唆しているように、別の優れたオプションはMySQLのエンジンの構築に集中することです。
コードベースで何か役に立つことができるようになったら、プロジェクトのコミュニティに参加してください。これが、関連する概念に関する詳細なリソースを見つける最も簡単な方法です。
そして最後に、データベースの作業を開始します。最初は、調査してきたコードの非常に縮小されたクローンを作成することができました。オリジナルである必要はなく、かなりの数の素晴らしいプロジェクトがクローンやフォークとして始まりました。
どのリソース/チュートリアル/本を読んで理解できますか?
かなりの本があります:
そして、数百の他に、Google経由で簡単に追跡できる無数の学術論文があります。まず何をしたいかを定義してから、本を検索する必要があります。他のデータベース作成者のコミュニティに参加することは、書籍のリストを絞り込み、おそらく上記よりもはるかに良い提案を得るのにも役立ちます。
幸運を!完了したら、リポジトリへのリンクを含むコメントを期待しています。そして、もし一度もやったことがなければ、2001年に書き始めたコンパイラーをまだ完成させていないことを思い出させるコメントを残してください。