CouchDB背后的公司Cloudant刚发布了针对CouchDB的Java视图服务器。这意味着不仅仅是Erlang和解释性语言如Javascript或者Python可以用于Map-Reduce工作,基于JVM的语言也可以用于Map-Reduce工作。本周的CouchDB社区会议将会讨论这项技术。目前Java视图服务器只用于Cludant托管的BigCouch服务。
Java的主要优点是有海量的Java库可用于各种各样与map reduce任务有关的功能。第二点是更可靠的静态类型方面(还需要证实)。性能比较是有意义的,但是目前还没有做基准测试。预期Java视图的性能会比原生的Erlang视图慢(Java和Erlang可以混合在一个视图中)。使用org.json库做的JSON序列化和反序列化会带来一些性能开销。要使用基于Java的Map Reduce视图只需要实现一个简单的JavaView接口,该接口提供了对map、reduce和rereduce的回调。例如一个简单的视图,聚合在配置的JSON字段中的单词数量。 {
\ \"_id\":\"_design/splittext\