有很多方法可以在Haskell中替换SQL数据库,Clojure:
http://www.datomic.com/(Clojure)
https://github.com/dmbarbour/haskell-vcache
https://hackage.haskell.org/package/acid-state
但是我在Scala中找不到使用akka-persistence的库。
我想知道为什么?
我听说https://www.querki.net/正在做类似的事情(https://github.com/jducoeur/Querki),但它不是一个copyleft库(与Haskell的酸状态不同)。
我很想知道我是否从错误的角度看待这个问题,我想知道为什么其他语言有这些解决方案而且Scala似乎没有它,也许有一个根本原因呢?我错过了什么吗?
答案 0 :(得分:2)
你提到的图书馆做了很多不同的事情:
akka-persistence 存储演员的状态。如果你有一个使用内部状态的actor。这非常专业。
acid-state 将Haskell数据序列化为磁盘。
Datomic 是一种以不会破坏原始数据的方式覆盖时态数据的系统。
对象存储适用于动态语言(如Clojure和Python),因为它们可以处理可以序列化到磁盘的动态数据。
我发现使用Python中的MongoDB比使用Scala更好。
当NoSQL运动开始时,最初兴奋,但在使用这些系统后,有些人意识到你放弃了数据库所具有的良好属性。
Datomic是一个有新想法的有趣项目。它有一个Scala克隆。不确定它有多稳定: https://github.com/dwhjames/datomisca