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

时间:2012-01-04 09:56:02

标签: content-management-system clojure nosql

我最近开始学习Clojure,我的目的是构建一个简单的CMS用于练习。由于Clojure是一种纯粹的函数式语言,它需要一种新的思维方式,所以如果我使用NO-SQL数据库为我的应用程序(如MongoDB)做了什么呢?

您对此主题有任何比较吗?我在谷歌搜索但我没有挖掘任何关于此事的可用数据。有什么优点和缺点?

编辑:我提到了clojure和Web开发,以便将事物放在上下文中。例如,使用clojure,编写特定于域的语言比使用java更容易。

2 个答案:

答案 0 :(得分:2)

无论使用何种语言,如果您观察到域驱动设计带来的一些OOP原则,您将从使用no-sql数据库中获得很多收益。 Aggregate和Aggregate Root的概念允许您以更加以文档为中心的方式形成组织。由于no-sql数据操作是针对键值对定制的,因此需要对聚合和聚合根进行调查。

此外,如果您想了解如何组织架构以涉及sql和no-sql,请查看CQRS“模式”。您可以定制写入端以使用no-sql,但在读取端保留传统的SQL或RDBMS。

CQRS:http://martinfowler.com/bliki/CQRS.html

DDD:http://domaindrivendesign.org/

如果您有任何问题,请与我们联系。

答案 1 :(得分:0)

我认为这不是一个真正的Clojure问题,还是我误解了它?您是否正在寻找为Web应用程序使用NOSQL与SQL数据库的优缺点?

无论哪种方式,这两种方法都很容易在Clojure中使用,那里有库。

退房: -

congomongo