写点什么

Imply CEO 杨仿今:AI 时代数据分析发展方向

  • 2019-05-17
  • 本文字数:4102 字

    阅读完需:约 13 分钟

Imply CEO杨仿今:AI时代数据分析发展方向

本文为 Robin.ly 授权转载,文章版权归原作者所有,转载请联系原作者。


本期 Robin.ly 创业专访特邀 Imply 的共同创始人、CEO 杨仿今分享他从开源项目到数据分析公司的创业历程,以及对 AI 时代数据分析发展方向的见解。


Imply 成立于 2015 年,专注于大规模事件流(event stream)的高性能数据分析。杨仿今同时也是 Apache Druid 的核心开发者,Druid 是一个开源数据存储系统,旨在快速摄取大量的事件数据并提供低延迟查询。此前,杨仿今曾任 Metamarkets(被 Snapchat 收购)和 Cisco 的工程主管,毕业于加拿大滑铁卢大学计算机工程专业。

大数据的发展历程及在 AI 时代的变化

Alex: 你见证了大数据领域许多关键的技术革命。能不能带我们回顾一下过去 5 到 10 年的一些重要事件?


Fangjin:


我认为数据分析的发展经历了这样一个过程:第一代技术是数据仓库。几十年前,甲骨文,Teradata,惠普和许多其他供应商的数据仓库曾经非常受欢迎。而在过去 10 年中,情况有了变化。人们开始意识到,数据正在变得越来越复杂,数据量一直在增加。结合另一个热门的开源项目 Hadoop 生态系统的兴起,以及公共云供应商的出现,数据分析技术已经发生了变化。现在出现了一个中央存储地点,不同类型的引擎可以对中央存储地点中的数据进行查询。这就是所谓的数据湖(Data Lake)架构,它是面向多数据源的信息存储系统,可以运行不同类型的分析,也是 Amazon 和 Google 运行数据分析服务的方式,也是人们在深层生态系统中的工作核心。


我认为数据分析现在正在朝着更加实时的动态工作流程转变。所以,现在许多企业都在对数字业务进行投资,将越来越多的业务放在互联网上运行。这意味着,相比先前的各种静态文件,你现在拥有了很多连续的信息流。我相信数据分析正在逐渐向摄取和分析连续信息流的方向发展。Imply 就在朝着这个方向努力,我们正在尝试构建一种新型数据库。


这其中涉及到的一个重要的概念是事件流。事件流(Event Stream)是一个行业术语,用于描述数字业务的输出。我认为有三种主要的事件流,包括用户生成的数据——如果我是一个用户,正在使用某种移动产品或数字产品,那么我在这个产品上的种种行为就会生成非常有用的数据;事件流还可以包含应用程序的指标,比如 KPI 或者性能参数等等;它还可以是低级基础架构数据,如服务器指标和服务器日志,基本上就是人们与不同类型产品交互的输出。所以事件流描述的是一系列行为发生的过程。



杨仿今(右)与 Robin.ly 创始人 Alex Ren(左)


Alex:我们知道大概从三四年前开始,人工智能逐渐变成了非常热门的领域。那么数据分析如何应对人工智能和机器学习的兴起?能举几个例子吗?


Fangjin:


这的确是个很有意思的现象。人工智能和机器学习的概念已经存在了几十年,最近在投资界得到了越来越多的关注。我觉得我们更应该思考诸如公司到底能不能找到成功的 AI 解决方案的问题。但我也认为,人工智能和机器学习的确对整个数据生态系统来说意义重大。我把 AI 和 ML 分解成算法和计算两个部分来看。有大量的数据需要处理,系统必须执行原始计算以得出一些初步的分析,随后通过更智能的算法获得相应的决策和推荐等等。在 Imply,我们建立了一个像计算层一样的基础结构,让更高级别的 AI 技术实现许多应用,比如大规模数值运算。


比如我们有一个客户是一家大型金融银行。他们将数据分析技术与自己开发的人工智能系统相结合,试图更好的识别出不同产品线中的相同客户,以了解这些客户可能感兴趣的其他产品。在这种情况下,他们正在使用我们的技术更快的获取数据,进行更低级别的计算和更快的大规模数值运算。接着,他们在低级别数据之上构建了自己的高级数据抽象和算法。

Druid 的优势和特点

Alex: 我们知道还有许多其他的实时数据流工具,比如 Flink,Storm 和 Kafka。相比之下,Druid 的优势和特点是什么的?


Fangjin:


确实还有类似的工具。实际上,单一的数据架构很难解决一个特定案例所面临的所有问题。通常人们更倾向于构建数据堆栈(Data Stack),将不同的技术结合起来,其中每种技术都擅长解决特定的问题。


更现代的流分析堆栈包含三个主要部分。其中一个部分负责从某个地方获取数据并将其传输到其他地方,这就是所谓的信息总线。Apache Kafka 非常擅长数据传输。


另一个关键部分是数据的清理、转换和处理。原始数据通常要通过多种方式进行转换之后才能使用。工业界将这一过程叫做提取转换加载,简称为 ETL。 具有 ETL 功能的部分就是所谓的流处理器。Apache Flink,Apache Storm,Spark Streaming 实际上就是用来对流媒体数据进行 ETL 操作的。


最后一部分就是,如何从数据中得出结论?如何长期存储这些数据?这些就是数据库和 Druid 的主要功能。Druid 跟 Kafka,Flink 或 Storm 的关系并非竞争,而是互补。也就是说,堆栈可以输入到 Kafka 中,然后通过 Flink 进行转换,最后将转换后的数据传递给 Druid 进行进一步查询。这就是一个端到端的堆栈。



Imply 和 Druid 应用示例:WalkMe (图片来源:https://imply.io/


Alex: 你们有一个产品叫 Imply Cloud,是 AWS 的托管服务。我知道 AWS 有很多限制,你们是如何应对这些限制的?


Fangjin:


Imply 是打包软件,也就是说你可以在内部进行安装,可以在任何基于 Linux 的环境中安装。但我们的核心产品之一是 Imply Cloud,是 AWS 的托管服务。所谓托管服务,是指帮助客户将我们的软件部署到他们的 AWS 账户中。因此,客户对他们的数据有全部的所有权,他们可以控制数据运行的硬件,我们的作用就是让相关操作和部署更容易。


所以在这种情况下,AWS 的限制对我们来说并不是大问题,它的模型实际上运行得很好。这样做的好处之一就是,客户不再需要对软件进行复杂的管理,其中的很多步骤已经被自动化了。另外,我们也不会查看或者拥有他们的数据,这是另外一个优点。这种模式也是比如 Databricks(Apache Spark 的母公司),Qubole 和其他公司所采用,而且效果非常好。



AWS 数据可视化界面(图片来源:https://imply.io/

基于开源项目创立公司

Alex: 你之前在 Metamarkets 工作了四年,在这期间是如何打造 Druid 的?后来为什么又决定创业?从工程师的角色转变为企业家,你经历了怎样的过渡?


Fangjin:


我在 2009 年搬到硅谷,加入了 Cisco,负责一些研发工作。但我很快意识到大公司并不适合我,我一直怀揣着对初创公司的向往。后来我成为了最早加入 Metamarkets 的一批员工之一。我和当时的工程副总裁,也是我的面试官之一,一起构建了一些 Druid 的技术案例。后来我们决定开源这个技术,并逐渐发现这项技术可以解决很多大公司的问题,有着巨大的市场潜力,于是就产生了创办公司的念头。



Druid 最新版本界面(图片来源:https://imply.io/


我在上大学的时候就对创业公司和风险投资之类的概念很感兴趣,会有意识的去搜集这方面的信息。我认识到创办一家公司,我不仅要成为一名优秀的工程师,还要有出色的商业头脑,而同时具备这两个条件是很难的。所以我在早年的职业生涯中一直专注于如何成为一名优秀的工程师,努力打造一个能够让越来越多的公司受益的系统。在创立公司之后,我让自己尽快开始适应这种角色转换,了解什么叫市场推广策略,如何找到技术和产品的市场定位,以及如何进行销售。除此之外,我还会花一些时间社交,向前辈请教创业的经验和教训;同时也博览群书,钻研相关领域的知识。创业是一个生死攸关的过程,如果不知道如何生存,公司就只能关门。我觉得学习知识最好的方法就是实践,纸上谈兵肯定是不行的,只有亲自动手才能知道会遇到什么样的困难,以及如何克服。


Imply 是一家 B2B 的公司。对于任何一家 B2B 的公司,盈利方式有很多种,但每种都不轻松。我刚开始创业时并没有意识到这一点,还天真的以为拥有非常强大的技术,人们就会买账,但事实并非如此。任何商业领域都存在竞争。有些竞争对手与我们的目标客户有几十年的交情,他们的团队也比我们要大得多。但是我们发现,想要在若干竞争者中脱颖而出,最重要的并不是技术本身,而是要突出我们的技术如何解决问题,能创造什么样的价值,并且有针对性的打造不同的市场推广战略。

如何应对挑战和错误

Alex: 在你三年的创业经历中,你遇到的最大的挑战,或者说错误是什么?


Fangjin:


挑战肯定是很多了,有些创业初期的问题在现在看来可能不是问题。在最开始的几年,吃闭门羹简直是家常便饭,比如有的投资者觉得我们的公司不会成功,不愿意投资;比如潜在客户看不到我们产品的价值,不愿意购买;还比如应聘者觉得我们的公司没有前途,拒绝加入我们。最开始,一次次被拒绝让我感到非常崩溃,但是我现在已经习惯了。面对拒绝,我会告诉自己,今天只是个星期二,继续努力就是了。


如果说犯了什么错误的话,我希望在刚开始的时候能够更加专注。专注对于创业公司非常重要,因为你在创业公司中很容易分心,有各种大大小小的事情要处理。现在看来,在资源有限的情况下,事无巨细亲力亲为只是浪费时间。对每一个初创公司来说,犯错都是不可避免的。但是要坚持你的信念和对市场的判断,多去尝试,犯了错误及时吸取教训就好。


Alex: 对于想要创业的人,你的建议是什么?


Fangjin:


我们总是会听到人们描述创业如何艰辛,但是直到你亲自去尝试才会体会到究竟有多难。我认为人们在开始创业之前,应该想清楚自己的动机。比如有人想创业是为了赚钱,想要实现财务自由,但通常情况下很难实现。公司在未来有可能赚得盆满钵满,但在最艰难的创业期间,你很可能会面对资金短缺的问题。如果你的动机是赚钱,又缺乏坚定的信念,在这种情况下你很可能就会支撑不住,半途而废。


还有一些人创业是为了自己当老板,但是你会发现其实你说了不算。你的任何决策要向董事会报告,反倒是人人都成了你的老板。除此之外,你还要想办法吸引和留住人才,打造出色的公司文化。所以我认为这样的动机也很难支撑你走下去。那些最伟大的初创公司一定是挺过了最艰难的时期,创始人拥有足够的耐心,有坚定的信念和排除万难,勇往直前的勇气。其实想要赚钱或者拥有更多自由,还是有很多其他的途径可以尝试的,不一定非要承担创业的压力。


查看采访原文https://www.robinly.info/blog/fangjin-yang-ceo-imply-how-to-evolve-an-open-source-project-into-a-business


2019-05-17 08:004858
用户头像
Robin.ly 硅谷AI科技、创业、领导力访谈

发布了 49 篇内容, 共 18.9 次阅读, 收获喜欢 59 次。

关注

评论 1 条评论

发布
用户头像
“有人想创业是为了赚钱,想要实现财务自由,但通常情况下很难实现。
还有一些人创业是为了自己当老板,但是你会发现其实你说了不算。你的任何决策要向董事会报告,反倒是人人都成了你的老板。”
哈哈,肺腑之言,实践出真知,感谢分享!
2019-05-20 14:19
回复
没有更多了
发现更多内容

热潮-区块链的价值能够体现在哪些方面?

CECBC

区块链技术 标准化 应用价值

十年一梦,小米的原罪得到救赎了吗?

脑极体

ARTS Week11

时之虫

ARTS 打卡计划

第十章作业

武鹏

ARTS打卡Week 10

teoking

面试这么撩准拿offer,HashMap深度学习,扰动函数、负载因子、扩容拆分,原理和实践验证,让懂了就是真的懂!

小傅哥

Java 面试 hashmap 负载因子 扰动函数

十多位全球技术专家,为你献上近十个小时的.Net微服务介绍

newbe36524

容器 微服务 .net core netcore

图文讲解 AQS ,一起看看 AQS 的源码……(图文较长)

程序员小航

AQS jdk源码 源码阅读 java 并发

当实证资产定价遇上机器学习

分析101

人工智能 学习 金融科技 金融 资产定价

Requests模块基本操作

有梦想的tester

LeetCode题解:21. 合并两个有序链表,利用数组排序,JavaScript,详细注释

Lee Chen

大前端 LeetCode

如何理解Java8 的函数式编程

Rayjun

Java 函数式编程

如何让区块链技术能够更好赋能数字社会建设

CECBC

区块链 数字经济

设计模式之——JDK动态代理的源码分析

诸葛小猿

动态代理 cglib 代理模式 Proxy

应用开发基础之-并发编程

superman

ARTS-WEEK10

一周思进

ARTS 打卡计划

ARTS打卡 第11周

引花眠

ARTS 打卡计划

视读——沟通的艺术,看入人里,看出人外(第二章)

废材姑娘

读书笔记 视觉笔记

深化区块链技术的应用 体现其价值产业发展良机

CECBC

区块链技术 数字经济

Java 常见的几种 OOM

hepingfly

Java OOM

程序的机器级表示-控制

引花眠

计算机基础

BGP、OSPF、MPLS路由协议RFC分享

Phantasm

求刚好大于当前数组组合,Code Review最佳实践,JVM框架原理,JVM垃圾回收原理 John 易筋 ARTS 打卡 Week 12

John(易筋)

Code Review ARTS 打卡计划 JVM虚拟机原理 JVM垃圾回收原理 Array算法

那些不可貌相的代码规范

废材姑娘

代码质量

吃灰的旧显示器别扔!

小匚

学习 随笔杂谈

Suricata-流的处理

Phantasm

网络安全 suricata flow

微服务、DDD

chenzt

ARTS 打卡(20.07.20-20.07.26)

小王同学

LeetCode题解:21. 合并两个有序链表,迭代,JavaScript,详细注释

Lee Chen

大前端 LeetCode

关于 Bash 的 10 个常见误解

柴锋

bash Linux DevOps Shell

数据库的乐观锁和悲观锁并非真实的锁

架构师修行之路

数据库 架构 乐观锁 悲观锁 分布式锁

Imply CEO杨仿今:AI时代数据分析发展方向_AI&大模型_Robin.ly_InfoQ精选文章