Snowflake CTO 谈数据云发展
有一次听PinCAP创始人黄东旭说TiDB的愿景,听到了数据交换市场这一说法,最开始以为是原创。
后来看到了Snowflake CTO Benoit Dageville 的一个分享,也提到了这一观点,原来数据交换市场概念出处是在这里。
黄东旭很长时间住在硅谷,他说这里离科技中心更近,数据交换市场就是一个典型的例子。因为他住在硅谷,所以他可以快速的吸收硅谷的一些新的观点,比如 Snowflake的观点,并把它很好的消化,放在TiDB未来的战略愿景里面。
以下就是Snowflake联合创始人和产品总裁、CTO Benoit Dageville的一段分享。
讲述了Snowflake的发展史,以及过去面对诱惑的一些取舍,朴实而又值得深思。
Benoit Dageville一直从事数据有关的行业,他出生在法国南部,在巴黎第六大学攻读计算机博士学位,博士期间研究的是并行数据库系统。
1996年,Benoit Dageville加入了甲骨文,当时甲骨文是数据革命的中心。在甲骨文期间,Benoit Dageville作为架构师,希望为甲骨文打造出一款优秀的并行数据库产品。
在2012年,Benoit Dageville意识到,甲骨文已经错失了两次数据革命,一次是机器大量生成数据的大数据时代,一次是云数据时代。
Benoit Dageville决定创建一家公司做以上两件事情,于是和同事离职之后,一起创办Snowflake。
Benoit Dageville想要打造一款出色的产品,Snowflake只不过是实现这一目标的手段。
对于“大数据云”这个概念,尽管Hadoop做的不错,但Benoit Dageville不太认可Hadoop。
因为Hadoop比较复杂,很多事情让人不知道如何做,对于交易场景,Hadoop比较慢,不是好的选择,这一切都是因为Hadoop复杂性造成的。
所以Snowflake决定为云构建一个好的数据系统。
大数据出现之后,人们想要分析更多机器生成的数据,网络日志数据、业务的PB级数据。
之前的数据分析和数据仓库,其实是给CEO等高管准备的,但2012年之后,公司里面的每个人都有看到数据的需求,所以对于数据访问的民主化十分关键。
尽管不知道具体应该怎么做,但Benoit Dageville觉得,要用好云才行。
云有两方面好处:
无限访问资源,云可以无限存储,有无限的访问资源。利用好这一点,可以解决规模的问题,包括更多的数据和更多的用户。
将解决方案作为服务,要真的实现数据访问的民主化,服务化是做到这一点的最佳方式。
所以要构建一个作为服务的解决方案,用户可以使用它获得所有功能,除了运行检测之外,不需要刻意的去管理,这是一个大胆的愿景。
利用云,可以为服务带来很好的弹性,对很多人来说,弹性意味着要向集群中增加或减少服务器。
但弹性对数据服务来说,必须是与众不同的东西,需要为用户围绕相同数据,添加新的工作负载,这些新的工作负载能够在他们自己的计算机资源上启动,这就是解耦,存储和计算的分离。
这样,任何工作负载都可以有一组专用资源,不会相互争夺资源,建立新的工作负载就会非常容易。
现在Snowflake几秒钟就可以得到大量的计算资源,存储与计算的独立、工作负载概念,是Snowflake的核心思想。
Snowflake最初的注意力放在了一些重大的技术问题、关键架构决策上。
需要Snowflake速度快,对资源无限访问,想要将大数据处理和分析结合起来,所以Snowflake从第一天就要支持非结构化数据。
目前Snowflake架构最大的优势是,让客户按需付费。意味着一些资金不多的公司,也可以使用Snowflake。对于数据使用场景来说,按需付费是非常好的方式,比如晚上或者周末,你是不需要看数据的。
存储与计算分离,当你想要大量计算资源时,可以将工作负载的计算资源乘以十倍。这都可以用云的弹性,几秒内解决。
为了让Snowflake更好用,我们需要学会如何管理服务,将一切自动化,要在线上实现维护、升级。这不仅关于软件,还有发布管理,质量保障等。这一切在数据库产品上来说,难度要大得多。
我们需要建立正确的团队,找到合适的人,对一家创业公司来说,这很重要。
Snowflake不做云基础设施,而是建立在云基础设施之上的数据云,建立围绕于数据的数据分析和应用程序,Snowflake可能是第四个云供应商。
云的另一个维度是协作,未来Snowflake会做数据工程,就是数据传递,在平台内进行所有的数据转换,需要在云平台本地运行java程序,平台内数据的可编程性就非常重要,要让平台真正的易于使用。
可以通过交换数据与不同公司合作,要有数据分享能力,就像文档一样。
对于数据,未来可能还有一个市场,这对合作非常重要。
过去的云,关注的是计算和存储,而数据有更高的价值,这个世界上所有的数据,都将会迁移到云中,实现更好的管理、整合、共享、分析等。而Snowflake就是这样一个关键平台。
世界正在向云转移,向软件即服务转移。
过去,人们谈论网络效应时,只从互联网和社交网络方面着手,但数据网络的规模效益是,使用数据的人越多,可以共享的数据就越多,这对每个人来说都是一个推动力。
Snowflake的愿景是,建立一个全球数据网络,并通过数据建立联系,这不仅关于数据,还关于所有围绕于数据的服务。
数据共享是Snowflake提供的真正价值,它用起来就像谷歌文档一样,发送一个链接到你的数据,并且这些数据可以挂在到另一个账户中,可以直接访问或者运行。
所以数据的提供者可以决定他想要分享什么数据,他可以直接与消费者分析,或者直接将它放到市场上,任何Snowflake的消费者都可以利用这些数据集。
这些逻辑之所以可行,是因为架构上将计算和存储剥离开了。可以针对相同的数据的不同运行工作负载,实现数据的共享。
不同的工作负载,不仅是你的工作负载,也可能是其他消费者的工作负载。你共享数据,但不共享计算资源,他们是完全分开的,它们只是数据的一个链接。
当提供者更新数据时,作为用户可以马上看到数据的变化,数据是实时的。
数据是安全的,因为不涉及到数据的拷贝,权限可以在平台控制。
Snowflake上数据分享,可以跨区也可以跨云,比如可以把美国的数据分享给欧洲。
这就像数据的万维网一样。
通过消除数据孤岛,让它只存在于数据云中,可以将世界上任何数据和其他数据联系起来,不仅可以连接数据,也可以连接服务,让生态拥有惊人的力量。
对于如何打造一家成功的创业公司,Benoit Dageville说,以客户为中心是非常重要的。
如果你希望用户喜欢你的产品,你就要倾听客户,并真正思考如何改变他们的生活。
创建一家公司是具有冒险精神的,你必须有这一点。
你需要找到北极星,并且不妥协,不要试图去做每一件事,因为Snowflake的北极星是数据云,所以一直没考虑私有化部署,尽管客户可能给更多的钱。
团队很重要,需要有合适的人加入,雇佣合适的人与你工作非常重要,他们要认可你的价值观、和你一样的热情,愿意同你一起去冒险。