AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

Cloudant 发布了基于 Java 的 CouchDB 视图服务器

  • 2010-09-19
  • 本文字数:1167 字

    阅读完需:约 4 分钟

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", “language”:“java”, “views” : { “title” : {“map”:"{\“classname\”:\“ com.cloudant.javaviews.SplitText \”,\“configure\”:\“title\”}",“reduce”:“com.cloudant.javaviews.SplitText”},
} }InfoQ 与负责 Java 视图服务器项目的 Search at Cloudant 主管 David 做了交流。InfoQ:CouchDB 运行在 Erlang 之上,它如何与 JVM 中的代码交互?实现这个项目的挑战在哪里?David:Java 视图服务器和所有 CouchDB 视图服务器一样(除了原生 erlang)作为一个外部进程运行。在 CouchDb 和视图服务器之间有一个定义良好的协议来做通信。通常,通过标准方式做通信,但是实际上因为性能原因我们使用OtpErlang java-erlang 库(允许多线程)。InfoQ:在这个场景下对代码/ 库有什么限制?David:主要的挑战是安全,在系统级和用户数据级都用限制。我们在一个共享的集群运行视图服务器。我们使用动态类加载来加载用户的库。类加载器有一个十分严格的安全管理器来限制恶意调用。不允许文件系统访问,只允许调用有限的系统调用。目前的视图服务器架构很简单,它使用由基于Erlang 的CouchDB 实例来驱动java 线程。如果Java 服务器出问题了,它只是关闭并重启服务器。对于这样的服务器还可以使用基于Scala 的 Akka framework 或者 Jetty 的非阻塞请求来实现。Java 视图服务器可以运行在任何 JVm 上。一 个巨大的潜力在于使用 Java 的下一代语言例如 Clojure、Scala 或者 Groovy(和其他语言)来做种工作,因为这些语言对于表达这样的任务比 Java 更简明高效。据 David 所说其他团体正在开发一个基于 Clojure 的视图服务器。如果想评估新的 Java 视图服务器,可以从 Cloudant’s 的站点获得一个免费的账号。在 couchjava github 版本库可以看到更详细的介绍。查看英文原文: Cloudant releases Java based view server for CouchD B

2010-09-19 09:523754
用户头像

发布了 47 篇内容, 共 12.0 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

2024算力中国·年度重大成果!天翼云成功入选!

天翼云开发者社区

人工智能 云计算

为什么选择租用香港服务器?

Ogcloud

服务器 服务器租用 云服务器租用

c#12 实验特性Interceptor如何使用的一个简单但完整的示例

八苦-瞿昙

dotnet

ArkWeb高级安全模式 - 提升应用安全性

秃头小帅oi

测试人生 | 双非院校,2年工作经验年薪近20万

测吧(北京)科技有限公司

测试

Higress 重磅更新:AI 能力全面开源,云原生能力再升级

阿里巴巴云原生

阿里云 云原生 Higress

淘宝商品详情数据接口抓取商品视频参数

tbapi

淘宝商品详情接口 淘宝商品视频接口

趣味科普:人的大脑相当于什么水平的CPU和GPU

伤感汤姆布利柏

认可+1!望繁信科技荣获2022年度新锐技术品牌奖

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能 数字北极星

通义灵码上线一周年:超 600 万下载量,国内用户规模第一,新功能有奖测评

阿里巴巴云原生

阿里云 云原生 通义灵码

一个基于 SourceGenerator 生成 从 dbReader转换为 class 数据的性能测试实验

八苦-瞿昙

C# dotnet csharp

探索一下 Enum 优化

八苦-瞿昙

dotnet

万界星空科技专门针对数字化改造申报的MES

万界星空科技

可视化 数字化 智能制造 mes 万界星空科技mes

创新突破!天翼云荣膺CCF HPC China 2024高性能计算创新大奖

天翼云开发者社区

云计算 高性能计算

1018AI资讯|Optimus机器人进化,ChatGPT Windows版推出 | Siri新功能揭秘 | 复旦AI模型开创动画新纪元

言寡意多

【HarmonyOS】SaveButton 保存图片

zhongcx

什么是 Spring Cloud?它解决了哪些问题?

我爱娃哈哈😍

微服务 SpringCloud

云手机与传统手机的不同之处

Ogcloud

云手机 海外云手机 云手机海外版 云手机群控 手机群控

第三届OpenHarmony技术大会展区亮点纷呈,全方位洞见智慧互联未来

科技热闻

如何理解分布式事务

我爱娃哈哈😍

分布式 分布式事务 微服务

SourceGenerator 生成db to class代码优化结果记录 二

八苦-瞿昙

dotnet

朋友吐槽我为什么这么傻不在源生成器中用string.GetHashCode, 而要用一个不够优化的hash方法

八苦-瞿昙

dotnet

尝试让查询更简单

八苦-瞿昙

dotnet

通义灵码上线一周年:超 600 万下载量,国内用户规模第一,新功能有奖测评

阿里云云效

阿里云 云原生 通义灵码

让查询可以使用 json path

八苦-瞿昙

dotnet

鸿蒙开发案例:推箱子

zhongcx

SourceGenerator 生成db to class代码优化结果记录

八苦-瞿昙

dotnet

Cloudant发布了基于Java的CouchDB视图服务器_Java_Michael Hunger_InfoQ精选文章