我打算建立一个文件编目系统。它会做一些非常类似iTunes的音乐,但只能用于其他类型的文件。
因此,为了澄清,应用程序将包含一组文件,并将存储有关数据库中文件的元数据。对于音乐,它将存储所有参与该特定歌曲的艺术家,以及该歌曲已经发行的专辑等。
为了便于搜索文件和相关元数据的集合,我正在考虑使用数据库。
我打算用C ++ / Qt4编写这个程序,作为关于数据库,Qt4和良好的C ++编码实践的学习练习。
对于这样的任务,您会推荐什么样的数据库系统。这是我想到的那些。随意提出别的建议。
也许将来应用程序将成长为多个用户同时访问数据的东西,因此确保一个用户不会覆盖其他用户引入的更改的机制将是有用的(我是思考与git的冲突解决方案类似的事情。)
为回应投票而编辑的标题。
答案 0 :(得分:1)
Mongo和Couch是NoSQL,而SQLite是一种关系解决方案。我认为对于这样的任务,你最好使用像Couch和Mongo这样的文档数据库。
你见过RavenDB吗?它是一个文档DB,包含开箱即用的冲突解决方案,Map / Reduce查询和全文搜索引擎。它是用.NET编写的,但可以通过HTTP请求访问,你可以在C ++中完成。