使用同步文件夹(的Dropbox,GDrive的,syncthing等)数据库
问题描述:
我想写在electronjs笔记应用程序,将完全基于文件的,将是服务无关的(不会使用例如Dropbox的API),但它能够同步。使用同步文件夹(的Dropbox,GDrive的,syncthing等)数据库
我不能简单地同步sqlite数据库,因为它会在更多人同时编辑它时中断。
是否有任何数据库解决方案可以开箱即用(并且可以与electronjs一起使用?)。什么是好的答案?
我其他的想法:
- 使用git实施JS(Gitlet,GIT-JS)与某种汽车的承诺?也许它也会保存历史? :)
- 为每个客户端使用未同步的数据库,但仅使用同步来同步更改并为每个客户端实施某种查询?
感谢您的想法!
答
没有没有数据库解决方案,它可以处理多个人在同一时间“开箱即用”编辑东西,因为没有数据库可以看到到你的应用程序,并认识到,两个人都忙于在相同的数据,也没有神奇意识到如何解决冲突。
合作编辑和/或冲突解决方案并不重要!可能你想要做的是有一个“结帐”系统,当一个用户打开一个文件或一个注释时,它被标记为只读的所有其他用户,直到该用户已经保存或“检入”他们的改变(但是那时会发生什么用户在编辑模式下打开一个文件就会离开他们的PC?你是否看到这个最简单的解决方案会如何变得复杂?)
道歉,如果我误解了这个问题。如果是这样,请让我们知道你想要的规格是什么。
你是对的,这是一个难题,我问的问题可能天真,因为没有银弹。 为了将来的参考,有一个努力https://github.com/attic-labs/noms数据库,可以帮助这一点。 – Krisa
当它有这样一个共同的问题,我不知道有没有关于这方面的文献?也许有些书涉及版本控制和数据库? – Krisa