首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为我的目的选择数据库?我想存储文件元数据。

如何为我的目的选择数据库?我想存储文件元数据。
EN

Stack Overflow用户
提问于 2012-02-11 16:05:29
回答 4查看 810关注 0票数 2

我正在构建一个web应用程序,它需要我存储关于文件的元数据,每个文件大约有15-20个“特征”,包括一些共享的(即user1和user2应该有访问权限)。

为此,您是否建议使用关系数据库?或者更新的、更具伸缩性的noSQL数据库是更好的选择?

它应该是可快速扩展的东西--并允许我们快速读写。

就性能而言,我不确定这将如何与关系数据库一起工作(例如,我试图查找所有由user1拥有并共享给user2的具有特定属性的文件-我基本上必须将3-4个表连接在一起……这可能对性能不好?!)

感谢您的反馈!

EN

回答 4

Stack Overflow用户

发布于 2012-02-11 16:19:01

我不认为JOINing 3或4个表会导致糟糕的性能。如果您正在考虑开源关系解决方案,我建议您使用PostgreSQL,它是目前最丰富的SQL实现。但是MySQL也可以工作,甚至SQLite也可以。他们都有不错的表现。

另一方面,如果您需要存储的元数据将来会扩展,那么基于模式的数据库将是一个麻烦。在这种情况下,我建议使用无模式(也称为基于文档的、NoSQL等)数据库,比如开源的MongoDB。有了索引,它也将具有出色的查询性能。CouchDB是一个更丰富的实现,但他们不太关注速度。

票数 2
EN

Stack Overflow用户

发布于 2012-02-11 21:53:10

我认为关系型数据库非常适合这一点。NoSQL数据库通常不允许简单灵活的查询。这是优秀的旧SQL数据库的优点。

票数 1
EN

Stack Overflow用户

发布于 2012-02-11 23:31:13

存储文档和其中的一些信息并不是SQL数据库的强项。

我不会选择MySQL,因为它的许可证(或者更确切地说是它的数据提供商的许可证),而且因为你不能说甲骨文将来会用它做什么。

您正在寻找一个针对存储文档进行了优化、速度极快且易于设置(和使用)的NoSQL数据库。

其中一个是用C++编写的,而不是Java,我猜想non-the-less有.NET和Java的绑定。

我会说MongoDB将是理想的选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9238748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档