PayPal 的 Gimel 分析平台提供统一的数据 API 和 GSQL

  • Srini Penchikala
  • 张卫滨

2018 年 4 月 27 日

话题:大数据语言 & 开发架构AI

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

PayPal,数据工程师、分析师以及数据科学家会使用各种数据源、计算引擎、 语言和执行模型(流、批处理、交互式)。这样的话,会导致工程师会花费大量的时间管理不同的数据源,进而影响他们的产品的上市时间。

PayPal 数据团队开发了名为Gimel的全新分析平台,它会使用一个数据 API 和 SQL 访问任意数据存储,并且提供了一个中心化的数据目录。

来自 PayPal 的 Romit Mehta 和 Deepak Chandramouli 在最近的QCon.ai 会议介绍了 Gimel 数据分析平台以及它如何用于商业化数据访问。他们讨论了 Gimel 的组件:计算平台(Compute Platform)、数据 API(Data API)、PCatalog、GSQL和 Notebooks,还宣布了该平台的开源版本。

InfoQ 与 Mehta 和 Chandramouli 讨论了 Gimel 数据平台以及它对安全、数据版本化的支持,了解了它未来的路线图。

InfoQ:为事务性和分析用例来管理数据目录(PCatalog)会有什么差异吗?

Mehta & Chandramouli:目前的 Gimel API 和 SQL 实现专注于分析平台。不管存储类型是 Kafka、NoSQL、基于关系型的还是基于文档型的,数据 API 都是相同的,SQL 提供了语言的抽象。在 PayPal,我们看到在线 / 实时系统都有类似的抽象层的需求。我们目前正在为在线系统提供类似的层,这些系统需要亚秒(sub-second)级的响应。

InfoQ:在 Gimel 平台中,你们是如何处理数据访问的安全性和访问控制的需求的呢?

Mehta & Chandramouli:因为所有的查询都是以登录用户的身份提交到底层系统的,而且所有的查询最终都由这些底层系统来执行,所以已有的安全策略和控制都能得以保持。

除此之外,通过日志系统,Gimel 会为每一个查询执行保留日志,其中包括查询本身,不管是否有数据下载至本地均是如此,未来,如果访问机密数据的话,还会为查询添加标签。

在 PayPal,Gimel 还遵循 Ranger 策略并与 Kerberized 集群紧密协作。

InfoQ:你们是如何管理数据存储的版本化的问题呢?

Mehta & Chandramouli:我们与 PayPal 的存储管理员协作,确保我们的 API 能够充分支持基础设备团队的所有存储版本。另外,如果存储团队需要新的设施的话,我们会在 API 中同样将它们纳入进来,这样所有的客户端就能透明地得到该功能的实现。也就是说,不管何时发生版本升级,在大多数场景下客户端都不需要更改他们的代码。

InfoQ:你们能介绍一下 GSQL 查询语言吗,它与其他的框架有什么差异吗,比如Spark SQL或 Neo4j's Cypher

Mehta & Chandramouli:现在,GSQL 是一个轻量级的实现,它会拦截用户 SQL,在背后会为 Gimel 数据集(Datasets)生成对应的数据 API 代码,然后采用与 Spark SQL 拦截器相同的方式进行传递。长期来看,我们会推动 SQL 的一些优化,它会从多种存储类型混合 / 连接(blend/join)数据,也就是连接 Kafka、Hive、HBase,并将结果写入到 Elastic 中。

在路线图方面,除了增值特性和更新之外,团队还为 Gimel 规划了下面的功能:

  • 查询优化
  • 开源 PCatalog(包括元数据服务、发现服务、目录 UI)
  • 添加对 Python 的支持;目前支持 Scala
  • 开源添加到Jupyter & Livy 中的特性

如果你想要学习 Gimel 平台的更多知识,或者关于它的特性有什么问题的话,可以参考文档Slack Channel用户论坛开发者论坛。你也可以按照这些指导,抢先尝试一下 Gimel 的功能。

查看英文原文PayPal's Gimel Analytics Platform Provides Unified Data API and GSQL

大数据语言 & 开发架构AI