问题描述
我还没有遇到这个问题,但是这是我想的(非常肤浅和简单的imho)
如果你有一个密钥值存储所有访问都是使用NOSQL解决方案的关键查找。
如果您希望基于值(和子值)进行查找,或者像联接一样更复杂,那么可以使用关系解决方案。事务=关系(我不太确定如果nosql解决方案支持该概念)
它也看起来像NOSQL =非规范化(SQL)(我可能在这里非常错误)
一般来说,任何原则/准则/拇指规则来决定为应用程序选择数据模型。
有多种因素可以用于选择数据库实现,其中一些是:
- 成本:NoSQL DB更倾向于开源,更便宜的一面
- 可扩展性:NoSQL可以用更便宜的硬件/ li>
- 如果你有太多的连接,你应该去一个传统的RDBMS
- 一致性保证可以根据使用的解决方案wrt NoSQL
您还可以查看以下播客:在SE Radio上。
I haven't been confronted with this yet, but this is what i think (very superficial and simplistic imho)
If you have a key value kind of storage and all you accesses are key lookups use the NOSQL solutions.If you want lookups based on values (and subvalues) or have something more complicated like joins you would go for a relational solution. Transactions = relational (am not too sure if nosql solutions support that notion yet) It also looks like NOSQL = denormalized (SQL) (i may be terribly mistaken here)
In general, any principles/guidelines/thumb rules to decide chosing the data model for your application.
There are various factors which one may use to select a DB implementation, some of them are:
- Cost : NoSQL DBs lean more towards the open source , cheaper side
- Scalability : NoSQL can scale better with cheaper hardware
- If you have too many joins you should go for a traditional RDBMS
- Consistency guarantees can vary based on the solution used w.r.t NoSQL
You can also check out the following podcast : "Episode 165: NoSQL and MongoDB with Dwight Merriman" on SE Radio.
这篇关于如何:SQL或NOSQL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!