在经历了关系 DB/NoSQL 研究辩论之后,我得出的结论是,我将继续使用 PG 作为我的数据存储。该决定的很大一部分是宣布 JSONB 进入 9.4。我的问题是我现在应该做什么,从头开始构建一个应用程序,知道我想迁移到(我的意思是现在使用!)jsonb?对我来说,DaaS 选项将运行 9.3 一段时间。
据我所知,如果我错了,请纠正我,hstore 会运行得更快,因为我将对 hstore 列中的许多键进行大量查询,如果我要使用普通 json,我不会无法利用索引/GIN 等。但是我可以利用 json 嵌套,但是运行任何查询都会非常慢并且用户会感到沮丧。
那么,我是否围绕当前版本的 hstore 或 json 数据类型、“good ol” EAV 或其他东西构建我的应用程序?我应该以某种方式构建我的数据库和应用程序代码吗?任何建议将不胜感激。我敢肯定,在我们等待 PostgreSQL 的下一个正式版本时,其他人可能会面临同样的问题。
关于我要构建的应用程序的一些额外细节:
- 非常相关(以下有一个例外) -
强大的社交网络方面(群组、朋友、喜欢、时间线等) -
基于具有可变用户分配属性的单个对象,可能是 10 或 1000+(这是无模式设计的地方需要发挥作用)
提前感谢您的任何意见!