在QCon New York 2013上,Rich Hickey做了一次话题为函数式数据库的演讲。Hickey因创造了Clojure编程语言而蜚声业内,目前他正在开发函数式数据库Datomic。在他的演讲中,Hickey表示函数式语言中的两个非常有用的属性:数据即值(data as values)和纯函数(译者注:Pure Functions ,不会产生副作用的函数,副作用指的是函数会改变外界环境的某些属性,或者返回值依赖于外部环境的某个属性),同样也有适用于数据库这一环境。他认为,这与对象关联的编程有很大不同。对象包含了数据和逻辑,就像是一台机器:它顺序地进行处理并不断改变自己的状态。每次调用对象上的方法都有可能返回不同的结果。这种状态可能会以某种不可预知的方式进行改变。例如,由于另一个线程同样也引用了该对象并修改了它。这让与对象关联的程序很难进行对结果的推断。而我们今天所使用的数据库与对象非常相似:一个数据库服务器就是一个不断改变状态,并且具有查询逻辑和变化部分的单独实体(有可能存在多份复制),可以采用事务的概念来弥补对数据库不可变(immutable)值的缺失。