当数据仓库可以处理非结构化数据,而数据湖可以运行分析时,组织如何决定使用哪种方法?这取决于其需要采用数据回答新问题的频率。
传统上,数据仓库收集来自组织业务的所有结构化数据,因此组织可以将其集成到单个数据模型中,运行分析并获取商业智能,无论是用于开发新产品还是向客户营销现有服务。这曾经被称为“大数据”,但现在所有组织都拥有来自电子商务网站、物联网设备和传感器等来源的大量数据,因此现代数据仓库需要处理结构化、非结构化和流媒体数据,并提供实时数据分析以及商业智能和报告。
越来越多的组织在云中实现这一目标,以实现更高的速度和更低的成本。微软Azure公司副总裁Julia White指出,越来越多的数据可能已经存在于云中,以及组织想要使用这些数据的服务。White说,“随着数据越来越多地迁移到云端,无论是来自SaaS应用程序还是只迁移到云端的应用程序;运营数据就在云端,客户在询问‘为什么我要将运营数据从云端迁回到内部部署数据中心进行分析?它没有意义。’”他指出,尽管组织内部仍然有大量的数据,而且随着边缘计算的发展,还会有更多的数据,但许多客户还是会将部分或全部数据转移到云平台上,这取决于法规遵从性问题。
White指出,“每个企业都在研究人工智能。他们很快意识到分析是其基础,他们开始问‘我的分析和我的数据仓库的状态是什么?’,而且往往不够好。” Power BI的普及也推动了更多的微软客户进行云计算分析。White说,“当他们有了这些强大的数据可视化功能后,他们开始质疑自己的分析能力——‘我想知道数据可视化背后发生了什么:我喜欢Power BI,我希望我的分析更有趣。”
更复杂的客户希望分析他们自己的Office Graph数据(组织可以使用Azure Data Factory将其复制到Azure Data Lake)或利用Microsoft、Adobe和SAP(基于Azure Data构建的)之间的开放数据计划(ODI)数据湖并将最终整合来自更多软件供应商的数据。White说,“Azure Data Lake与Azure数据仓库紧密结合,客户正在使用Azure数据仓库获取更多见解,并在其上构建现代数据仓库。”
采用哪种数据服务? 微软公司拥有一系列看起来有点像数据仓库的云计算服务,最明显的是Azure SQL数据仓库或微软经常称之为的“DW”,但也有Azure数据工厂、Azure数据湖、Azure数据库、Power BI和Azure机器学习,以及更多打包服务,如Dynamics 365中的人工智能销售工具。
理解它们的方法不仅仅是关注它们提供的工具,还要关注它们所服务的用户以及它们如何协同工作。这是因为企业通常拥有的数据在多个数据存储中分散,创建现代数据仓库的第一步是整合所有这些孤岛。微软Azure上的这些不同数据存储越多,连接就越容易——这也是微软Azure提供如此多不同数据服务的原因之一。White表示,“另一方面,客户并不是在寻找可以做任何事情的单一工具,有一系列细微差别的选择,如果真的要挑选,并优化自己的场景使用的工具。” Azure DW适用于处理策划数据的数据工程师。这可能是来自SQL Server数据库的数据,但它也可能是来自这些数据工程师使用Databricks或Spark和.NET从Azure HDInsight等源准备数据的管道构建的数据。
Azure数据工厂是数据工程师进行数据ETL(提取、转换、加载)的另一项服务。组织可以将其视为云计算层级ETL工具,组织可以通过拖放界面(实际上是Logic Apps)或使用Python、Java或.NET SDK(如果组织更喜欢编写代码来执行)来使用数据转换和管理数据管道的不同步骤,通过Databricks或HDInsight、Azure Data Lake或Power BI。
Power BI还可以使用Dataflows(也是免代码)进行数据转换,但这是为业务分析师提供的自助服务功能。数据工程师或全职商业智能分析师可能会使业务用户使用这些语义模型,而微软公司正在将更多与Azure DW的集成添加到Power BI中。
Power BI用户可以在其可视化和报告中添加人工智能。其中一些可能是使用微软公司预先构建的认知服务来进行图像识别和情感分析。但他们也可能正在使用数据工程师在Azure机器学习服务中为他们构建的自定义人工智能模型,并使用所有企业数据。
现代数据仓库汇集了任何规模的数据,通过分析仪表板、运营报告或高级分析提供洞察力。
数据湖附近的仓库 这些场景的复杂性就是数据仓库和数据湖之间的界限开始在云中看起来有些混乱的原因。传统的数据仓库允许企业从多个来源获取数据,并使用ETL转换将该数据放入单个模式和单个数据模型中,该软件旨在回答组织计划一遍又一遍地提出的问题。
这些来源不必是结构化的关系数据:SQL Server和Azure DW中的PolyBase和JSON支持意味着组织可以连接来自非关系存储的数据,如HDFS、Cosmos DB、MySQL、MongoDB以及Oracle、Teradata、PostgreSQL。这意味着数据仓库(甚至SQL Server)看起来更像数据湖。
通过数据湖,组织可以获取多个数据存储,包括结构化和非结构化数据存储,并以其本机格式或接近该格式的方式存储它们,因此组织可以拥有多个数据模型和多个数据模式,并且能够灵活地从同一数据中问出新问题(用于Azure Data Lake查询的SQL变体称为U-SQL,不仅仅因为它是T-SQL之后的下一个版本,而且因为组织可能需要一个U-boat进入数据湖,并找出隐藏在黑暗深处的东西。) 如果组织有问题需要反复询问(例如销售分析或监控仪表板的交付时间),组织可以从数据的相关部分创建数据仓库。但如果问题随着时间的推移而发生变化,或者组织需要提出新问题,可以返回数据湖,在那里保存原始数据,并创建另一个数据仓库来回答这些问题。
这两者的结合是微软公司通过现代数据仓库基础设施的意义。组织可以从不同的地方获取各种数据,在数据湖中使用它来进行实时分析,或者使用机器学习来发现模式,告诉组织可以从数据中获得哪些见解,并将其与熟悉的数据相结合数据仓库工具有效地回答这些问题。
微软公司没有为所有这些服务提供单一服务。组织可以使用各种Azure服务执行不同的部分,这意味着组织可以选择所需的部分,但这也意味着组织需要拥有数据专业知识来构建自己的特定系统。
【凡本网注明来源非中国IDC圈的作品,均转载自其它媒体,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。】