写点什么

Heroku Dataclips 2.0——数据 Gist

  • 2013-02-04
  • 本文字数:2194 字

    阅读完需:约 7 分钟

Heroku Postgres

释放数据的价值

借助于最近上线的 Dataclips 2.0 的新特性,Heroku 在其路上又迈出了重要的一步:

“释放数据的价值”。就像 GitHub Gists 支持相关代码片段的共享与协作一样,Dataclips 也可以对你的数据做同样的事情。

时至今日,人们已经达成共识:单个应用的价值有限,而不断消费与使用的数据才真正具有价值。开放这些数据不是一件易事,要考虑到开放性以及对不断增长的服务的支持,这些服务会混搭现有的数据源来创建出更大的内容,结果就是 1+1>2。

Heroku Postgres 团队花了近一年的时间来整理 Dataclips 的架构与实现。InfoQ 有幸采访到了 Heroku Craig Kerstiens 持久化小组的产品经理。本文概要介绍了 Dataclips 的诸多方面与特性,他们不仅对于开发者很有价值,对于业务与决策者来说也是非常重要的。

Craig 说到:

组织的数据几乎是最有价值的资产。但遗憾的是,这些数据通常会被放到一个数据库中,只能由少数有权限的人通过很少的几种方式来访问。很多时候,报告都是手工生成的,并被粘贴到邮件中;他们构建的仪表盘很快就会过时,根本就没法回答人们的问题。

这个想法让 Heroku 重新开始构建 Dataclips,提供易于安装和使用的产品,并且着眼于未来的众多应用。

示例——卫生检查分数SFO

为了让大家对Dataclips 有个感性的了解,我们展示一个由Code for America 开发的应用,这个示例表示旧金山餐厅与食品公司的卫生检查分数。Code for America 搜集并聚合了一些公开数据,Dataclips 是分享这些数据的一种手段。

比如说,“最近的业务分数”:

你可以通过 dataclips.heroku.com 的帐号或是 Postgres 管理页面(提供恰当的 SQL 语句)来直接创建 Dataclips。唯一的限制在于一个 Dataclips 只能返回 30,000 行,超出的数据会被截断。

Dataclips 可以用在嵌入的 iframe 中,就像上面这个示例一样,也可以用作独立的 HTML 页面。我们可以通过上面这个示例看到 SQL、版本以及 Dataclips 的修订历史,可以通过邮件、Twitter 或是 Google docs 进行分享。通过向 URL 追加文件扩展 CSV、XLS(Excel)或是 JSON,你可以使用这些格式来下载 Dataclips。

JSON

复制代码
https://dataclips.heroku.com/aniexnddtuqpmtjhmuvdgrqprjns.json
{"fields":["name","address","city","score"],
"values":[
["MINI BAR SF, LLC","837 DIVISADERO ST ","San Francisco","100"],
["AT&T - MAIN KITCHEN/SUITE LEVEL [145084]","24 WILLIE MAYS PLAZA 4.10.03 ","San Francisco","100"],
["CYBELLE'S PIZZA","719 14TH ST ","San Francisco","100"],
...
]}

CSV——Comma Separated Values

复制代码
https://dataclips.heroku.com/aniexnddtuqpmtjhmuvdgrqprjns.csv
name,address,city,score
"MINI BAR SF, LLC",837 DIVISADERO ST ,San Francisco,100
AT&T - MAIN KITCHEN/SUITE LEVEL [145084],24 WILLIE MAYS PLAZA 4.10.03 ,San Francisco,100
CYBELLE'S PIZZA,719 14TH ST ,San Francisco,100
PACIFIC UNION CLUB,1000 CALIFORNIA ST ,San Francisco,100
...

其他格式也会在未来得到支持,比如说 XML 与 YAML。但诸如 google-data-table 格式是非常适合于与各种 Google 图表进行整合的。目前,我们可以通过 ImportData(URL)函数将 CSV 格式导入到 Google Calc 电子表格中,每小时刷新一次。

修订与版本

类似于 Gists,Dataclips 也支持版本和修订。每次查询发生变化时,新的 Dataclips 修订就会创建出来(也会列在 dataclip-page 上),对于每个变化的结果(由于数据发生了变化),新的版本也会产生。可以通过向 URL 追加?revision=1&version=5 查询参数来访问不同的修订与版本。类似于 Gists,Dataclips 也可以创建分支,然后独立使用。

实现

Dataclips 的实现是相当直接的。Dataclips 是通过运行在 heroku 基础设施之上的 Ruby 应用来提供服务的,它会定期(目前大约是一分钟一次)在只读事务中运行配置好的查询并获取结果。脚本会监控运行时与查询,并动态调整频率。查询的结果会存储在版本化的表中以供快速访问,它独立于原来的数据库。其他格式在 S3 中创建并缓存下来。HTML 视图并不会缓存,而是即时渲染。

使用与反馈

Craig 就如何使用 Dataclips 给出了很多用例。Dataclips 是自更新的,存储的版本化信息可由决策者使用。对于开发者来说,共享数据变得易如反掌。Dataclips 可用作稳定的 API 来编写原型,甚至是完整的应用。一般来说,他们提供了向混搭与其他使用场景公开数据的能力。另一个有趣的用例是人们可以通过 Dataclips 学习 SQL,只需做个分支,然后编辑 SQL 即可返回结果。

Dataclips 的路线图有很多维度。比如说支持更多的格式或是为 HTML 视图提供样式等显而易见的计划。开启其他的关系数据库很简单,将 Dataclips 集成到 NoSQL 插件提供者中将会非常有趣,当然肯定也会很复杂。另一个有趣的方向是向 Dataclips 添加社交特性,如评论、评级等,这最终会创造出一个 Dataclips 市场(有免费与付费版本)。自定义 URI 尚未有规划。更加频繁地使用 Dataclips 也意味着需要有相应的 API 以编程的方式来创建他们。

到目前为止,来自用户的反馈还是非常积极的,Dataclips 的一些有趣的用例有欺骗检测可视化、用户注册,以及作为仪表盘的数据源等。

对于商业化,Heroku Postgres 还计划了额外一些特性,比如说只能由Heroku 用户才能访问Dataclips。免费版本的安全性通过不可猜测的URI 来保证。

查看英文原文: Heroku Dataclips 2.0 - The Gist of Data

2013-02-04 00:111399
用户头像

发布了 88 篇内容, 共 264.4 次阅读, 收获喜欢 8 次。

关注

评论

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

Kubernetes下Stdout日志白名单最佳实践

观测云

可观测性 可观测

易周金融分析 |“一参一控一牌”落地;两家支付机构更名

易观分析

金融 银行

书单 | 5月,这10本上榜新书带你打开新世界的大门!

博文视点Broadview

面向高校 | “云原生技术应用与实践”示范课程项目开放申报

阿里巴巴云原生

阿里云 云原生 云原生课程

Docker 实践经验(一)简介、安装与实操

看,未来

云原生

架构实战营 - 第 6 期 模块七课后作业

乐邦

「架构实战营」

国产ETL数据仓库调度平台TASKCTL对于Kettle作业类型的转换使用

敏捷调度TASKCTL

DevOps 数据仓库 kettle ETL 自动化运维

Docker实践经验(四)docker 上部署 mysql8 主从复制

看,未来

Docker 实践经验(五)docker上部署 redis 三主三从集群

看,未来

云原生

企评家,企业成长性评价系统怎么用?

企评家

企业成长性分析 企评家 企业投资价值评价

11年程序员给本科、研究生应届生以及准备从事后台开发同学的建议,学习进阶之路

C++后台开发

后台开发 社招 应届生 Linux服务器开发 校招

自动驾驶等级家喻户晓,小微企业宽带等级你知道吗?

脑极体

一份优秀的产品帮助文档怎么写?

小炮

ZooKeeper 在阿里巴巴的服务形态演进

阿里巴巴云原生

Apache zookeeper 阿里云 开源 云原生

优秀标杆!华泰证券多芯协同云网管理平台

BoCloud博云

多云管理平台 多云管理

UniqueMergeTree:支持实时更新删除的ClickHouse表引擎

字节跳动数据平台

Clickhouse 表引擎 实时

战码先锋直播预告丨参与ArkUI,共建OpenHarmony繁荣生态

OpenHarmony开发者

Open Harmony

【直播预告】研发效率百倍提升的秘密,这些破圈思路了解一下!

FinClip

小程序 finclip 直播预告

Vue进阶(贰零捌):ES6 对象解构

No Silver Bullet

ES6 5月月更 对象解构

什么是时序数据库

领创集团Advance Intelligence Group

未来已来:云原生时代(二)云计算发展现状调研

看,未来

云原生

Docker实践经验(二)镜像的构建、镜像仓库、压缩、导入

看,未来

基于边缘计算的云游戏场景实践

火山引擎边缘云

最佳实践 边缘计算 实时音视频 云游戏

对象存储 S3 在分布式文件系统中的应用

焱融科技

对象存储 存储 分布式存储 云存储

「开源人的福音」一键部署Java构件到Sonatype

Jianmu

后端 持续集成 开源项目 部署 Java构件

未来已来:云原生时代(一)云计算如何一步步走来?

看,未来

硬之城获阿里云首批产品生态集成认证,携手阿里云共建新合作

阿里巴巴云原生

阿里云 云原生 合作伙伴 合作

React 实现 PDF 文件在线预览 - 手把手教你写 React PDF 预览功能

蒋川

JavaScript react.js 低代码 CRM pdf预览

Spring之 @Component和@ComponentScan注解用法介绍和注意事项

echoes

Docker 实践经验(三):Docker 容器数据卷

看,未来

Docker 实践经验(六):Docker 网络

看,未来

云原生

Heroku Dataclips 2.0——数据Gist_DevOps & 平台工程_Michael Hunger_InfoQ精选文章