. While databases are good for structured information and may offer advantages from a computer science perspective—such as synchronization and cloud services—they are not well-suited for unstructured information like sloppy notes. However, new breakthroughs in text processing techniques, such as LLMs, are emerging and can handle unstructured content effectively.
I think you’re talking about a few different things:
they are not well-suited for unstructured information like sloppy notes
Why is that? Logseq-DB and OG have the same core note-taking experience.
However, new breakthroughs in text processing techniques, such as LLMs, are emerging and can handle unstructured content effectively.
This remains to be seen how it plays out at scale. Try pointing agents at markdown files that are 2000 lines long, and try pointing them at 100 of them that are deeply interlinked – the agent needs to do the work to figure out how to traverse those links, unless there’s some specialised tooling for it. Now guess what, that tooling, if built on top of markdown files, needs to parse markdown, which is messy and less reliable in general. At scale, having a structured way to do this is better IMO, that parsing is done beforehand by design (since it’s in an opinionated DB schema), and tooling (CLI, MCP) exists to effectively traverse these docs. Another benefit of this is that more advanced information retrieval techniques like embedding based retrieval becomes easier to implement with the DB structure, because of the exact same reason I mentioned re. parsing. This is not the dominant paradigm with agentic search today but is required for really large note taking bases, and there’s a lot of exciting research happening here.
I also want to add one more thing about “unstructured” notes and sticking to Markdown. Obsidian is the best comparison app, as they are dedicated to their “File over app” philosophy. Admirable in theory, but then when you want more structure in a MD only app, you’re now adding YAML properties on top of the file (very structured), inserting UUIDs inside a markdown file when you want to make a block reference (not portable at all), or writing custom syntax for Obsidian Bases – this last one is so far away from the “It’s just markdown notes” philosophy.