Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which Database to choose?

I have the following criteria

  • Database should be protected with a username and password. It should not be possible to copy the database file and use it else were like MS Access.

  • There will be no central database server. Each machine will run their own database server locally and user will initiate synchronization. Concept is inspired from distributed version control system like Git. So it should have good replication support.

  • Strong consistency is not needed. Users will synchronize each other database when they need. In case of conflicts it should be possible to find the conflict and present it (from application) to the user for fixing it.

  • Revisions of data if available it will be good. e.g. Entire history of change to a invoice.

  • I explored document oriented database and inclined towards the same. But I dont know what to choose.

  • Database is small it will not reach even 1GB in the next few years (say 3 years).

Please feel free to suggest any database which you think might be suitable. Any pointers is highly appreciated.

Thanks in advance.

like image 628
Sundar Avatar asked Dec 07 '25 04:12

Sundar


1 Answers

I am looking for the exact same thing. Have not found it yet. An interesting project in this space is Bestpractical's Prophet (and the bug tracker SD that is built on this). I have no idea how active it is, though, and I do not think it uses an encrypted file format (but in your scenario, whole-disk encryption would be a feasible solution).

Prophet's buzzword-laden pitch reads something like this:

A grounded, semirelational, peer to peer replicated, disconnected, versioned, property database with self-healing conflict resolution.

like image 156
Thilo Avatar answered Dec 08 '25 16:12

Thilo



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!