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