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/

相关文章:

macros - 拥有宏真的需要谐音吗?

java - 将一个大表从 MS SQL 移动到无 SQL 数据库

wordpress - 用于编程项目网站的简单干净的 CMS

php - 覆盖我的 CMS 的配置文件

javascript - 由于 CMS 输出导致的 JQuery Accordion 问题

css - Wordpress - 自定义字段和类标识符

html - 在 hiccup 中更改一个 div 颜色

clojure - 动态莱宁根 :profiles

database - 如何将 Scylla DB 中的计数器列重置为零?

mysql - MySQL 是存储日志的正确选择吗?