I have a personal knowledge base that currently includes almost 7,000 files in which I store my notes. I take notes on everything. Every technology. Every project. Every meeting. Every product I evaluate. EVERYTHING.
My notes are stored in Org files that I edit with Emacs and Org mode[1]. Org files are written using a feature-rich lightweight markup language[2] that is much more powerful than Markdown (which is used by other note-taking tools like Obsidian). For example, Org supports plain text spreadsheets[3], a feature I love.
People tend to disqualify Org and say, "I don't use Emacs," while assuming that Emacs users choose Org because we already use Emacs. But I started using Emacs specifically for Org, not programming.
Regardless of which tool you end up using, consider organizing your note files using hierarchical tagging. I started using hierarchical tagging for my notes right after Wikipedia launched and I saw how effectively hierarchical tagging was being used there. Each Wikipedia article can belong to multiple categories, and each category can belong to multiple categories. This is hierarchical tagging, and it's worked great for my notes. At the bottom of every one of my Org files, there is a list named "Parent topics", and each parent file has its own "Parent topics" list (excluding the "main topics" files, which have no parents).