我正在决定使用NON-SQL引擎还是常规SQL引擎来处理小型文档的文档管理系统。
我有使用firebird / sql server的经验,并找到了良好的可靠性跟踪(特别是使用firebird)。
这个市场充满了蹩脚的“服务器”(克隆制造的PC,这个市长),便宜的硬盘,很少使用RAID或类似的东西,有些是在断电是正常的地方,有些没有UPS等...(我将包括异地自动备份到外部服务器,但不改变内部设置)。 (我知道关于这种正确设置的最终用户教育,但是愚蠢取决于那个,所以坚持te点)
从设计的角度来看,无模式数据库是我的系统的方法,但是,我担心任何实际的解决方案(MongoDb,东京内阁等)都像火鸟和服务崩溃,故障&安培;滥用,因此数据损坏非常罕见。
计划是将办公室文件存放在那里&提供一个中央存储库。
答案 0 :(得分:2)
结帐Neo4j。它是一个图形数据库(无架构),可以像文档或键/值存储一样使用。
Neo4j已经在您描述的环境中生产多年。与许多其他NOSQL数据库不同,Neo4j实际上将数据刷新到磁盘并使用事务日志从不一致状态恢复。它还具有可以跨越多个操作并将它们视为单个单元的实际事务(完整ACID)(这似乎也是许多其他NOSQL存储中经常遗漏的功能)。
-Johan
(免责声明:我是Neo4j团队的一员)
答案 1 :(得分:1)
CouchDB具有您所需的可靠性:
CouchDB文件布局和承诺系统具有所有原子一致隔离耐用(ACID)属性。在磁盘上,CouchDB永远不会覆盖已提交的数据或相关结构,从而确保数据库文件始终处于一致状态。
请查看ACID属性部分here以获取更多信息。
使用CouchDB,您还可以轻松进行备份和复制。
我还没有使用CouchDB进行生产的代码,但到目前为止,我对CouchDB的测试和开发过程非常满意。