我在做一个关于结构性文件数据库的项目。我有一个类别树(大约1000个类别,每个级别大约50个类别) ,每个类别包含几千个(大约10000个)结构化文档。每个文档都是一些结构化形式的几千字节的数据(我更喜欢 YAML,但它也可以是 JSON 或 XML)。
该系统的用户执行几种类型的操作:
当然,传统的解决方案是使用某种类型的文档数据库(比如 CouchDB 或 Mongo)来解决这个问题——然而,这个版本控制(历史)的东西让我产生了一个疯狂的想法——为什么我不应该使用 git
存储库作为这个应用程序的数据库后端呢?
乍一看,问题可以这样解决:
这个解决方案中还有其他常见的缺陷吗?是否已经有人尝试过实现这样的后端(例如,对于任何流行的框架—— RoR、 node.js、 Django、 CakePHP) ?这个解决方案是否对性能或可靠性有任何可能的影响——也就是说,是否证明了 git 比传统的数据库解决方案慢得多,或者存在任何可伸缩性/可靠性缺陷?我假设一组这样的服务器,它们推送/拉动彼此的存储库,应该是相当健壮和可靠的。
基本上,告诉我 如果这个解决方案将工作和 为什么它会或不会做?