构建Snowflake数据云——介绍

341 阅读43分钟

Snowflake数据云是一个让数据可以在全球范围内几乎实时地被愿意参与的各方共享和消费的平台——这一过程无缝且安全。Snowflake提供了解决方案,能够消费、重新格式化、分类和发布各种数据格式,并能利用孤立的传统数据集,同时为数据资产开辟新的市场机会,以便将数据变现。

首先,我们必须理解当前在组织中面临的问题的性质。如果我们不认识到这些问题,就无法解决它们。

我将自己在不同组织中超过30年的工作经验加以总结,每个组织都有其独特的挑战。书中将广泛地提炼出几个核心主题。没有一个“通用”的解决方案适用于所有情况,而且总会存在一些边缘案例,但通过一些横向思维和创新的方法,问题可能会迎刃而解。

通过理解Snowflake数据云如何解决我们面临的问题,并提供一个平台,我们为未来的成功提供了跳板。

这段旅程并不容易,说服我们的同事也同样具有挑战性,但随着我们不断取得进展,无论是个人的成长,还是组织因信任我们而获得的回报,都是巨大的。

虽然领导力赋予了我们很大的责任,但识别机会并拥有追求这些机会的勇气和信念同样重要。唯一可以确定失败的方式就是不去尝试。本书不仅旨在帮助你缩短成功的时间线,而且提供了工具,使你比想象的更早参与到Snowflake数据云的革命中。

本章概述了Snowflake的核心功能,包括安全直接数据共享(Secure Direct Data Share)、数据交换(Data Exchange)和数据市场(Data Marketplace)。在了解每个组件之后,我们将解释为何我们应当与Snowflake数据云进行整合。

让我们从“为什么、怎么做和做什么”来探讨Snowflake数据云。在一场TEDx演讲中,Simon Sinek解构了“伟大领导者如何激发行动”(<www.youtube.com/watch?v=u4Z…

Snowflake的文档可以在 docs.snowflake.com/en/ 查阅。阅读本书的一个合理理由是为了加速学习曲线。然而,有些时候,没有什么能替代阅读官方文档(它实际上相当不错)。我们稍后会讨论一些内容,但现在起码你知道文档在哪里了。

设定背景

Snowflake帮助组织应对从不同系统中集成数据所带来的日益严峻的挑战。Snowflake帮助组织保持数据的安全性,同时提供分析数据以识别趋势和进行报告的手段。对于许多组织来说,Snowflake是推动数据驱动决策、进而推动未来盈利的关键。

几乎所有大型企业都通过并购实现了增长,这导致了系统和工具的多样化,并且这些系统和工具大多围绕特定职能(如人力资源、财务、销售、风险管理)或市场相关(如股票、衍生品和商品)进行了孤岛化管理。组织的结构由于内部分公司存在不完全控制的股权关系和复杂的国际化结构,受不同监管体制的制约,也变得更加复杂。

通过并购实现的增长导致了重复的系统和数据,通常来自不同供应商,这些供应商使用不同的方式来表示信息。例如,Oracle Financials和SAP虽然在相同领域竞争,但它们的工具、术语、会计科目表、调整机制等各不相同。

在宏观和微观层面,每个业务领域、职能领域以及最低层级的操作单元中充满了不一致。我们的组织中有大量聪明、机智、能言善辩的人每天都在调解、映射、调整和修正数据,这不仅占用了大量人才,还阻碍了组织的发展。

我们组织越来越依赖数据。对于一些组织来说,数据既是生命线,也是能量源。最近的并购案例证明,数据能够提供竞争优势、增加市场份额,并创造收入增长机会。例如,伦敦证券交易所集团(LSEG)以270亿美元收购了数据和分析公司Refinitiv(www.lseg.com/refinitiv-a…),成为了主要的金融数据供应商。而在数据可视化领域,也有其他有趣的并购。谷歌最近收购了Looker,Salesforce收购了Tableau。无论我们看哪里,前瞻性公司都在为利用和变现他们的数据做好准备,有些公司将Snowflake作为其战略的核心。

这些并非一时冲动的反应。所有三大领先的云服务提供商都面临着提供集成路径和工具的压力,以支持低摩擦的数据传输和无缝的数据访问,这背后有充分的理由。数据正在越来越多地推动我们的经济,而数据的体积、速度和多样性不断挑战我们的基础设施和能力,迫使我们去消费并理解这些数据。在本书中,我们将反复回到这些主题,并在理解Snowflake数据云的旅程中提供解决方案。

已发布的研究

如果你还需要更多的说服,快速浏览已发布的研究会提供令人震惊的见解。一些研究揭示了Snowflake数据云为何如此重要的原因。

国际数据公司(IDC)(www.idc.com/getdoc.jsp?…)指出,2020年,全球创建、捕获、复制和消费的数据超过了59ZB(59万亿GB)。其中大部分是数据的复制品(更糟的是,复制品的复制品),复制数据(被复制和消费的数据)与唯一数据(被创建和捕获的数据)之比大约为9:1,且这一比率趋向于越来越多的复制数据,越来越少的唯一数据。预计复制数据的数量将很快达到10:1,并且这一增长预期将持续到2024年,年均复合增长率(CAGR)为26%。

《经济学人情报单元》在其由Snowflake赞助的报告《云中的数据进化:竞争优势的关键》(www.snowflake.com/economist-r…)中表示,914位高管中有87%同意数据是当今商业环境中最重要的差异化因素,其中50%的受访者表示,他们经常与第三方共享数据以推动产品和服务的创新。但相对而言,64%的人承认,他们的组织在整合来自不同来源的数据时遇到了困难。那50%经常分享数据的组织一定做对了什么。它们是如何利用其基础设施和工具来共享数据的?它们的灵感来自哪里?我们稍后将回到这些主题,但我们可以立即得出一个结论,那就是,某些人或某些团队必须改变了思维方式,拥抱了新的范式,并在能够尝试新事物的环境中找到了自己。同样,那64%努力整合来自不同来源的数据的组织,至少已经承认自己面临问题,并希望寻找解决方案。如果你的组织位于64%中,继续阅读,因为从同一组样本中,83%的人同意,他们的组织将在未来五年内常规使用人工智能处理数据。如果不整合更多的异构数据,结果将更加不完整,且可能不准确。

全球视角

我们的组织是全球视角的缩影。无论我们是否意识到自己在数字经济中的位置,我们的组织都受到外部市场力量的影响,这些力量推动着变化并迫使我们适应新的工作方式。我们需要全球视角来支撑组织的成功,而Snowflake数据云恰恰做到了这一点。一个统一的平台提供现成的工具,使数据能够无摩擦、无缝且快速地集成,同时提供将数字资产变现的机会。

在每个组织中,无论是否显而易见,都存在数据孤岛。那些我们认为可能具有价值,但无法访问的数据存储;那些我们不被允许查看或使用的数据集;以及那些明摆着却又被隐藏的数据集,显而易见的和不那么显而易见的。数据孤岛在第二章中有讨论,我们将开始挑战以往认为数据应严格隔离的观念。继续探讨“为什么”的主题,通常我们得不到问题答案的原因有两个:一是知识就是权力,二是答案未知。

数据的体积、速度和多样性不断增加。我在前面提到过这些问题,并将在第10章中继续讨论这些主题。作为预告,我们还会解释如何解决一些不那么明显的数据孤岛。为了避免误解,这是我最喜欢写的章节,它为释放组织数据潜力提供了最多的空间,请耐心等一等,在我们深入到那里之前,还有很多内容需要理解。哦,好吧,你跳过了直接到达那部分。

在当今越来越复杂、国际化、多辖区的组织中,数据治理政策、流程和程序监督并日益控制着我们组织软件开发生命周期(SDLC)的每一个方面。第11章将涉及政策和程序如何影响我们可以在哪里、如何使用数据的内容。这并非全是负面的,我们将揭开一些必须遵守数据治理的隐性原因。

我们都知道,软件变得越来越复杂。任何使用桌面PC但对底层操作系统及相关工具没有深入了解的人,如果不能有效控制进程和内存占用,通常会更频繁地升级硬件。微妙的软件交互和边缘案例会导致不可预见的情况,而我们并不总是拥有识别和修复问题的工具。第13章提供了一些想法和概念来应对这些挑战;这是一个不容易解决的课题,但我们至少可以做一些事情来帮助自己。

读完这些,我必须明确指出:组织无法为不断升级硬件、存储、网络和相关基础设施提供资金。越来越多的成本与软件修补程序、帮助我们管理基础设施的产品以及应对当前(我们已知的)和新兴威胁(我们尚不知晓的)提高安全防护相关的开支有关。而这一切还没有考虑到技能提升和员工增加,同时监管环境日益严苛,带来了更大的控制和报告义务。

每天,我们都专注于做我们需要做的事以维持运转。我们的运营人员面临着不断增长的数据量需求,但拥有的人员和基础设施没有增加,每天都在应对同样的挑战。如果我们幸运的话,我们有详尽的文档解释如何完成日常工作。但是,文档只有在我们投入足够的技能、时间和精力进行维护时才具有意义。我们都知道,极度紧张的团队中,第一个受到影响的通常就是文档,它本身就成了一个试金石。

如果我们希望打破这个无休止的循环,就需要以不同的方式思考,挑战现状,并迅速转向关注“为什么”。拥抱自动化、低代码工具、减少对关键人员的依赖,并实施适当的控制和警报机制,将减少日常噪声,为我们提供时间去理解“为什么”。

我们手头有解决一些看似棘手问题的手段。但我们必须从现在开始,因为拖延越久,大问题将不断积累,变得更难理解,最终朝着一个转折点前进,超越这一点后我们将无法回头。一个朋友形容这是一个二极管(一个只允许电流单向流动的离散元件),当我们达到某个无法预知的点时,随着复杂性的增加,我们无法回头,因为复杂性、惯性、自满以及所有其他原因使得返回变得极其困难,从此只能从头开始。

为什么考虑Snowflake数据云?

如果我们希望实现云优先的战略,就必须关注将数据迁移到云端所需的核心能力。回答这个问题的核心是找到一个支持我们日常使用的许多功能的平台,尤其是一个基于SQL的引擎,因为我们使用SQL作为数据库的通用语言,它支撑着我们当前系统的绝大多数功能。我们不能抛弃我们丰富的传统经验和技能,而是必须在采用新范式的同时,充分利用这些现有的优势。

数据湖的概念已经被广泛讨论,使用了Hadoop、HDFS、map-reduce等工具。在某些情况下,这种方法仍然有效。但大体上,经过五年以上的尝试,并在某些案例中投入了大量的财务资源,结果往往令人失望。许多独立的对比研究表明,Snowflake在多个能力领域都表现出色。

自然地,没有任何单一的解决方案能涵盖云优先战略的所有方面,云优先战略必须考虑到不止一个产品,且具有更广泛的实用性;例如,实施数据架构。但将Snowflake数据云置于我们云优先战略的核心位置有充分的理由,最重要的一点是,它是唯一一个为云SaaS数据仓库量身打造、并且从设计上就内置了安全性的解决方案。在一本名为《构建Snowflake数据云》的书中,预计Snowflake会是实现云优先愿景的第一个组件,但这一点是有充分理由的。

既然决定调查Snowflake,我们就应该确保它的营销宣传能够兑现,并验证相关声明。在我们的组织中,一项概念验证(POC)从零开始搭建,一个完全没有Snowflake经验(但有丰富Oracle经验)的开发者,在七周的时间里,使用代表性的数据集,成功构建了一个稳健且可扩展的应用程序,后来该应用程序成为了生产环境上线的基础。这个声明对一些人来说可能难以置信,但我是那个开发者,两年后,我现在负责运行该部门并负责生产环境的上线。

对于那些仍然不确定的人,认为或许作者运气好,或者POC存在缺陷,不妨挑战自己想象一下“如果”你们的组织也能重复同样的成功,敢于尝试Snowflake,建立你自己的POC并设定评估标准。我不会要求任何人仅仅相信我的话。自己去发现,因为事实和证据是无法辩驳的。任何对关系数据库技术有较好理解,并且精通SQL的人,都能轻松上手Snowflake,学习曲线并不像想象中那样陡峭。此外,Snowflake还提供了免费的30天试用,足够的信用额度可以进行有说服力的POC。没有理由不去尝试。

本书挑战了传统的思维方式。我们当前的工具延续了长期根深蒂固的思维方式,而这种思维方式在新的数据驱动范式中已不再适用。某些事情必须改变——我们可以继续花费大量资金支持现状,或者我们找到另一种方法。相同的理由也应支撑我们决定调查Snowflake数据云的决策。

云集成的好处

我已经讨论了更广泛的主题,最终得出结论,我们必须改变思维方式和方法,才能利用眼前的数据驱动范式。本节将确定云集成的实际好处,并通过将云服务提供商与当前的本地实施进行对比,来展示这些好处。我从这个角度提供这些观点,因为它们为采用Snowflake数据云奠定了基础。

继续“为什么、如何和什么”的主题,我首先深入探讨为什么我们应该迁移到云服务提供商。自然地,这些主题也涵盖了如何和什么的内容。根据国际数据集团(IDG)的一份研究报告(由Accenture AWS Business Group赞助),云集成带来的好处包括:基础设施和存储成本降低45%,组织的典型运营效率提高53%,数据利用率提高43%。考虑到我们之前提到的9:1的复制数据与原始数据集比例,这些数字是显著的。也许不出所料,客户满意度提高了45%。

接下来,让我们看看Snowflake数据云提供的一些更具体的好处。

硬件和软件

云与本地(on-prem)最显著的区别是硬件配置,其次是软件配置。大多数组织拥有两个或多个数据中心,里面布满了硬件,具有高带宽的网络连接,能够在服务器故障或最坏情况下的数据中心宕机时,支持应用程序故障转移和灾难恢复。

硬件、空调、物理安全、人员、电池后备电源(UPS)、气体灭火系统、数以英里计的网络电缆、交换机、路由器、机架、测试设备、维护、修理、更新和替换。这些清单几乎是无穷无尽的,每一项都有固定的成本,且随着时间的推移不断折旧,升级周期永无止境,需求也越来越高。

使用云时,组织不再需要拥有自己的数据中心。云服务提供商(CSP)会配置所有资源,按需提供,24×7×365全天候可用,具有无限扩展性、容错性、安全性、维护和补丁更新。虽然我们为服务提供支付费用,但我们不需要管理基础设施的麻烦。而且,除了存储成本外,我们(大多数情况下)只需为我们实际使用的部分付费。存储成本非常低。Snowflake只收取存储费用,具体费用根据位置不同而有所不同,截至本文撰写时,每TB存储的费用大约为23美元至24.50美元。

图1-1展示了保留固定本地基础设施与转向基于云的弹性配置相比的相对成本。

image.png

性能

本地专用硬件始终受限于物理机器、CPU、内存和磁盘。无论服务器是否在使用,我们都要为它们的配置付费,而服务器的利用率通常只有约5%的时间。网络带宽也是如此;每个组织都有一个内部网络的数据传输限制,且带宽的利用率时高时低。

使用基于云的应用程序时,性能可以即时扩展,按秒计费,只有在需要时才提供性能,且仅在需要的时间内进行扩展,成本可预测,使用完毕后会缩回。我们只为我们消耗的部分付费,而不是为配置的部分付费,并且可以轻松获得弹性的性能和存储。我们不需要为云与云之间的数据传输支付网络带宽费用,尽管我们可能需要支付云提供商的出口流量费用。

当硬件发生故障时,这些故障对我们是“隐形”的。我们受益于始终开启的、按需弹性提供的无限计算和无限存储。我们需要关注的是身份认证和网络传输层的安全性,所有这些将在后文讨论。

人员成本

对组织而言,人员是最高的成本。对于本地硬件,我们需要安全人员、物理安装费用、操作系统和应用程序的补丁更新专家、维护、安装费用、PATS测试以及运行团队的管理人员。

然而,在云环境下,人员成本大幅降低,但并非完全消失。我们需要更多的云安全专家。然而,与本地解决方案相比,云服务提供商带来的成本节省是显著的。

COVID-19大流行表明,组织可以以至少与传统方式相同甚至更高的效率运作,减少了支持远程工作的员工所需的办公空间,同时这些员工能够原生地连接到云服务。

控制

在本地实施中,每个组织对自己领域中的硬件和数据拥有完全控制权。这种完全控制在物理上体现于基础设施的配置中。

而云实施则有不同的视角。绝对控制仅在实施了适当的安全防护的情况下才有意义,并且在共享环境中,例如为托管服务提供的环境中,控制的有效性取决于安全措施。在我们的所有环境中,不论是本地还是云,安全边界必须始终保持不可渗透,而这正是我们的网络安全团队最为关键的地方。

此外,我们还从无缝的补丁更新和“幕后”进行的产品更新中获益,这些更新对我们是“隐形”的。供应商发布的更新无需停机,或是故障恢复后系统的正常运行时间和可用性提高。虽然我们放弃了一些管理控制,但我们从集成的自动化交付中受益,这种交付贯穿于我们所有的环境中。

另一个好处是云环境功能丰富,提供了内置工具和虚拟托管,支持第三方工具和应用程序。由于云服务提供商需要提升市场份额,它们不断改进自己的工具和集成路径,帮助开发人员创新,缩短上市时间,解决复杂的业务问题。

数据安全

数据安全对基于云的解决方案至关重要。Snowflake提供了一套全面的安全控制,这是一个非常有趣的话题,稍后我们将深入讨论。

通常,每个业务负责人会决定数据集中的每个属性的数据分类,并为每种数据分类指定特定的保护措施。对于从未离开内部网络边界的本地数据,安全考虑不像云数据那样复杂。在云环境中,数据在传输过程中通常需要加密(例如符合TLS1.2协议),或者需要在静态时加密(例如使用自带密钥、SHA256加密)。我们将详细讨论数据安全,但现在只需注意本地和云托管解决方案之间的区别。

合规性

对于本地解决方案,大多数监管机构满意于数据存储在其所在的管辖区内。而对于基于云的解决方案,一些监管机构在允许数据进入云平台之前,会对每个数据集进行额外的审查。各个监管机构的额外规定并不完全相同,因此必须采取个性化的方法,以满足每个监管机构的要求。

在数据迁移到云端之前,可能需要进行额外的治理,特别是在数据托管位置不在监管机构的管辖范围内时。稍后我们将进一步讨论这一点,但需要强调的是,数据治理和控制是跟随数据本身的,而不是跟随云环境,确保我们在保持最高安全性和合规性的同时保护数据。

数据量

从我之前提到的研究中,我们可以看到,数据复制到原始数据集的典型比例目前约为9:1,预计很快会增加到10:1。这些令人担忧的数据隐藏了许多潜在的问题。作为纯复制(或复制的复制)的数据集,由于提取时间和SQL谓词的不同,导致无法在数据集之间进行调和。

无法调和的数据会导致管理层的不信任,并激发出建设数据孤岛的需求,因为核心系统显然有问题。您可以看到问题的产生,特别是在进行手动的非周期性调整时,数据的来源和真实性会进一步受到质疑。

其他直接后果包括随着数据存储需求的增加和网络带宽使用量的上升,我们需要更多的CPU和内存来处理数据集,同时需要更多的带宽来搬运数据。还有其他问题,但您已经能够理解大致的情况。

新的数据格式、类型和挑战不断涌现。而信息的速度、体积和多样性也在指数级增长。使用Snowflake数据云,许多这些挑战会消失。接下来,我会向您展示如何解决这些问题,以及这些问题的具体表现。

迁移到云平台

如果我们只是想减少硬件、基础设施和相关的成本,是否可以简单地将我们的技术足迹“迁移并转移”到云平台上?

简而言之,答案是可以的,我们可以将硬件和软件迁移到云平台,但这并不是解决问题的根本方法。虽然通过“迁移并转移”可以让我们停用本地硬件,从表面上看这很有吸引力,但实际上这种做法只是延迟了不可避免的结果。我们仍然需要专业的支持人员,并且无法完全利用迁移平台所带来的好处。

例如,假设我们将现有的数据仓库应用程序使用“迁移并转移”方式迁移到云平台上,我们可以停用底层硬件,获得弹性存储和CPU/内存的优势。然而,通常我们在进行配置更改时仍然需要重启应用程序,仍然需要相同的支持团队,并且还需要增加网络安全方面的复杂性,以确保我们新的实施方案是安全的。

相比之下,如果我们将数据仓库重新平台化到Snowflake,我们将立即将平台支持需求降低到几乎为零。弹性存储自动可用,不需要配置。CPU/内存配置更改不再需要系统停机,从而使我们能够打破数据孤岛。我们仍然可以停用本地硬件。两种方式都需要网络安全措施来确保我们的配置是安全的。我将在第4章中向您展示如何实现这一点。

总之,迁移到云平台并不会带来太多好处,反而引入了云安全的挑战,并且实际上加固了现有的数据孤岛,因为我们的数据仍然被锁定在同样的平台上。

Snowflake数据云的位置

Snowflake数据云不是一个单一的物理位置。它是互联网上一系列端点的集合——这些端点隐藏在各种云服务提供商(CSP)中,呈现为公开可见的形式。

很可能您已经通过浏览互联网访问了许多云平台。Snowflake选择了三大主流的云服务提供商来构建Snowflake数据云:

  • Amazon Web Services (AWS)
  • Microsoft Azure (Azure)
  • Google Compute Platform (GCP)

图1-2展示了Snowflake在这些平台上建立的存在位置。请注意,这些位置会随着时间的推移不断增加。

image.png

除了前述的三大云服务提供商外,市场上还有其他一些云服务提供商,通常聚焦于特定的应用或技术,而这三大云服务提供商则在其方法上相对中立,支持多种技术和应用。

除了云服务提供商,我们将我们在数据中心的传统基础设施称为“本地部署”(on-premise,简称on-prem)。以下是一些相关的术语,您应该了解:

  • 北/南连接(North/South Connectivity) :任何云位置与本地部署之间的连接。北方向是云,南方向是本地。
  • 东/西连接(East/West Connectivity) :任何两个云位置之间的连接(无论是哪个平台)。

这种连接术语的区别对于多个原因非常重要:

  1. 建立东/西连接比看起来更复杂,原因在后文会详细讨论。
  2. 东/西带宽消耗通常不太重要,除非涉及外流费用,后文会讨论。
  3. 北/南连接通常比东/西连接更容易建立,通常是通过封闭的连接方式(例如AWS Direct Connect)实现。

从最终用户的角度来看,应用部署到云端时,物理位置并不重要。而从技术人员的角度来看,虽然这种差异变得不那么显著,但云计算的考量与本地部署有着本质的不同。更重要的是安全性,这是我们稍后会详细讨论的内容。

Snowflake数据云的特点

Snowflake数据仓库是从零开始为云端构建的,自2012年起开发,并于2014年正式发布,成为美国上市的最大软件公司,并于2020年9月在纽约证券交易所上市。

Snowflake自始至终都把安全性作为核心。从一开始,Snowflake便专注于安全性。与传统数据仓库相比,Snowflake提供了卓越的性能,同时具备高度的可扩展性和弹性。它已在三大云平台(AWS、Azure、GCP)上实现,并且在所有三个平台上都能无缝互操作,支持由中心化管理提供支持。无需安装磁盘、周期性打补丁、操作系统维护或高度专业化的数据库管理任务。所有这些工作都在后台无缝进行,用户可以专注于提供业务价值和将数据货币化,这正是本书的核心内容。

Snowflake支持ANSI标准的结构化查询语言(SQL)、支持Java和Scala编写的用户定义函数,并且即将支持Python;同时,还支持JavaScript和SQL存储过程。几乎所有在其他平台上学到的SQL、数据仓库、工具、技巧和技术都可以迁移到Snowflake。如果你是数据库专家,这里将是你理想的去处。

由于其卓越的性能,Snowflake被广泛应用于多个行业领域。随着信息的速度、体量和种类的指数级增长,新的应用场景不断涌现,企业寻求通过数据获取竞争优势并将数据货币化。

希望通过更快速的数据收集和信息传递来改善决策过程的商业领导者应该考虑使用Snowflake。通过提升知识传递和增加智慧,决策者能引领趋势,而不是被趋势牵引。想象一下,如果你在竞争对手之前五分钟就掌握了关键信息,你会做什么?Snowflake为你提供了将这种设想变为现实的机会。稍后我将向你展示如何实现。

Snowflake是唯一为云端构建的数据平台,原生支持结构化、半结构化(以及即将支持的非结构化)数据,并配备了丰富的内建工具,能够快速摄取、转化和处理数据,Snowflake做到了这一点。

在认识到云端与本地部署的实施差异以及迁移到云端的好处后,我们接下来讨论Snowflake数据云如何为你的组织带来益处。

Snowflake数据云可以实现跨组织的安全统一数据整合,并允许与选择的合作伙伴协作,形成一个全球生态系统,参与者可以选择他们的合作伙伴,并轻松发布和消费数据集及数据服务。大量且日益增长的数据可以轻松且快速地连接、访问、消费,并提取价值。

如果实施得当,你的组织将能够突破数据孤岛,体验到更大的灵活性,从而实现更快的创新。提取数据价值变得更加容易,带来商业转型并提供将数据货币化的机会。

在此过程中,不涉及硬件、平台、操作系统、存储或其他限制性因素。稍作停顿,思考一下这背后的深远意义。这个愿景非同凡响,代表了每个组织自互联网时代以来,在某种形式上一直追寻的“圣杯”:如何无缝访问跨领域的数据集,解锁数据价值,发现新市场,并将我们的数据资产转化为价值。

Snowflake数据云是一个拥有安全统一数据的地方,数据无缝连接,随时随地可用。如果我们正确实施,利用Snowflake数据云,我们将拥有一个随时触手可及的“单一事实来源”,并能回溯最多90天的数据。这个过程是无缝的,开箱即用。

商业生命周期

Snowflake处于增长阶段的底部这一说法并不难找到证据。请看图1-3,展示了标准产品生命周期,说明每个产品都会经历的各个阶段。支持我这一断言的财务报表可以在www.macrotrends.net/stocks/charts/SNOW/snowflake/financial-statements查看。按照任何标准,Snowflake都是一只独角兽;在其首次公开募股(IPO)时,大型机构投资者包括伯克希尔哈撒韦和Salesforce。

image.png

六年的IPO前期可以视为图表中的引入阶段,特点是销售额低、成本高且利润低。增长阶段始于种子融资后,销售额增加、成本减少,利润上升。显然,Snowflake尚未进入成熟阶段;大量新特性和产品改进证明Snowflake在能力和范围上不断增长。

Snowflake发布了图1-4中的数据,您可以自行进行比较。最新数据请访问:investors.snowflake.com/overview/de…

image.png

创新扩散

Snowflake创新性的设计将存储与计算分离,这是一种与旧有思维的范式转变,代表了与过去的彻底断裂。Snowflake的架构将在第3章中详细讲解。

当面对新观念时,我们常常会面临接受新思维的挑战。创新扩散理论提供了一些答案,通过将人群分为五个不同的群体,每个群体都有自己采用或抵制特定创新的倾向。图1-5展示了与创新采用或抵制相关的钟形曲线。我将留给您判断您的组织处于哪个位置。

image.png

Snowflake的采用情况也不例外。在图1-5中,Snowflake位于早期采用者群体的左侧。这正是我们这些希望实现战略跃升的群体所在的地方,这是一个拥抱迅速成熟产品的机会,利用Snowflake Data Cloud并提供一个将数据货币化的机会。

在左侧,创新者(占人口的2.5%)已经采用了Snowflake,经历了应对不成熟产品的挑战,不知不觉地进行了用户接受测试,熬夜为以前出问题的功能创造解决方法——这份清单还在继续。

接下来的13.5%是早期采用者。如果你已经读到这里,你很可能就是其中之一。我们利用了创新者为Snowflake付出的辛勤努力,抓住眼前的机会,向前迈进。

在我们手中的是Snowflake,一个成熟的产品,接下来34%的早期大众(early majority)正开始意识到它的存在。它提供了一个创造最大商业优势的机会,并进入新市场以实现数据货币化。

未来状态实现

我们的世界往往以不可预测的方式变化。例如,面部识别现在已经成为普遍的技术,但十年前还是不可想象的,同时,数据的体量和速度也随之大幅增长。在你读到这本书时,Snowflake将已经发布对非结构化数据的支持,这是本书稍后会讨论的内容,而主流数据库在处理这类数据时仍然存在困难。

而新的挑战也在不断出现。如果你想从拍摄的发票中提取账单信息,Snowflake提供了相应的工具。如果你想将Microsoft Word文档中的段落保存为结构化数据格式,Snowflake也可以做到。我将在第9章展示如何实现这两项操作。

这代表了需要特定工具和技术来处理的数据集的缩影,而Snowflake提供了解决方案。新功能不断推出。在我写这章的时候,Object Tagging功能已经发布;具体内容请参见第11章。

关于未来数据增长的主题(本书稍后会讨论),例如物联网(IoT)生成的传感器数据、影像数据、半结构化记录等,大数据和分析展示了我们如何从这些海量数据中提取价值,机器学习决策则在影响着我们的日常生活。

先行者优势

将创新扩散理论与商业生命周期相结合,帮助我们理解我们拥有一个机会窗口和先行者优势。我们可以识别并创造新市场,成为市场的先行者,发展品牌认知度和忠诚度,获得竞争优势,从而实现市场营销者的梦想。

但时间不在我们这一方。你的竞争对手已经开始了他们的研究并执行了他们的战略。有些人正在像你一样阅读这本书。

你的旅程

你通往云的旅程就是这样——一个需要学习一些课程的旅程。有些课程超出了本书的范围,但很多在这里都有展示。

不仅能够获得显著的成本节省、性能提升和灵活性,还有更广泛的安全考虑需要解决。对于那些喜欢技术的人来说,Snowflake提供了大量的功能,而且这些功能以比我们大多数人能消化的速度不断扩展。

Snowflake如何实现数据云

对于所有的方法,理解数据所有者始终保持完全控制是非常重要的。基于角色的访问控制(RBAC)将在第5章中讨论,但在此先做一个简要预览:Snowflake中的所有内容都是对象,受RBAC的控制,包括安全的直接数据共享及其包含的对象。

换句话说,Snowflake从根本上就是高度安全的。一些相关功能将在第4章中讨论。稍后我会向你展示如何配置Snowflake的安全监控,超出Snowflake的建议,并揭示一些底层功能。

图1-6展示了我们可用的选项,并提供了一些背景信息。接下来将简要解释每个选项。

image.png

全球数据网格

支撑Snowflake数据云的基础设施是其全球数据网格。Snowflake通过独特的方式解决构建数据平台的挑战,能够轻松促进强大数据架构的交付。

通过在RBAC(基于角色的访问控制)如何实现数据所有权和访问的前期思考、遵循已发布的数据所有权标准以及清晰地逻辑和物理上分隔数据集,Snowflake数据云的交付是完全可实现的。但这只有在从一开始就采取正确的做法,或者对于已有数据湖的组织来说,制定计划将结构和治理结合起来,并明确方向以修正过去的做法时,才能成功。

参与标准

要成功地为Snowflake数据云做出贡献,我们必须采用基于领域的数据所有权方法。实际上,我们必须知道“谁拥有什么”,并在将数据导入平台之前强制执行数据所有权作为一个关卡。想要“随便丢数据”并不容易,我们的组织正变得越来越严格,虽然这种做法看起来很吸引人,但任何审计或治理职能都希望知道“谁拥有什么”。最好从一开始就设定标准,而不是事后遭受后果。

随着我们在数据云中有多个数据领域,跨领域报告的新机会也随之而来。只要正确地使用RBAC对数据进行隔离,我们只需要为用户授予角色以启用数据的使用。听起来很简单,对吧?不,实际上并不简单,因为我们可能不希望授予对领域中所有数据的访问权限,因此我们必须将数据限制为满足业务使用需求的最小子集。Snowflake提供了执行这一操作的工具,包括更细粒度的RBAC、行级安全性、对象标记和创建自定义视图等技术。

正如我将在稍后详细阐述的,数据发现和自助服务是Snowflake数据云能力的核心。

安全的直接数据共享

安全的直接数据共享(Secure Direct Data Share)是一个内置的、高度安全的核心Snowflake功能,依赖于云存储来与其他Snowflake客户共享数据;也就是说,消费者可以是我们组织内部或外部的人员。我们将在第14章通过实践示例详细解析安全的直接数据共享。

通过安全的直接数据共享,数据所有者决定共享哪些数据集,技术人员提供实施。始终保持对哪些外部客户具有只读访问权限的完全控制。针对“谁可以看到什么”这一问题,Snowflake正在扩展其监控功能,提供有关数据消费的指标,第14章提供了一个模板。

数据实时维护。当我们更新源对象数据时,我们的客户会看到相同的实时变化。数据共享在后台发生。一旦我们声明了对象并授权客户访问共享,客户便可开始消费数据;就这么简单。再也不用SFTP、数据导出、过程管理和其他繁琐的数据交换调度和工具了。

成本根据CSP和执行的操作有所不同,值得注意的是,随着Snowflake产品功能的发展,计费模型也可能发生变化。有关最新信息,请参见docs.snowflake.com/en/user-gui…

适用于所有应用,安全的直接数据共享明确控制哪些客户可以访问共享数据,并且是一个安全地、有效地实现数据货币化的好方法,同时保持完全的控制。

许多组织面临不完整、不正确、分散的参考数据,导致记录被拒绝、属性不匹配导致内容丢失,随着时间的推移,慢慢导致对系统的不信任。

如果我们能够解决这个看似简单(但其实不简单)的问题,跨越我们组织中的数百个或数千个应用,通过一次性获取参考数据并无缝地将其分发到所有应用中,我们将很快享受到纠正过的数据的好处,这些数据更容易被连接,因为许多属性值将匹配。

而且,这里还有更多机会;这个故事会变得更好。

数据交换

利用Snowflake内置的数据共享功能,数据交换(Data Exchange)是组织内部发布数据供消费者使用的地方,消费者可以是组织内部或外部的人员和组织。数据交换也是组织和个人发现可用数据集的地方。我们将在第14章通过实践示例详细解析数据交换。

由业务所有者控制的数据集可以发布给其他人消费,可以通过审批订阅或自由提供给所有人。数据发布和数据发现真正开始实现数据民主化,使得每个人都能够全面参与。他们既有能力访问数据集,又有权访问。此外,数据孤岛开始被打破,允许数据发现、丰富和以前难以想象的方式利用数据。

数据交换标志着组织能力的一次重要进步,快速允许订阅者访问他们有权访问的数据集。市场投放时间大大缩短,数据集成的实现不再需要几个小时,最多几天,不再需要SFTP、身份验证、防火墙或握手,之前的障碍也消失了。

数据共享的核心概念是安全性。通过数据交换,数据所有者可以完全控制自己的数据集,并可以根据需要进行数据的策划、发布、管理和撤销授权。当然,保留一年的不可更改的完整审计跟踪可以随时查看,后面会详细讨论。

Snowflake市场

组织利用复制和安全直接数据共享功能在Snowflake市场上创建列表,这是一个用于无缝数据交换的互联网平台。

Snowflake市场对所有Snowflake账户(特殊情况除外,如VPS账户)在所有云提供商上均可用。

因为Snowflake市场使用的是安全的数据共享功能,因此能力、安全性和实时功能保持一致。集成模式有所不同,因为复制而不是共享被用作集成机制。

Snowflake市场支持三种类型的列表:

  • 标准: 一旦数据发布,所有消费者可以立即访问数据。
  • 购买带免费样本: 在付款后可以升级到完整数据集。
  • 个性化: 消费者必须请求访问数据以获得后续批准,或数据仅共享给部分消费者账户。

然而,订阅者和提供者之间有一个握手过程,因为可能需要一些信息才能订阅,且数据集可能需要预先筛选,从而导致自定义数据展示。

一旦完成,源数据库将被复制,成为可以导入到订阅账户中的数据。两种选项都需要在本地配置以导入数据库,导入后数据将像该账户中的任何其他数据库一样可访问。

谁在使用Snowflake数据云?

由于入门门槛极低,多个组织,包括Refinitiv、FactSet、S&P Global和Knoema,已经在使用Snowflake使他们的数据可用并将其货币化,每个组织都提供免费的试用版,允许未来的客户“先试后买”。这就是数据民主化的最佳体现,使得个人和组织都能根据自己的需求决定哪些数据集最适合他们,且入门门槛非常低。

在应对COVID-19大流行的过程中,许多供应商提供了相关数据集,使得不同观点的迅速传播和积累成为可能。结合机器学习和AI,前所未有的机会正在涌现。

使用Snowflake市场的组织种类正在快速增长,并且可以免费参与。

开始你的Snowflake之旅

迁移到云端的过程不会一蹴而就。你所阅读的内容发人深省、突破性强,并且对你的组织产生重大影响。

你可能会发现你的组织在这条旅程上没有做好充分准备,你可能需要展示功能,以便随着功能开发的推进揭示其好处。

Snowflake数据云并不是一个单一的目的地,而是一个旅程。功能在不断开发、改进和增强。我们的工作是通过本书中的示例引导他人,并通过构建概念验证来展示Snowflake不断发展的能力。

总结

本章开始时设置了背景,概述了每个组织在应对数据洪流时所面临的问题,并提出了减少成本并扩大能力的解决方案。

你还了解了新兴的数据格局,数据的性质发生了变化,并且因存储多个数据副本而导致的存储成本不断增加。

通过介绍Snowflake数据云作为解决我们组织面临的许多问题的答案,开启了我们实现切实利益的旅程,不仅是节省成本,还包括通过“为未来选择合适的平台”来为我们的组织做好未来准备。

通过实践经验,展示技术能力的重要性和价值,以及向我们的业务同事开展“心灵与思想”运动,绝不可低估。记住我们在“创新扩散”中的讨论:我们必须努力“将思维转向左侧”,以帮助我们的同事接受一种新的、不熟悉的范式。

在为深入了解我们的数据孤岛做好准备并建立正确的思维方式后,让我们进入第2章的大门。