我正在构建一个网络应用程序,需要我存储有关文件的元数据,每个文件大约有 15-20 个“特征”,包括一些共享的特征(即 user1 和 user2 应该具有访问权限)。
您是否建议为此使用关系数据库?或者更新的、更具可扩展性的 noSQL 数据库是更好的选择吗?
它应该能够快速扩展 - 并允许我们快速读写。
不确定这在性能方面如何与关系数据库一起工作(假设我试图找到 user1 拥有并共享给 user2 具有特定属性的所有文件 - 我基本上必须加入 3-4表放在一起...这可能对性能不利?!)
感谢您的反馈!
最佳答案
我认为 JOINing 3 或 4 个表不会导致性能不佳。如果您正在考虑开源关系型解决方案,我会建议 PostgreSQL,它是目前最丰富的 SQL 实现。但 MySQL 也可以工作,甚至 SQLite 也可以。他们都有不错的表现。
另一方面,如果您需要存储的元数据将来会扩展,那么基于模式的数据库将是一个麻烦。在这种情况下,我会建议使用无模式(也称为基于文档、NoSQL 等)数据库,例如开源 MongoDB。有了索引,它也会有出色的查询性能。 CouchDB 是一个更丰富的实现,但他们不太注重速度。
关于sql - 如何选择适合我的目的的数据库?我想存储文件元数据。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9238748/