本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2013/02/heroku-dataclips
释放数据的价值
借助于最近上线的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是分享这些数据的一种手段。
比如说,“最近的业务分数”:
<iframe width="800" height="400" _tmplitem="1" src="https://dataclips.heroku.com/aniexnddtuqpmtjhmuvdgrqprjns/embed?result=7&version=1"></iframe>
你可以通过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
分享到:
相关推荐
10. **Heroku Connect**:用于 Salesforce 集成,使得开发者可以轻松地将 Heroku 应用与 Salesforce 数据连接起来。 总的来说,Heroku 以其简洁的部署流程、强大的附加服务和灵活的扩展能力,成为了许多开发者的...
使用Heroku了解Salesforce1对象中的复杂数据趋势 该存储库演示了一个示例应用程序,该示例应用程序将H2DB作为内存数据库中的H2DB集成了Salesforce和Heroku,以进行复杂的数据趋势分析。 摘要:在通过大量数据计算...
heroku-buildpack-go, Heroku Buildpack Go Go 这是官方的Heroku buildpack,用于 。正在启动遵循 https://devcenter.heroku.com/articles/getting-started-with-go 指南。还有一个 H
Heroku command-line tooling for working with the Heroku platform.
Heroku is one of the leading cloud platforms supported by several programming languages. It lets you develop applications without worrying about the infrastructure. You can instantly build, deploy, ...
heroku-buildpack-python, 用于 python 应用的官方 Heroku buildpack : 这是官方的Heroku buildpack插件,由 Pipenv插件。 pip 和其他优秀软件提供支持。推荐的网页框架包括英镑 Django 和英镑 。 推荐的web服务器为...
heroku登录界面
heroku_san, Heroku有用的内容 Heroku的有用rake任务。 安装 Rails 3 将这个添加到你的Gemfile: group :development do gem 'heroku_san' end Rails 2要
2016最新windows版本工具heroku-toolbelt.exe
ionic-heroku-button, 用于Heroku的一个单击离子应用程序模板 ionic-heroku-button用于Heroku的一个单击离子应用程序模板在本地部署确保安装了 node.js 插件和 Heroku Toolbelt插件。git clone git@github....
《PyPI官网下载:ckanext-heroku-0.5.1.tar.gz——Python在云原生环境中的分布式扩展》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了大量的Python库和模块供全球用户下载使用。在这个案例中...
**Python-DjangoHero在云上使用Heroku搭建一个Django项目最快的方式** 在现代Web开发中,Python的Django框架以其高效、灵活和强大的功能深受开发者喜爱。而Heroku作为一个流行的云端平台,提供了便捷的部署服务,...
React Router是React库中的一个强大组件,用于管理应用内的路由,而Node.js则作为一个后端服务器处理数据和API请求。Heroku是一个流行的云平台,支持多种语言的web应用部署,包括Node.js。下面,我们将详细介绍如何...
在现代云计算环境中,AWS Lambda 和 Heroku 都是流行的平台,它们为开发者提供了便捷的部署和运行应用程序的方式。本文将深入探讨如何利用AWS Lambda来实现类似Heroku的体验,特别是针对JavaScript开发者的其他杂项...
Heroku Toolbelt; heroku-cli-x64安装包;Windows系统64bit
wordpress-heroku, 用于将WordPress部署到Heroku的模板项目 这个项目是一个模板安装和运行的在 Heroku 。 存储库附带:用于WordPress的Amazon Amazon S3和Cloudfront插件WP Sendgrid安装从Github克隆存储库$ git clo
数据存储与展示通过Heroku平台部署后端应用,实现数据的实时上传与存储,并提供Web界面展示环境数据。 多用户支持支持多用户访问,管理员可以远程监控和管理环境数据。 警报功能当空气质量低于预设阈值时,系统会...
heroku toolbelt的win版本最新安装程序