近日, Precog 宣布了他们的大数据仓储和分析服务,该服务负责处理数据的抓取、变换分析和可视化等过程,以及服务运行所基于的基础架构。不过,这一服务也通过 RESTful API 预留了各种开放的访问点,支持开发者和数据科学家控制整个过程。
Precog 可以从各种数据源抓取输入数据,其中包括 SQL 数据库、Amazon S3、Hadoop、MongoDB、客户端 Web 应用和后端服务器等。 RESTful API 支持开发者从外部源(如 Twitter 或 Facebook)、CSV 文件或移动设备抓取数据。抓取的数据保存到一个叫做 PrecogDB 的定制数据库中,而且我们还可以使用人群统计、态度、位置和其他信息使数据更为丰富。
之后,数据可以通过多种手段加以分析,比如通过一个 API ,或是利用客户库(JavaScript,PHP),或者使用 Labcoat (一种支持使用 Quirrel 这种声明式查询语言进行数据分析的 IDE)。开发者可以创建自己的数据抓取、强化和分析模块,甚至可以将这些模块拿到市场上销售。
Precog 能够将整个过程运行在不同的云供应商之上——如 Amazon EC2 和 SoftLayer——以便增加系统的弹性和正常运行时间。
在 InfoQ 进行的一次采访中,Precog 的 CEO 和创始人 John A. De Goes 解释到:
“(系统的)架构与数据库分析有些相似,比如都包括面向列的存储;但是其区别在于,前者支持完全异构的、非规范化的数据,通过对 Quirrel 的支持,相对于使用 RDBMS 进行分析,使用这种类似于“面向大数据的 R”的语言,你能够很方便地执行很多更为高级的计算。”
PrecogDB 是该平台的核心,它是一种用 Scala 编写的、面向列的数据库,运行在 JVM 上,它也为数据捕获和分析进行了优化。据 De Goes 介绍,PrecogDB 中可以保存“测量数据,如点击、购买、尺寸、Twitter 数据,或是收集自其他各种活动的日志信息”。他还补充道,“Precog 尚不能存储大块的非结构化数据,尽管在生物信息学和其他一些领域的应用的确有这种需求。不过这一功能已经在我们的路线图上了。”
至于 Quirrel——这种由 Precog 实现的统计查询语言,De Goes 谈到:“Quirrel 很多方面都与 R 编程语言比较相似。像 R 一样,Quirrel 也是为高级的分析与统计而设计的。但与 R 不同的是,Quirrel 并非图灵完备的语言,它是纯声明式的,利用它更容易高效地在大规模集群的机器中分发 Quirrel 查询(这也使 Quirrel 比 R 更容易学习)。”
PrecogDB 有一些“用于常见的分析与统计计算的内置例程”,它还提供了一个“细粒度的、基于能力的安全模型,支持来自移动设备或 Web 的应用程序通过 RESTAPI 直接访问其功能”。
查看英文原文: Precog: Big Data Analytics as a Service
感谢侯伯薇对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论