mellowagain / gitarena

Software development platform with built-in vcs, issue tracking and code review
MIT License
86 stars 10 forks source link

Maybe use sled? #54

Closed ckaran closed 2 years ago

ckaran commented 2 years ago

Sled is an embedded database written in rust. This means that you don't need to have a connection to a running database instance, and can ship the database engine within gitarena. Not sure if this is good or bad, but it's an option to consider.

mellowagain commented 2 years ago

Thank you for your comment. While I think Sled does indeed look very exciting, I'm afraid GitArena isn't designed to be used with a key value based storage backend but with a more traditional SQL-like backend. I may add SQLite support in the future which allows GitArena to work without a running database instance, but that is currently very low priority.

Feel free to open another issue if you'd want me to make SQLite support a higher priority.

ckaran commented 2 years ago

Actually, I'm starting to think about the issues with #53 and distributed databases. I started too look into options; maybe dolt? Note that I literally just discovered it, so it could be terrible, but their tagline looks good (git for databases, with an SQL frontend). I haven't yet tried the tutorials, but if its database files can live within the git repo, then data distribution because trivial.

Edit

Also just found git-sqlite which lets you store SQLite databases within git, but the last commit to that project was 5 years ago, so I'm not sure how useful it would be.

There is also orbit-db, but while it is in active development, I don't think it would be a good fit for your project.

So far, Dolt seems like the best option.