What do you see as the advantages vs. Zettlr? I haven't got to a point where perf seems to be an issue that would require a real graph database and having your knowledgebase just be a collection of markdown files is the ultimate in local first no lock-in portability.
The current major difference between markdown-based and db-based apps is block references. Over time, the difference will become significant as knowledge bases grow in size.
CSV -> Excel -> SQL -> Distributed Cloud DBs
Furthermore, our database supports data types, including numbers, dates, etc. I don't think any networked notetaking app has executed well on tables and non-string types. UX for tables is generally not great for markdown.
> The current major difference between markdown-based and db-based apps is block references. Over time, the difference will become significant as knowledge bases grow in size.
That should be true, but so far it is Roam with the biggest problems with performance, from 30+ seconds of loading each time you load/refresh tab to constant lags in normal usage for some users :)
I personally like the most this mixed approach of Logseq - app internally uses DataScript, but data is ultimately stored in plain files.
It's not either or as you mentioned! Plan to have user data stored in plain files as well.
Roam's performance suffers mainly on first-load because they are server-first, and they load the entire db into memory at the beginning (such that it's quite fast thereafter).
Once we have true local-first data structures with something like https://github.com/replikativ/datahike, we could still have fast in-memory, but also fast initial load.
> Plan to have user data stored in plain files as well.
That would be cool :)
> such that it's quite fast thereafter
Not always :) I saw that myself and I also see complaints on Roam Slack. In my experience it mostly depends on how many queries you have on given page, but sometimes it lags (long waiting time when switching between pages or opening note in sidebar) also with simple, "atomic" notes. But they overall struggle with polishing existing parts before adding new features, so maybe performance is still on its early days in Roam.
Ah, very good to know. Don't use Roam too much these days ;) Sometimes it's hard to know if their performance issues stem from networking (they use Firebase) or just client stuff (i.e. datascript and Reagent, Clojurescript's React wrapper).
I'm not really familiar with Roam as I'm not interested in a non open source tool for this type of app (why I am more interested in what you're doing). What are block references?
I guess I can see perf becoming an issue for a company wide knowledge base or a wikipedia type of thing but for a personal knowledge base which is my main use case currently I'm not clear it's necessary to have a real database and the benefits of just a bunch of markdown files are more compelling to me right now. Maybe that would change if my knowledge base got big enough or my needs more complex regarding links and references.