数据集成领域创业感悟1-行业洞察篇
前言
19年从阿里出来创业三年多,出来后主要做了款叫CloudCanal的产品。算起来在数据集成领域也做了六七年了,多多少少有一些感悟和心得。近期因工作变动终于有些时间可以好好总结下这些感悟和心得。该系列总共会分为三个篇章:
- 行业洞察篇:分析总结整个数据生态的软件本质在解什么问题,数据集成软件在其中承担怎样的角色。分享数据集成这个赛道的一些行业洞察和未来发展看法。
- 技术篇:在阿里工作时以及出来创业一直都在做数据集成软件,本篇从技术层面总结下其中的一些关键问题是什么以及技术选型上是如何思考的。
- 创业感悟篇:三年创业,感悟良多。本篇主要涉及基础软件创业方面的一些思考和感悟。
数据软件生态
一个数据集成领域的创业者为什么关注整个数据软件生态?
数据集成软件本质是数据生态软件中的一员。如果只关注数据集成领域本身,会带来很多问题:
- 容易形成片面的观点:数据集成软件不仅是数据生态软件中的一员,同时和其他软件之间都有着非常紧密的联系。只关注数据集成领域本身而忽视其他数据软件的影响(例如数据库软件),会导致形成一些片面的观点,导致自己坐井观天。
- 看不清本质问题也看不清未来:以史为鉴,可以知兴替。从整个数据生态软件触发,看看他们都在重点解决什么问题,可以帮助我们更好理解本质问题,对未来做预判。
从熵增定律到数据的有序组织
过去大家往往以现有的具体软件产品、现成的分类标签来定义这些数据软件生态(例如AP/TP数据库、搜索引擎、数据治理工具、数据开发工具、ETL工具等)。这种划分方式容易让人迷失在这些具体概念中,而没法跳出来思考本质问题。如果能跳脱出这些标签来看待本质问题,一方面可以加深我们对这些数据生态软件的理解,二来也可以打破思考问题时的局限性。我们不妨以“第一性原理”的思维方式来重新审视下这个问题。
很多事物的本质问题,都可以套用最基本的自然定律。热力学熵增定律告诉我们一个孤立系统在没有外部能量介入的时候,一定会熵增,最终演变成一个彻底无序的状态。可以将数据理解成数字世界的物质,他们是在数字世界这个大系统客观存在的“物质”,如果没有外部介入,他们也会倾向于变成一个完全无序的系统。薛定谔《生命是什么》这本书里提到:生命以负熵为生,人活着的意义,就是不断对抗熵增的过程。生命的价值在于对抗熵增,我们制定律法让世界按秩序运作、重新组织物质生产各种新材料、新工具与设备让人类的生活更加美好。这在数字世界也同样成立,我们需要对抗熵增,让无序的数据回归有序,良好组织、有序的数据才能为人类带来真正的价值。现代数据软件生态的本质工作是对抗数据的熵增,使得其有序组织,这个过程在数据库领域称之为:Normalization
数据软件生态发展与Normalization的关系
我们对抗数据熵增,从而使得我们可以更好的从良好组织的数据中获取价值的过程可以理解成data normalization。数据软件生态的发展其实就是data normalization的发展史。接下来我们会用一个比喻来理解data normalization是如何发展的。
一开始的数据集合可以理解成是一个原始部落。原始部落获取粮食、制作武器和狩猎的效率都是比较落后的。这就像早期的数据组织,一般只是记录在简单的纸张上,数据得以持久存储以及被查阅,但是信息传播的效率是很低的,发挥的价值也很小。
随着人类发展,原始部落发展成了部落氏族。相比原始部落,部落氏族将相同氏族的成员聚集在一起,也有了更多部落的规矩。他们对氏族中青壮年男性统一装配武器进行训练然后狩猎,女人则在氏族中负责子女养育。相比原始部落,部落氏族的发展效率得到了大大提升。类比到数字世界data normalization的发展,该阶段使用表格来代替了原来普通纸张记录的方式,数据得到了更加有序的组织。近似特征的数据被组织到一张表格中,相比以往能挖掘的数据价值也就更大了。
部落氏族经过长期的发展进化到了现代乡村后,生产发展效率不可同日而语。现代乡村中有各个行政单位负责乡村的各种行政工作,老百姓有的开五金商店,有的开早餐店,生产、发展效率大大提升,人们生活水平和幸福指数也大大提高。对于data normalization来说,20世纪70年代关系数据库的诞生相当于形成了现代乡村。数据的查询、操作都得到了良好的抽象。数据的管理和运用相比以往有了划时代的进步。
在这之后,就是data normalization的高速发展期了。现代化的乡村开始城市化进程,变成一座座现代化城市。有些是工业城市、有些是金融之都。数据库也不仅仅局限在关系型数据库,各种面向不同使用场景的数据库如雨后春笋般涌现。数据库成为实现data normalization的核心手段。
更广阔的数据软件与数据视图
主城区是城市的核心和重要构成,但是一个现代化的大城市绝对不仅仅只有一个主城区,市郊、卫星城、周边工业区、经济开发区都是其重要构成。
data normalization本质是为了获取一个重新组织过后的数据视图,这里的数据视图相比数据库视图是个更加广义的概念,指的是data normalization之后新的数据组织方式,他可以是SQL执行的结果也可以是数据可视化呈现的图表。为了更快、更好的得到这个最终的数据视图很多时候紧靠数据库本身是无法完成的,而数据生态下的其他软件则非常好的填补了这些空白,使得整个data normalization端到端的过程更加丝滑。如果是数据生态软件的创业者,考虑下整个data normalization端到端的过程,还有哪些空白位置或者是未被深度开发的位置是尤其重要的。以下是数据库以外的其他数据生态软件对data normalization提供助力的点的总结与分享:
- 数据开发与治理:通过一系列治理规范和方法以及配套的工具,提升data normalization的效率、准确性和安全。数据开发工具、建模工具降低了data normalization的门槛,提升了效率。数据治理、数据安全等确保data normalization后的数据视图安全准确。
- 数据应用与可视化:data normalization后的数据视图需要发挥价值,需要被更好的呈现以及真正的被应用。数据可视化软件将data normalization后的结果更好的呈现、而BI工具和其他数据应用则将新的数据视图发挥最终的价值。
- 数据处理:为了得到符合预期的数据视图,数据计算是非常重要和不可回避的问题。人们对数据处理的更高要求,诞生了很多更加专业的计算引擎。他们有些披着数据库的外衣,有些开辟了新的领域、有些产生了独立的产品。数据处理的范式是不断在发展和变化的,MR或者流计算,但是本质上都会为更快完成data normalization的过程而服务。
数据生态软件归根结底都是在为data normalization服务的,理解他们在data normalization这件事中到底重点在解决什么问题有助于我们看清未来的方向,对于数据生态软件的创业者来说,则可以有的放矢的开展行动。
数据集成在数据软件生态中的位置
我们仍然以城市的例子来讨论数据集成在数据软件生态中的角色。数据集成在数据软件生态中的角色相当于城市之间的桥梁和道路。桥梁连接着城市,让各个特性不同的城市间能够紧密的连接在一起,通过密切的贸易、交流加速发展,产生更大的价值。在data normalization这件事上,数据集成工具承担桥梁、道路的角色将一个个孤立的数据单元连接起来,让他们之间能够有机结合在一起,进行数据交换、融合,为提供更加丰富、准确的数据视图而服务。
。在当下的新时代,当我们讨论数据集成软件时,更多的时候关注的实际上是其Extract和Load的能力,当然这包括历史数据的迁移以及CDC,这个核心职责是数据集成软件的立命之本。
数据集成软件的兴起
总体而言,数据集成软件相比于数据库软件生态而言,是发展缓慢的,直到2010年以后随着大数据、新型数据库、移动互联网、数字化经济等一众推手的出现,国内外一些专注于数据集成能力的软件才慢慢浮现于人们的视野。国内的有data pipeline、DSG、tapdata、cloudcanal等,国外的有debezium、fivetran、streamset、stitch、airbyte等。数据集成软件为什么过去发展缓慢,而近些年却越来越重要了是有背景的:
- 数据库软件本身需要优先发展:数据库自产生以来就是data normalization的第一公民。几十年来众多企业、计算机科学家都前赴后继的去完善他的理论基础、工程应用。数据集成软件在数据库没有发展到一定程度时,其作用自然是没有这么大的。就像基本的村庄都还没形成,正经的道路和桥梁自然也不会先建造。而如今,数据库软件体系相对成熟,数据集成软件作为数据软件生态中的短板,得以有机会进行追赶。
- 丰富的数据库生态促使数据集成软件发展:data normalization是一个很大的问题,大量异构的数据、不同的数据应用场景客观上不可能催生一个 one for all的数据库。很多数据应用方向在技术实现上甚至是直接冲突的,更何况市场上还有一众竞争对手,one for all的数据库在客观条件下是没法诞生的,就像你希望博尔特跑步跑的很快但是又可以像梅西一样擅长踢球是不可能的一样。之所以有丰富的数据库生态主要是因为不同数据库擅长的点不同,比如小企业用个单机mysql就能很好解决其数据管理的诉求,涉及地理信息处理可能需要使用一些对地理数据类型支持良好的数据,需要搜索数据明细的则需要使用ElasticSearch这样的搜索引擎。此外时代是在发展的,数据生态不断诞生针对某些场景更强的数据库是大概率的事件。这些客观的因素实际上就是数据集成软件得以发展的契机,当前的时代,时机已经成熟。
- 私域数据:过去数据可能仅仅是放在数据库,但是随着互联网的发展,现在数据的应用形态已经非常丰富。整个互联网上有很多私域数据,比如社交软件的个人数据、广告系统内企业的自身数据甚至是一些IOT设备的数据。要打破这些私域数据孤岛进行数据融合,数据集成软件也是不可或缺的。
- 数字化云计算推动数据的流通:我也始终相信,未来是属于云的。数字化经济推动了大量企业进行数字化的改造,云渗透率的不断提高都使得数据集成软件成为现代化数据栈中不可或缺的构成部分
数据集成软件的基因
数据集成这个领域其实真正开始快速发展也没有多少年,因此,很多这个赛道的创业者也都是摸石头过河,各自的行业理解和侧重点都有所不同,也就是与生而来的基因不同。不同的基因会影响产品的成长以及最终市场的成败。一个细分领域的商业化产品,大家在核心功能上肯定是大同小异的, 很多时候我们如果浅浅一看,很多的功能感觉是一样的,但是实际深度使用后却又发现截然不同。这是因为不同企业产品对一些相同功能的点投入的资源是不一样的。从长远来看,后续在能力布局上也会慢慢形成差异化。因此对数据集成领域的基础软件做行业洞察,观察其基因是很重要的。接下来分享一些我看到的数据集成软件有哪些重要的基因差异点。
对于ETL中T的处理选择不同
fivetran和airbyte都是弱化T的,使得整个数据集成的过程尽量自动化、流畅、易于使用。他们分别提出了ELT和EL的概念,市场反响是非常不错的。这个其实非常关键,如何看待T会让数据集成的功能、使用体验截然不同。如果仔细看看streamset的能力,你会发现它其实产品实力还是非常强的,但是现在市场热度、投资人偏好为什么甚至有些不如2020才成立的airbyte?主要原因还是基因不同,streamset没有放弃T,并且提供了画布让你来编排processor,强化了T在产品中的作用。streamset从产品力上肯定是不输fivetran和airbyte的,但是客户和投资人不买单。融资的话可以看融资和估值情况,而市场热度可以从google趋势管中窥豹。
。当然弱化T只是fivetran和airbyte能得到客户和投资人信赖的重要因素之一,而不是唯一因素。弱化T本质是选择放弃了一部分能力、一部分客户从而使得数据集成产品更加聚焦在其真正认为有价值的地方。做减法从来不是容易的事,大家往往追求的是more。从我个人理解来看,我也觉得弱化T是未来。原因主要是:
- T确实提升了用户使用数据集成软件的门槛:放弃T可能会损失一部分用户,但是EL能满足诉求的用户将会有非常好的体验,使用起来简单、稳定、高效。Less is more。
- T的引入会提升系统复杂性,增加出错概率、降低性能:舍弃T的话数据集成的技术架构可以更加精简,有更多的空间去优化性能,EL过程更加丝滑稳定
核心目的不同
核心目的不同,产品的形态也是截然不同的。接下来会列举一些例子。
fivetran
像fivetran,走的是坚定拥抱云数仓和SAAS的路线,面向的客群主要是数据消费者(数据分析师、数据科学家)。在这种目的下其得失情况是这样的:
- 得:
- 可以利用云的优势并且更加高效:专心只做SAAS可以充分利用云基础设施的优势,更加弹性、低成本,其自身技术实现上也可以充分和云融合,例如应用云上的serverless服务、ECS、高性能的存储等等。
- 降低支持成本节省资源投入:由于没提供用户私有部署的版本也没开源,会少很多糟心事情,不需要维护社区,也不需要因为客户各种异构的系统网络环境做额外的支持。
- 可以更加聚焦云上的体验:拥抱云数仓可以和云厂商更好的合作,可以侧重将云数仓关联的connector做到最丝滑,针对一些开源和非云的数仓支持可以放弃或者减少投入。
- 利于商业:专心做SAAS和云数仓对商业化有利。尽早过滤出了具有商业价值的用户进行针对的销售和技术支持。愿意使用SAAS和云数仓的用户往往已经有很好的付费习惯。
- 失:
- connector验证不充分:异构数据源之间connector的连接有非常多的corner case,如果没有大量用户协助验证,connector要成熟需要非常久。
- 放弃的用户群和市场可能有巨大价值:当前的时代仍然是数字化转型的过渡期,放弃非云的用户、数仓以外的数据集成场景可能会错失很多商业机会。
- SAAS化在合规上的额外投入:企业很关注数据隐私和数据安全,SAAS化在合规上需要投入更多的资源
airbyte
airbyte的核心思路很清晰,主要就是:
- 完全拥抱开源,成为开源EL(T)标准
- 面向的用户群既包括data consumer也包括data engineer
- 兼容私有部署和SAAS
- 定价模型上摒弃了过去volume based的策略,更加廉价
airbyte作为后发者,显然是对行业有深刻洞察的。fivetran放弃的市场或者握着不太稳的客户就是airbyte需要去占有过来的。airbyte依靠开源和开发者的力量能够更低成本的全力铺更多的connector。对数据隐私安全格外关注的客户、数据工程师会更加倾向于airbyte。
赛道专注度不同
不同企业在数据集成这个赛道上的专注度差异也是重要的基因差异。是否专注在数据集成这件事本身上体现着一个创业者对数据集成赛道的信仰是否坚定。海外的企业据我观察,在数据集成这个赛道上走的是相对坚定的。他们当然也包括我也仍然坚信数据集成是未来数据生态软件、数据基础设施中不可或缺的一环。这种专注度我划分为以下几档:
- 低:没有提供专门的数据集成商业化产品,但是其商业产品中包含数据集成的能力。显而易见,这样的企业在数据集成这方面不会投入公司的所有力量,很多时候数据集成软件更多的是一个辅助的定位。我们可以看到国内流行的数据中台解决方案、独立的数据库、数据管理软件都会有数据集成方面的能力。这种专注度显然说明这些创业者不是数据集成赛道的玩家,他们可能是专门做数据库的、专门做数据中台解决方案的等等。在数据集成这个赛道上,这些还不属于玩家。
- 中:有提供专门的数据集成商业化产品,但是仅作为其众多产品矩阵中的一员。这些创业者已经看到数据集成软件本身的价值,但是没有all in这个赛道。
- 高:all in数据集成赛道,这种企业往往其公司名字也就是其数据集成软件的名字。这些创业者相信,时机已成熟,数据集成赛道仍然是一片未开发完全的蓝海,现代化数据基础软件中必定有数据集成软件的一席之地,并且在很重要的位置。
不同的赛道专注度和对未来的坚定程度在企业成长过程中会不断左右企业的决策,影响最终的成败。所以市面上具备数据集成能力的软件很多,但是真的玩家其实并没有太多。
用户画像不同
数据集成赛道的玩家,不同人对用户画像的刻画也不同。不同的用户画像会影响整个产品能力的布局和使用体验。这个感受比较深的自然是fivetran和airbytes了。一般而言,我们可以把数据集成软件的用户画像细分成两个群体:
- 数据消费者(data consumer): 这类用户群体的特征是本身不具备很强的技术和开发能力,主要是一个使用者。他们一般是数据分析师、数据科学家、财务人员等等。对于他们而言,要求产品的使用门槛是足够低的。而另一方面,这些人对数据的延迟也不会那么敏感。像fivetran主要面向数据消费者,则可以将CDC的数据延迟放宽到分钟级,而这并不会影响数据消费者的实际体验。
- 数据工程师(data engineer):这类用户群体往往是有技术和开发的能力,对数据集成软件的功能、灵活性、性能都有更高的要求。数据工程师一方面可以负责运维数据集成软件,同时也可以在此基础上进一步开发更贴业务的实时化平台。这类用户群体对数据软件本身的掌控比较关心,提供私有部署或者有内核开源会获得他们的青睐。
国内而言,数据工程师的用户群体是比较大的。数据消费者这个用户群体在国内是否有市场,是需要思考和探索的。
数据集成赛道的现状
- 这个赛道仍有巨大潜力:前文其实聊过整个数据软件生态的发展,数据集成赛道从2010年以后才开始慢慢发力,这个领域仍然有大量问题待解决,大量新的创新在等待被发现。
- 数据集成软件仍然有大量创新空间:整个数据软件生态近十年来一直在变化。大数据、云计算、云原生、AI的崛起、新型数据库的诞生都给整个数据软件生态注入了新的活力也注入了不确定性。数据集成软件在最近的十多年中也不断在变化,从批量离线到实时CDC,从ETL到ELT以及reverse-ETL。作为一个桥梁和道路的角色,数据集成软件的发展与整个数据生态的发展息息相关,环境的变化为数据集成软件的创新提供了条件。
数据集成赛道的未来
数据集成软件未来一定是现代化数据栈中重要的组成部分。如有异议,欢迎进一步交流探讨~