作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近开始学习 Clojure,我打算用它来构建一个简单的 CMS 进行练习。由于 Clojure 是一种纯函数式语言,它需要一种新的思维方式,所以我突然想到,如果我的应用程序使用 NO-SQL 数据库(如 MongoDB)会怎样?
你在这方面有比较吗?我在谷歌上搜索过,但没有找到关于此事的任何可用数据。有什么优点和缺点?
编辑:我提到 clojure 和网络开发是为了把事情放在上下文中。例如,使用 clojure 编写特定于领域的语言比使用 java 更容易。
最佳答案
无论使用何种语言,如果您遵守领域驱动设计带来的一些 OOP 原则,您将从使用非 SQL 数据库中获益良多。聚合和聚合根的概念允许您以更加以文档为中心的方式形成组织。由于 no-sql 数据操作是针对键值对定制的,因此需要研究聚合和聚合根。
此外,如果您想了解更多有关如何组织架构以涉及 sql 和 no-sql 的信息,请查看 CQRS“模式”。您可以定制写入端以使用 no-sql,但在读取端保留传统 SQL 或 RDBMS。
CQRS:http://martinfowler.com/bliki/CQRS.html
DDD:http://domaindrivendesign.org/
如果您有任何问题,请告诉我。
关于content-management-system - 使用 Clojure 进行 Web 开发的 SQL 与 NO-SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8724909/
我是一名优秀的程序员,十分优秀!