content-management-system - 使用 Clojure 进行 Web 开发的 SQL 与 NO-SQL

标签 content-management-system clojure nosql

我最近开始学习 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/

相关文章:

content-management-system - 不是门户系统的 CMS

Clojure宏: unable to resolve symbol

c# - MongoDB C# 驱动程序和线程安全

xml - 是否有任何理由在 XAdES 上使用 CAdES 进行高级电子签名?

c# - 如何强制 Kentico 默认生成小写 url?

Clojure NullPointerException 与循环和重复

mongodb - 在 MongoDB 中使用 MapReduce 加入两个集合

mysql 一对多表与键值数据库列表

database - 使用 Strapi Headless CMS 将数据播种到数据库

Clojure:比较字符