我正在实现一个基于sinatra/rails的Web门户网站,可能最终会在表/模型之间具有几个多对多的关系。这是一个单人团队和兼职但真实世界的应用程序。
我与某人讨论了我的实体,并建议尝试neo4j。来自真正的“非性感”企业世界,我的倾向是使用关系数据库,直到它停止扩展或因分片等原因变成噩梦,然后考虑其他任何东西。
然而,
- 我第一次在这个项目中使用postgres以及datamapper,需要花费时间快速入门 - 我只是尝试一些事情并构建更多用例,因此我必须持续更新我的架构(原型设计和beta反馈)。我不必在neo4j中做到这一点(除了更改我的查询) - 看起来使用neo4j很容易设置搜索。但Postgres也可以进行全文搜索。 - Postgres最近宣布支持json和javascript。想知道是否应该坚持使用PG并投入更多时间学习PG(拥有良好社区)而不是neo4j。
寻找neo4j更好的用例,特别是在项目的原型/初始阶段。我明白如果网站增长,我可能最终会有多个持久技术,如S3,关系(PG),mongo等。
还好知道它如何在Rails/Ruby生态系统中发挥作用。
更新1:
我得到了很多好的答案,似乎现在坚持使用Postgres是正确的选择(特别是因为我部署到heroku)。
然而,无模式的想法很诱人。基本上,我正在考虑一种方法,在你有100-150个用户并且你已经为你的产品找到了一个好的架构(业务用例)时,你不定义数据模型,而是在演示概念并通过有限的注册获取反馈。然后可以决定架构并开始进行关系。
如果有易于使用/设置的无模式持久性选项(基于新用户的易用性),这将非常好(可能会放弃某些方面,如可扩展性)。
我与某人讨论了我的实体,并建议尝试neo4j。来自真正的“非性感”企业世界,我的倾向是使用关系数据库,直到它停止扩展或因分片等原因变成噩梦,然后考虑其他任何东西。
然而,
- 我第一次在这个项目中使用postgres以及datamapper,需要花费时间快速入门 - 我只是尝试一些事情并构建更多用例,因此我必须持续更新我的架构(原型设计和beta反馈)。我不必在neo4j中做到这一点(除了更改我的查询) - 看起来使用neo4j很容易设置搜索。但Postgres也可以进行全文搜索。 - Postgres最近宣布支持json和javascript。想知道是否应该坚持使用PG并投入更多时间学习PG(拥有良好社区)而不是neo4j。
寻找neo4j更好的用例,特别是在项目的原型/初始阶段。我明白如果网站增长,我可能最终会有多个持久技术,如S3,关系(PG),mongo等。
还好知道它如何在Rails/Ruby生态系统中发挥作用。
更新1:
我得到了很多好的答案,似乎现在坚持使用Postgres是正确的选择(特别是因为我部署到heroku)。
然而,无模式的想法很诱人。基本上,我正在考虑一种方法,在你有100-150个用户并且你已经为你的产品找到了一个好的架构(业务用例)时,你不定义数据模型,而是在演示概念并通过有限的注册获取反馈。然后可以决定架构并开始进行关系。
如果有易于使用/设置的无模式持久性选项(基于新用户的易用性),这将非常好(可能会放弃某些方面,如可扩展性)。