rochus-keller / CrossLine

CrossLine is an outliner with sophisticated cross-link capabilities in the tradition of the well-respected Ecco Pro
GNU General Public License v2.0
153 stars 6 forks source link

How are nodes stored: filesystem, database or other? #13

Open elviejo79 opened 7 months ago

elviejo79 commented 7 months ago

How difficult is to create another storage layer. Thank you

rochus-keller commented 7 months ago

Crossline is using its own no-sql database (see https://github.com/rochus-keller/udb/). It is based on the SqLite backend, but I implemented the object and transaction layer on top of it myself. Outline items are stored as objects in this database. The main database (the cldb file) includes all relevant information. The search engine creates additional databases (cldb.index files) with redundant information, which can be deleted and which are automatically regenerated and updated.

How difficult is to create another storage layer

Depends on how well the other storage layer fits to the crossline object model. Essentially you try to replace the udb library by something else. What are your requirements?