NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Facebook 开源 Haxl:使用 Haskell 进行隐式并发数据访问

  • 2014-06-17
  • 本文字数:643 字

    阅读完需:约 2 分钟

Facebook 开源了 Haxl,一个为高效并发数据访问而开发的库。这个库一方面利用了 Haskell 的传统优势,比如表达力很强的类型系统、对正确性和安全性的保障,另一方面也受益于 GHC(译者注:Haskell 编译器)的高性能运行时库,解决烦人的隐式并发数据访问的问题。

Haxl 简化了对远程数据的访问,比如数据库网站服务。对同一数据源的多个访问请求,或同时从不同的数据源请求数据,它都能批量处理,并且缓存上一次的结果。Jon Purdy 是开发 Haxl 的工程师之一,他解释说——

这里基本的思想是,你可以写点幼稚的代码来获取数据,它们看起来效率可以非常低下——比如循环查询、没有明显的去冗余——但在底下它就被神奇地编译成了高效的并行获取代码。

为了在你的应用中使用 Haxl,你需要创建一个简单的软件层来表示你的数据源,以及描述如何访问它。

Haxl 使用 Applicative 数据类型来使计算机指令以隐式的并行方式运行。从这个演讲里面你可以了解它更多的工作原理。你可以在 hackage 上找到 Haxl,也可以访问它在 Github 上的源码

Haxl 是 FXL 的替代者,FXL 也是为了解决同一问题而诞生的。虽然 FXL 有一个干净的执行模型,但它的实现有明显的性能问题,尤其是对 CPU 和内存的使用。使用 Haskell 和 GHC 是最好的选择。你可以了解更多 Haxl 背后的故事以及 Facebook 当前使用它的案例。


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-06-17 03:015852
用户头像

发布了 77 篇内容, 共 35.3 次阅读, 收获喜欢 25 次。

关注

评论

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

通往数据分析平民化的成功之路

Kyligence

kylin 数据分析师 Kyligence

应对 Job 场景,Serverless 如何帮助企业便捷上云

Serverless Devs

Serverless Job

后 Hadoop 时代的大数据分析路在何方?

Kyligence

大数据 Kyligence Apache Hadoop

【Maven实战技巧】「插件使用专题」Maven-Archetype插件创建自定义maven项目骨架

洛神灬殇

maven 代码生成 12月日更 骨架生成 架构搭建

解决 Serverless 落地困难的关键,是给开发者足够的“安全感”

Serverless Devs

阿里巴巴 Serverless 运维 Faas 业务

大数据开发之zookeeper的数据与存储

@零度

大数据 zookeeper

node.js安装及环境配置超详细教程【Windows系统安装包方式】

明金同学

node.js npm Node 软件安装

我好像发现了一个Go的Bug

捉虫大师

Go benchmark

MLSQL:融合 Spark+Ray,让企业低成本落地 Data+AI

Kyligence

大厂高频面试题Spring Bean生命周期最详解

Tom弹架构

Java spring 源码

现代分布式架构设计原则-分布式

余朋飞

分布式 复制 一致性 共识算法 分区

给弟弟的信第6封|大学生活攻略

大菠萝

28天写作

宝德牵手英特尔,共同成就教育美好

江湖老铁

复杂分析场景,SQL or MDX ?

Kyligence

配置灰度管理

鲸品堂

配置 灰度发布

函数计算 GB 镜像秒级启动:下一代软硬件架构协同优化揭秘

Serverless Devs

常见杀毒软件及其引擎的特点

喀拉峻

网络安全 病毒扫描

微信业务架构图

holdzhu

「架构实战营」

跨越可观测性鸿沟|高手们都在用的“火焰图”是什么

尔达Erda

程序员 微服务 云原生 可观测性 链路追踪

浅谈 OLAP 系统核心技术点

Kyligence

存储 Kyligence OLAP系统

辅导孩子写作业,如何才能做到心平气和?

Tiger

28天写作

HashMap有几种遍历方法?推荐使用哪种?

王磊

如何快速搭建统一数据服务,让数据资源成为数据资产

Kyligence

为什么预计算技术代表大数据行业的未来,一文读懂

Kyligence

大数据 Kyligence 预计算

尚硅谷Maxwell视频教程发布!

@零度

大数据 Maxwell

恒源云(GPUSHARE)_语音识别与语义处理领域之NAG优化器

恒源云

深度学习 语音识别

从 Hadoop 到云原生:Kyligence 在云原生巨浪中的思考

Kyligence

数据仓库 云原生 Kyligence 存储计算分离

极客实战营-模块一作业

众森焱

Gartner 报告最新解读:数仓 or 数据湖?

Kyligence

数据湖 Kyligence 数仓 Gartner

共襄信创产业生态建设之力|DataPipeline加入北京信创工委会!

DataPipeline数见科技

数据库 中间件 信创 数据融合

运维提效 60%,视野数科 SAE + Jenkins 打造云原生 DevOps

Serverless Devs

大数据 数据 视野数科

Facebook开源Haxl:使用Haskell进行隐式并发数据访问_Meta_Roopesh Shenoy_InfoQ精选文章