我与某人讨论了我的实体,并建议尝试neo4j.来自真正的“非性感”企业世界,我倾向于使用关系数据库,直到它停止缩放或因为分片等而成为一场噩梦,然后考虑其他任何事情.
然而,
>我在这个项目中第一次使用postgres以及datamapper,它让我有时间快速入门@H_301_6@>我只是尝试了一些事情并构建了更多用例,因此我不得不更新我的架构(原型设计理念和来自beta的反馈).我不必在neo4j中这样做(除了更改我的查询)@H_301_6@>似乎使用neo4j非常容易设置搜索.但Postgres也可以进行全文搜索.@H_301_6@> Postgres最近宣布支持json和javascript.想知道我是否应该坚持PG并投入更多时间学习PG(有一个很好的社区)而不是neo4j.
寻找neo4j更好的用例,特别是在项目的原型设计/初始阶段.我知道如果网站增长,我可能最终会拥有多种持久性技术,如s3,关系(PG),mongo等.
另外,了解Rails / Ruby生态系统如何发挥作用也是一件好事.
UPDATE1:
我得到了很多好的答案,看起来正确的做法是坚持使用Postgres(特别是因为我部署到heroku)
然而,无模式的想法很诱人.基本上我正在考虑一种方法,在你说100-150个用户之前你没有定义数据模型,你自己已经为你的产品找到了一个好的模式(业务用例),而你只是在演示这个概念并获得有限注册的反馈.然后,人们可以决定一个架构并从关系开始.
很高兴知道是否有易于使用的架构/较少持久性选项(基于易于使用/设置为新用户)可能会放弃说缩放等.
简而言之,如果您不关心我上面所说的内容,我认为您应该使用其他技术.如果这只是关于扩展,无模式或快速启动项目,那么请查看其他Nosql解决方案(更具体地说,是列或面向文档的数据库).否则你应该坚持使用Postgresql.你也可以像你说的那样考虑polyglot persistence,