我熟悉在Clojure中开发桌面应用程序(编写多线程交互式可视化系统)。但是,我对使用Clojure进行Web开发很新。
我计划在服务器上使用Clojure来处理逻辑;和ClojureScript用于处理客户端工作。但是,我不知道我的数据库服务器要使用什么。我应该使用像Monogodb这样的东西吗?还是Hadoop?或者......?
该应用程序非常简单;一个基本的论坛。并发用户总数将是<在给定时间100。对我来说重要的一点是能够轻松备份/数据一致性 - 对我来说非常重要的是我可以轻松地进行每日备份(而不是丢失所有数据。)
谢谢!
答案 0 :(得分:5)
您可以使用许多数据库;如果数据库有一个Java API,你应该好好去。 MySQL,MongoDB,Postgres,Hadoop ......等等。
如果想要了解Clojure中的webstack,请查看brehaut的article on the matter。
要使用Clojure和ClojureScript快速启动并运行,请尝试ClojureScriptOne。
有很多方法可以写出你想写的东西;如果你已经熟悉Clojure,那就不应该太难了。
答案 1 :(得分:5)
Haven没有自己使用它,但Datomic(http://datomic.com/)看起来很适合来自Clojure的任何人。
答案 2 :(得分:0)
Datomic是一个了不起的数据库,我强烈推荐它。它具有许多功能,使其与其他数据库系统不同:
pull
api,它使您可以更简单地使用类似于GraphQL的表达式将数据从数据库中拉出,该表达式指定了要拉出的类似于文档的结构的形状超出数据库。这些查询甚至可以在Datalog查询的:find
子句中使用。这里需要指出的一件事是,通过包含EAV数据模型和数据记录/拉取查询,Datomic最终具有与NoSQL数据库更接近的结构灵活性,而在本质上仍然是关系型的,甚至在它是关系查询,而不是SQL。
这太神奇了,您绝对应该试一试。它会稍微融化您的大脑。很好。
值得注意的是,它的受欢迎程度激发了许多成功的开源项目,因此基本方法不会在任何时候出现: