【IT168 评论】对任何一家企业而言,建立数据仓库都是非常必要的。随着技术的进步,我们在这件事情上也有了很多新的选择,比如内部部署或者基于云。无论选择哪种方案,最终都可以实现从数据中获取商业智能从而辅助决策的目的,那么我们自然需要衡量哪种方案的性价比更高。
近两年,传统企业正处于数字化转型时期,大批的系统或者工具需要更新换代,不少企业内部还残留着传统的、基于本地部署的数据仓库。虽然更换为基于云的架构需要花费一定的时间和精力,但是传统架构其实更加复杂,需要企业IT团队一起配置和制定规则,整个过程通常比基于云的替代方案更加昂贵、严格和复杂。
相反,基于云的数据仓库往往更加灵活且具备更高的适应性,它们可以根据企业需求以多种方式进行配置,大部分的厂商都提供自助服务模型,并支持各种集成和附加功能,以便随业务变化扩展数据分析。因此,云数据仓库往往更便宜、灵活且易于IT团队管理。
当然,仅凭这些信息,我们无法确定选择什么样的架构。为了更好得了解内部部署架构与基于云的数据仓库的差异性,我们对其他情况进行了如下分析:
内部部署的数据仓库架构
实际上,所有内部部署的数据仓库都位于3-tier, 9-layer架构之上。
(对于tier和layer到底是解读为垂直和水平还是物理和逻辑分布,大家仁者见仁吧!)
这些层提供了收集、存储和使用数据的一般过程。在底层,数据库服务器从多个来源(如财务,销售、营销、客户和库存系统)收集数据,中间层的OLAP(在线分析处理)服务器使数据可用于分析。在顶层,用户可以通过各种工具查询、访问和操作数据。
每个层都有特定的事件发生,都是动作发生层。
数据进入数据库 (data source),然后提取并清理(data extraction)。
临时区域进一步清理数据并在数据流入数据仓库之前保留数据。
ETL过程(提取,转换,加载)将数据从其原始状态更改为可以通过第三方ETL工具进行分析的形式。
将数据加载或存储到实际的数据仓库(数据存储)中。
应用数据逻辑,该逻辑设置了数据规则,数据显示形式,比如显示为表格、图形、电子邮件、警报还是其他形式。
最后,元数据和系统操作可以让管理员了解数据存储方式以及仓库的运行模式。
对于每一层,企业IT团队以及数据科学家必须确保系统正常运行,并保证数据安全以及经过正确处理。业务中的任何更改也将更改其收集和使用的数据,它需要手动重新配置、测试以及许多其他耗时的步骤来调整数据仓库和相关流程。
要想维护内部部署的数据仓库,企业内部必须具有技能和专业知识过硬的员工,同时在整个过程中还需要进行大量投资,否则,很难获得成功。
基于云的数据仓库架构
云中的数据仓库以不同的方式构建。每个仓库提供商都有自己独特的结构,在多个物理服务器、网络或软件工具之间分配工作负载和处理数据,同时使用户可以轻松访问数据并且功能更强大。
下面介绍一些主流的云数据仓库是如何构建的:
Amazon Redshift的结构类似于传统的数据仓库,但它存在于云中,通过leader节点提供数据计算集群,该节点在所有集群和用户之间通信,将查询、数据集和应用程序分配给不同的集群,然后将信息和结果返回给用户。
与Redshift类似,Snowflake也基于集群体系结构构建,并作为服务提供。它将数据提取、存储和分析集成到一个系统中,但将存储和计算分开以实现快速扩展和更有效的资源利用。
同时,Google BigQuery使用无服务器,数据仓库即服务模型,集成了多个第三方工具和服务,因此用户可以高速运行数据集上的交互式查询。基本的体系结构是对用户隐藏的,但基本的服务管理机器资源扫描数据列和行并返回查询结果。
Microsoft Azure是一个SQL数据仓库,它将SQL关系数据库与大规模并行处理相结合,允许用户运行复杂查询。与其他Azure工具一起,用户可以轻松地将数据存储、传输和处理服务集成到自动数据管道。
由于云数据仓库是自助服务的,因此它们构建为用户友好的,旨在允许用户为现有员工定制和管理工作流程,并在需要时获得专家帮助,这是服务的一部分。这也解释了云数据仓库的初始投资和持续开支远远低于传统架构的原因——企业自己无需聘请大量数据科学专家或购买和维护昂贵的硬件。
对于数据安全性要求较高的企业,可能无法放心将自己的数据交给其他云厂商,虽然这些厂商都可以提供私有云解决方案并承诺用户数据安全,但是企业对其的可信度或许不高,这就是内部部署方案的市场和机会。但是,随着数字化转型的推进,越来越多的企业开始将云端架构倾斜。