我最近开始学习Clojure,我的目的是构建一个简单的CMS用于练习。由于Clojure是一种纯粹的函数式语言,它需要一种新的思维方式,所以如果我使用NO-SQL数据库为我的应用程序(如MongoDB)做了什么呢?
您对此主题有任何比较吗?我在谷歌搜索但我没有挖掘任何关于此事的可用数据。有什么优点和缺点?
编辑:我提到了clojure和Web开发,以便将事物放在上下文中。例如,使用clojure,编写特定于域的语言比使用java更容易。
答案 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中使用,那里有库。
退房: -