乐趣区

关于pingcap:TiDB-Hackathon-2021-pCloud-做数据库上的-iCloud丨pCloud-团队访谈

曾几何时,人们在换手机时如何将数据备份 / 复原还是一个令人头疼的问题。iCloud 的呈现将 iPhone 的备份治理解决得无比丑陋,而且十分深入人心,当初 iPhone 用户换手机曾经是一件没什么压力的事件。

而对于每一个数据库用户而言,数据库备份 / 复原也是一项刚需,尽管备份治理常常被人漠视,然而一出事就是小事,对于企业来说没有数据就没有所有,数据备份复原是防备劫难于未然的强力伎俩。据统计,企业中约有 11% 的老本和精力调配在了数据备份治理上。

目前,TiDB 用户能够应用 BR 做全量备份,并继续做增量备份,利用这些备份就能够复原数据,然而它只能复原到做备份的几个工夫点,粒度还不够精密。而应用 TiCDC 或者 binlog 尽管能够精密地记录增量的事件,复原数据到全量备份之后的任意工夫点,但 BR 自身还没有原生反对 PiTR(point-in-time recovery)。即便实现了该性能,当初业界的解决方案也面临着简单、易碎、高老本等问题,那 DBA 做数据恢复能不能像换 iPhone 那样简略呢?

pCloud 团队在本届 TiDB Hackathon 中开发了 pCloud 我的项目——一个全面托管在云端的 SaaS 服务,能够一站式托管数据库的备份 / 复原,反对 Time Travel(复原到任意工夫点),并且底层基于 S3 存储,存储老本极低。pCloud 团队凭借这一我的项目一举取得了“二等奖”和“云启资本特地资助最佳市场潜力奖”。

pCloud 是一个十分有意思的我的项目,东旭同学间接上场带货,先抛开他集体现场极大的感染力,从理论来看,pCloud 真的做得很不错。尽管现场东旭只是展现了产品成果,聊了聊商业模式,但我晓得这个我的项目的底层实现还是很有挑战。这也给了下一届 TiDB Hackathon 参赛同学另一种参考:一个我的项目,大家有时候更容易关注技术自身,但如果咱们是做一个产品或一个 SaaS 服务,对于用户的了解和商业的了解也十分要害。所以,即便大家感觉本人对 TiDB 没太多了解,写不了太 hardcore 的程序,也能够从另外的方向来冲破。

——评委唐刘

团队:pCloud 是如何组成的?
pCloud 的团队由 4 位选手组成,其中包含第一次以选手身份参赛的我司 CTO 黄东旭。在往届较量中他都是评委,但始终心里痒痒想当次选手,想到 Hackathon 比赛项目一届比一届硬核,往年如果再不连忙上车,当前预计更没戏了。这次他在战队里的次要角色是奉献我的项目 idea,画产品原型图,并作为产品经理领导团队开发。

黄东旭:决定参赛的时候,我先去找了龙恒(TiMatch 队长),问他我有一个很牛的 idea 你要不要干一下?他说本人曾经决定做 TiMatch 了,但还是帮我找来了栾成、王浩和峻岑三位队员。

栾成:过后东旭找我的时候跟我形容了一下他的想法,说须要一个前端工程师,我就想到了之前知乎共事里有一位前端大佬王浩,人在新加坡,过后他们那边应该是圣诞节,正好有工夫就批准退出进来,在 pCloud 里次要负责前端网站的搭建。峻岑和我始终都在 PingCAP 做备份复原,这次的次要工作就是把现有的工具(如 BR 等)接到 pCloud 上,做一些适配工作。

黄东旭:尽管我是第一次加入,然而作为资深评委,我晓得我的项目的完成度其实还是挺重要的,所以找到了一个好的前端等于曾经胜利了一半。


(东旭:我专门请设计师设计了一个产品 logo,一个好的 logo 等于胜利的一半~)

起源:一次商业模式的头脑风暴
黄东旭:大略在 2020 年初,咱们有一次对于 TiDB 可规模化商业模式的头脑风暴。一般来说,数据库的商业模式根本都是卖个服务什么的,但我模摸糊糊感觉 open source 是一个很像 ToC 的货色,有没有可能用一些 ToC 的思路去看看 TiDB 的商业化呢?

过来做商业数据库的商业模式基本上就是收服务费,被爱护的场景越重要,能收的服务费就越多。然而这个思路在“开源 + 云”时代产生了重大的变动:第一,Cloud 会变成一个特地遍及的货色;第二,开源数据库超过了闭源数据库,它的成熟度曾经基本上可能满足大多数外围的业务场景需要,开源数据库用户变成了一个十分宏大的群体;第三,Cloud 有一个益处,它把交付实现了标准化,并且付费的门槛升高了。当年 ToC 端呈现了微信、支付宝等疾速领取渠道,将领取门槛变得特地低,才有了爱奇艺这些订阅模式。

所以,基于这三个前提,你就会找到一个新思路:找到用户旅程中的通用门路,先不论外围不外围,极致优化用户(开发者)体验,而后利用云的基础设施把老本做低,最初利用流量入口 + PLG 走病毒式流传的路线。pCloud 这个我的项目的关键在于——第一,企业级用户能不能找到一个低门槛的领取渠道,比方 SaaS;第二,这个模式肯定要特地轻,不能特地贵,必须得找到一个十分自动化的切入点。因为一旦波及到人工提供服务,这个事件就废了;第三,这个货色的用户群体要足够广,Database 自身是一个应用群体特地广的货色,而在 Database 里其实有一些货色的应用群体也特地广,那就是备份复原。

在 ToC 畛域里,对于消费者有一个激动生产的心理学,这须要有几个前提:第一,你马上就能了解这个货色是什么;第二,如同我肯定须要;第三就是这货色得特便宜。这些都具备了,消费者就可能产生激动生产的心理。所以,咱们借用了 iCloud 换手机的概念,给大家制作一个错觉,这个货色我肯定须要。因为大家都须要 iCloud,咱们就把这个概念平移到 DBA 畛域。如果你是一个一般消费者,其实很容易就被这样的概念吸引并付费。

挑战:看起来不硬核,但工程度简单

栾成:整体来说,我感觉最艰难的是要把这些资源整合在一起,并且屏蔽掉很多技术细节,给用户呈现出的是一个更简化、更易用的界面。在此之前,备份 PiTR、TiUP 以及 SaaS 服务都是一些很零散的货色,但在这次成果展现中,咱们要把它们整合在一起,这其实是要花一些功夫的。例如将 TiUP 集成到 PiTR,实际上背地是起了很多个组件去运行备份的,而后再把增量的数据写到 S3。

陈昱:我本人聊过一个相似的我的项目,他们的软件真要用起来的话,在做施行时要投入大量的人力物力。而最好的商业模型应该是所有货色都让客户 self service,客户可能本人解决绝大多数问题。这样的话整个货色才容易 scalable,但当初市场上很多产品都做的太简单了,以至于施行团队可能比工程团队还多。

很多人感觉,这个我的项目最大的硬伤就是看起来没有那么硬核,单从技术、社区的分数上来说,我并没有给这个我的项目打特地高的分数。但最初就因为这个产品的理念——「简洁易用」感动了我,所以给了一个特地奖项。这让我想到 snowflake 和 Databricks 打口水仗,Databricks 说的永远都是性能,snowflake 则强调产品的易用性。

黄东旭:诚实说我感觉很多团队或者我的项目在尝试什么都做,想满足客户形形色色的需要,设计的产品就特地简单。但我在这个我的项目里就想尝试一个理念——我十分分明我的客户是谁,我会清晰地画出一个边界,如果超出了这个边界的复杂度,就不是我的客户。边界里的这些客户,会以一个十分顺畅的用户旅程以及十分低廉的价格去应用这个产品。简而言之,是我的客户他就会用得很爽。我置信这样的客户如果可能把量做起来,也会是一个好的商业模式。

pCloud 我的项目的亮点是什么?
黄东旭:再来说这个我的项目里其实有几个比拟硬核的点:首先,企业的备份必定不是全量备份,而是增量备份。增量备份就要面临一些问题,比如说要回退到任意一个工夫点,同时在这个工夫点上不能毁坏事物的隔离性,咱们通过精心设计的 PiTR 技术(全量 + 增量),能够以很低的老本保留全量备份,反对复原到任意时刻的数据;第二是高可用,咱们要假如它跟外网的连贯始终是通的,如果网络不通,那你在本地的缓存该怎么解决。如果这个网络是联通的,你能够间接在 SaaS 服务上实时看到数据中心里这些集群的状态。第三,满足寰球平安合规,数据反对非对称加密存储。个人用户其实不太关怀信息安全,然而企业用户肯定会须要这个性能,这也能够作为这个产品商业化的服务之一。

总的来说,这个我的项目比起改数据库内核来说尽管不是那么硬核,然而咱们用了十分多时尚的技术,它其实是一个工程复杂度很高的产品。在组队的时候,我甚至还想找一个财务同学帮我设计一个更正当的计费模型,但起初感觉这有点太简单了,最初只用了一个比较简单的技术。但如果这个产品要持续深挖上来的话,计费其实也是一个挺简单的模块。

pCloud 我的项目的假想客户是谁?
评委陈昱认为 Hackathon 中绝大多数队伍的格调更像工程师范,技术讲得比拟多,但产品设计理念相对来说就少很多,相较而下,东旭对 pCloud 我的项目的介绍格调在整个 Hackathon 中就显得特地不一样,甚至在较量中曾经想好了整个我的项目将来的商业化模式,这令作为投资人的他好感大增。

黄东旭:国内有一些中小型守业公司,他们可能感觉云端的 RDS 太贵,就本人买了虚拟机,在下面部署 TiDB 或 MySQL,跑了一些企业级利用。因为估算管制,他们个别不会请专职的 DBA,又不心愿工程师的工夫花在这些货色上,那他们可能就是这个产品的指标客户了。在我构想的第一阶段商业模式中,pCloud 自身会成为一个“上云的桥梁”。数据的备份应用 S3 存储在云端,特地丑陋的是 S3 是一个云中立的标准协议,每一个云都会有 S3 协定的对象存储服务,所以第二个阶段的商业模式须要走向:渠道的商业模式,这个阶段须要做两件事件:

开源(不是 Open Source,而是开源节流那个开源),反对更多的数据库作为 PiTR 的数据源(把服务扩大到 MySQL PG Oracle 之类的);
提供一键复原到云数据库的能力(例如 TiDB Cloud,Aurora,RDS,Snowflake)。
渠道的商业模式是引流,这个阶段必然是各个云数据库厂商抢夺用户的阶段,pCloud 如果运作得好,就是一个人造的流量池,玩法很多。一个很好的例子就是 2019 年 MongoDB 收买 mLab,大略就是类似的逻辑。

当然这个阶段也不是永恒的,我说过数据库的终局肯定在云端,所以 pCloud 下一个阶段故事的模板大略是 FiveTran + Rockset,变成云端的数据计算平台,然而 pCloud 有更好的根底(领有全量数据),这个阶段须要引入云端 ETL 和 Serverless 用于升高在云上数据处理和剖析的老本,这个阶段是没有天花板的(参考 Snowflake)。

当将来社区用户须要上云时,这其实就是一个比拟奇妙的工具。他们能够通过 pCloud 间接复原数据到 TiDB 的 DBaaS 上,连导入数据、迁徙数据这些工具都不须要了。

pCloud 完成度离假想的商业模式还有多少工程间隔?
黄东旭:须要分两局部看,第一是 PiTR 的成熟度,第二个是 pCloud 的成熟度。pCloud 蛮简略的,要害是 PiTR 的成熟度。我会确保它在 PingCAP 的 Roadmap 上。

栾成:没错,次要还是 PiTR 自身的品质、性能和所反对的场景。大家都晓得,1TB 数据和 1GB 数据必定是不同数量级的难度,关键点还是要看这个工具的稳定性以及性是否能满足要求。我记得较量时 FAQ 有一个问题,如果数据量十分大,进口的 IDC 带宽打满怎么办?咱们就须要做一些相似于数据压缩的解决,次要难点在这方面。陈昱:备份可能永远都是刚需,但做得既易用又好用的云备份的确是比拟少的。这货色并不一定要在 TiDB 的生态外面做,实质上它是一个数据库的通用需要,有人违心的话是齐全能够独立成立一家公司,在云下面做 TiDB 或其余任何云数据库的云备份性能,而这也是我看到的这个我的项目的后劲所在。

加入 TiDB Hackathon 的感触与播种
尽管在 Hackathon 较量中获得了二等奖,但东旭依然感觉诚惶诚恐,感叹往年的选手们都太强了。

黄东旭:我感觉明年我还是应该去当评委,不当选手了。原本也想做点硬核的我的项目,但在初赛看到有那么多十分硬核的我的项目我就感觉爱莫能助了。当前去当评委,我还能够在评委探讨的时候把一些特地业余的技术语言翻译成人话,给其余评委讲清楚。

这次 Hackathon 略有一些遗憾,咱们有很多想做的性能其实还没有做,比方密钥治理。然而因为 Hackathon 是一个两天的较量,须要疾速搞个 Demo 进去,但我心田的产品经理之魂是在焚烧的。

王浩:因为我不是 PingCAP 员工,也不是数据库社区的人,所以我感觉整个社区的同学都很硬核,有激情。我也感觉到整个社区都特地在意硬核这件事件,所有人如同都认为改内核才是一件很酷的事件。我感觉如果要扩充参赛群体,拿到更多 idea 的话,能够专门设置一两个奖项,给一些看起来比拟软的我的项目,比方一些 PM 那种 idea 的我的项目,让更多社区外的人也能够参加进来,奉献本人的货色。

栾成:我集体也感觉 Hackathon 的我的项目之间其实很难比照,比如说一个很硬核的性能调优我的项目和一个很新鲜的 idea 之间如何评判是比拟艰难的。我冀望下一届组委会能把这些我的项目离开评比,独立设奖。

余峻岑:往年参赛我感觉还是挺开心的,可能自在写代码,把本人的 idea 做进去,这就是 Hackathon 最吸引人的中央。我集体心愿下一次 Hackathon 可能更冷落一些,好吃的多一点。

陈昱:我感觉往年最大的感触是我的项目品质比去年广泛都要高。作为旁观者,我感觉本届 Hackathon 中 PingCAP 以外的参赛者比例大幅减少了,有了更加多元化的 idea 碰撞。其实,TiDB Hackathon 这么一年一年做下来,好做的 idea 必定都会被做完,这迫使当前选手要想在赛事里怀才不遇,就得去找更加硬核的 idea。

退出移动版