SQLite is a database.
Software products use it often as the underlying data structure for storing all the needed informations.
As far as I understand, Anytype has once used its own data structure, but when the app was growing the limitations became more and more obvious.
There was some posts from the team in this direction, for example:
You can do complex things with SQLite and it is fast.
To create an own and completely selfmade database that can do similar complex things AND somehow outperforms SQLite can be considered as almost hopeless.
In the beginning, if you start to write an own software, you are easily able to create a fast and well optimized own database.
But if the project grows and becomes more complex, there will come a point where your concept shows its limitations more and more, or where it slows everything down.
– That’s only my humble opinion, based my own experience with self written software.
But it also need a lot time for a programmer to wrap his mind around all the features and tricks you need to know to get really the benefits out of SQLite.
It’s already a big step to switch from a given database to SQLite. But to optimize it so that it works fast and doesn’t need too much space in the RAM and/or on your drive is a additional task.
I believe that’s the reason why we haven’t had a worth mentioning update since some weeks. The last updates wasn’t even mentioned in the history. Only thing I’ve recognized was the increase in speed when I switched to the Graph.
Therefore I believe the team worked mostly “behind the scenes” on the underlying data structure.
Edit: Multiple answers aren’t allowed here, therefore I write what normally would belong in a new post here:
Whatever you have in mind:
What I would celebrate is a feature to show “relation lines” based on identical Tags, while switching off the normal lines.
Collections are a bit stiff in my opinion.
Sets are more flexible, but I don’t like floaters in my Structure, therefore I put everything in a Collection.
But I often doubt if it is the better approach to have:
- Only one collection for all the Objects in the Space and use Sets for grouping and filtering the Objects.
- Or to have some Collections (this is how I use it).
To have multiple Collections makes a nicer Graph. But there are some downsides.
A Collections shows only the Objects you have placed there (I hope for the combination of Set & Collection!).
Using Tags is a wonderful easy and flexible way to group Objects together.
A Set can show them, no matter where the Objects are located.
Unfortunately the Graph doesn’t care about Tags.
Instead of applying more and more filters to the Graph, I believe I would get much better and more overview about what’s going on in my Space if I could deactivate the lines the lead to collections (I can, there is a switch for it) AND to switch on connection lines between Objects that use the same Tags.
The approach would lead to much more connections then I have now, but it would give me a much better overview.
The approach would also need some switches in the Graph settings, because some Objects have only one Tag together, others have two or more shared Tags …
Also do some Objects have more then one Tag-Relation.
And “Tag as Object” is also in the way …
We simply don’t know yet what it will bring.
One of the team members once mentioned, that they have “big plans” for the Graph.
But there is nothing on the roadmap.