内部部署数据仓库与云计算数据仓库的优缺点
数据仓库被各种规模的企业广泛用于为商业智能(BI)和分析应用程序摄取、存储和处理大量的数据。数据仓库出现在上世纪90年代,是一种成熟的主流技术。但是如今对于希望部署数据仓库的企业而言,其中一项重大决策是将其放在内部部署设施还是云平台中。与其他类型的IT系统一样,与内部部署数据仓库相比,云计算数据仓库提供了各种好处:例如易于扩展,更具灵活性,数据库管理员(DBA)的日常管理工作更少。但是每个企业都有自己的一些需求和优先事项,因此在规划数据仓库部署之前,需要对云计算和内部部署的选项进行比较。为了帮助解决这个问题,以下介绍了这两种方法及其优缺点。
内部部署仓库架构vs.云计算数据仓库架构
高质量的计算环境(包括服务器、操作系统、存储和数据库)对于任何使用大量数据的应用程序的成功都是至关重要的。这无疑适用于数据仓库:企业为了选择最佳的数据仓库平台,IT和数据管理团队需要评估完整的系统环境,而不仅仅是其核心的数据库软件。
传统的数据仓库架构由以下三层组成:
·底层具有数据库服务器,其中包含数据仓库本身。
· 中间层处理数据以进行分析,通常由在线分析处理或OLAP引擎进行。
· 顶层作为商业智能和分析工具的表示层和前端接口。
企业数据仓库将来自企业所有业务运营的数据存储在一个集中的平台中;另一方面,数据集市是较小的仓储系统,其中包含特定部门、业务单位或用户组的数据子集。两者通常都包含在数据仓库架构中,以下是设计一种架构的两种主要方法,这是一种通常简称为Inmon与Kimball的选择。
· 自上而下的方法。该方法由计算机科学家和供应商高管Bill Inmon创建,从企业数据仓库开始,然后使用存储在其中的数据集来设置各种数据集市。
· 自下而上的方法。技术顾问Ralph Kimball通过开发这种替代方法实现了彻底的转变,其中构建了单独的数据集市,然后将其集成以生成企业数据仓库。
使用这些传统概念,云计算使数据仓库供应商能够定制其底层硬件和软件架构,以满足不同的处理需求。以下是云计算数据仓库产品的一些典型示例,以下按字母顺序列出。
· 用于分析和数据仓库的Autonomous Database。Oracle公司用于云中分析数据的旗舰系统构建在Oracle数据库和Oracle Exadata计算平台之上。该系统可用于共享或专用基础设施部署,也可通过Oracle的Cloud@Customer服务安装在内部部署设施中。Oracle公司的共享基础设施是一种更传统的云计算服务,而专用的则为客户提供一个完全私有的公有云环境,拥有自己的计算、存储、网络和数据库资源。
· Azure Synapse分析。微软公司的云分析服务提供无服务器和专用资源模型,并使用称为Synapse SQL的分布式SQL处理引擎来运行数据仓库的查询。它还包括ApacheSpark作为大数据分析引擎和Azure DataLake Storage Gen 2作为其数据存储。该平台基于横向扩展的大规模并行处理(MPP)架构,可跨多个节点分配工作负载并将计算资源与存储分开,使客户能够独立扩展每个节点。
· BigQuery。Google BigQuery是一个无服务器云数据仓库,具有基于SQL的分布式MPP分析引擎,可以将其大部分数据存储在表中。每个表列都是单独存储的,这使BigQuery能够比传统的基于行的存储更有效地扫描整个数据集的各个列。BigQuery同时使用分区和集群来提供高性能数据访问。它还支持多云数据仓库部署,并包括用于机器学习、预测建模和地理空间分析的引擎。
· Redshift。AWS公司的Amazon Redshift使用集群来预置一个或多个计算节点,以便在数据仓库、操作数据库和数据湖中运行分析应用程序。AWS提供无服务器选项、机器学习模块以及与其他各种云服务的原生集成,包括商业智能、数据集成和大数据处理工具。与BigQuery一样,Redshift将每个表列分开存储;它还提供自动表优化功能,通过改进数据集的物理布局来提高集群中的查询速度。
· Snowflake。与大多数竞争对手不同,Snowflake的数据仓库系统旨在跨AWS、Azure和谷歌云平台运行。Snowflake将其处理环境描述为混合共享磁盘/无共享架构。该产品使用中央存储库在整个环境中共享数据,并使用多个大规模并行处理(MPP)计算集群来分离工作负载,集群中的每个节点都在内部部署存储部分数据集。作为一项完全托管的服务,Snowflake还支持数据湖、数据工程和数据科学工作负载。
内部部署数据仓库和云计算数据仓库的优缺点
内部部署数据仓库面临的一大挑战是需要部署满足企业的数据架构和处理要求的硬件和软件计算环境。硬件支持团队、系统管理员和数据库与数据仓库软件供应商一起构建运行环境,这通常很复杂,需要专门的团队来进行管理和支持。此外,扩展内部部署系统以满足不断增加的数据存储和工作负载增长可能既昂贵又耗时。
但云计算数据仓库也可能给企业带来一些挑战,并需要改变IT流程。以下是有关这两种方法在某些关键领域的优缺点的详细信息。
(1)成本
很明显,在内部部署数据中心部署和支持数据仓库系统的成本通常比从云计算提供商那里租用一个基于使用量付费的数据仓库系统要高得多。对于由供应商完全管理的数据仓库即服务(DWaaS)环境尤其如此。但对于已经在现有数据中心进行投资的企业而言,云计算与内部部署的成本比较并不那么简单。
云平台最初的卖点是能够降低IT成本。但在云中实施应用程序的企业很快意识到节省成本并不总是其主要优势之一。企业可能不必为云计算数据仓库系统购买服务器和软件,但使用云供应商的计算、内存和硬盘资源的成本可能会增加,尤其是在数据仓库工作负载意外增加的情况下。
当然,在比较内部部署和云平台时,系统成本并不是IT团队需要考虑的唯一成本。支持环境所需的劳动力成本也必须考虑在内。对于内部部署数据中心,这包括对计算硬件、操作系统、磁盘存储和数据库的管理支持。云计算数据仓库并没有完全消除支持成本,例如在DWaaS环境中,数据仓库仍然需要处理管理任务。但这种成本在云中通常要低得多。
还有其他一些经常被忽视的成本。在公有云中部署数据仓库的企业不会产生合规性认证、数据中心环境控制、能源消耗、高可用性和灾难恢复配置以及系统改进方面的直接成本。这些成本都包括在云计算服务的成本中,有些可能会导致企业的使用成本更高,但云计算供应商会为它们支付费用。
(2)新特性和功能
云计算数据仓库市场竞争激烈,这迫使云计算供应商将他们的功能集实现最大化。而不断创新和集成新功能以使其产品与竞争对手的产品区分开来是绝对必要的。因此,云计算数据仓库用户能够利用源源不断的新特性和功能。
此外,由于云计算供应商对整个数据仓库系统负责,他们的客户可以受益于从底层计算基础设施到数据仓库软件本身的增强。对于自己管理环境的内部部署用户而言,升级系统和部署新软件版本更加复杂。新功能在内部部署数据仓库软件中的可用速度也可能不如在云计算服务中的可用速度,这些云计算服务可以由供应商持续更新。
云平台的另一个潜在优势是:为了补充其核心数据仓库功能以用于基本商业和报告用途,行业领先的云计算供应商和其他竞争对手都提供了支持数据湖、机器学习、大数据分析、数据管道的附加技术和高级分析应用程序的开发和其他功能。
(3)可扩展性
系统可扩展性帮助IT团队应对处理工作负载的增长。当性能调整和更新软件配置不再对系统吞吐量产生积极影响时,就需要添加硬盘、内存和计算容量。可扩展性对于数据仓库也很重要,以便在添加新的源系统时适应数据增长。
但是扩展内部部署数据仓库平台可能是一件非常麻烦的事。如果服务器有能力增加CPU或内存,系统管理员需要打开机箱并更换或添加组件。对于没有额外可用容量的服务器,硬件需要升级到更大的系统。集群环境提供水平扩展,可以添加更多服务器,但硬件、软件和管理成本很快就会变得过高。
云平台的主要卖点之一是易于扩展。例如,Amazon Redshift用户可以快速将节点添加到他们的运行环境中,以获得更好的性能和更多的存储空间。Oracle自治数据库通过提供自动扩展功能更进一步,该功能可以自动增加计算或存储资源。AWS和Snowflake提供了类似的并发扩展功能,可以在工作负载增加时自动增加集群容量。
(4)性能监控和调整
为了优化数据仓库的性能,内部部署平台通常需要IT团队使用单独的工具来监控硬件、操作系统和数据库。由于云计算供应商能够为其数据仓库基础设施定制其性能监控工具和顾问实用程序,因此这些工具通常提供比内部部署的工具更全面的信息。
然而,除了标准的数据库性能调优挑战之外,云平台还为性能监控和故障排除增加了另一个维度。将数据传入和传出云数据仓库系统可能具有挑战性,尤其是在数据量大且时间紧迫的情况下。此外,在云平台上实施数据仓库的企业并不完全对性能负责。当系统性能受到怀疑并且扩展并不是一种很好的选择或无法解决问题时,企业将不得不与其云计算提供商合作以确定根本原因。
更糟糕的是,当资源被过度利用时,云计算数据仓库系统可能会停止企业的工作负载。在任何数据库环境、内部部署设施或云平台中,只需要一些调整不当的查询就可能增加资源消耗。但是云计算资源利用率的持续增加可能会导致企业被迫升级到更高的性能层。
(5)管理控制
在内部部署环境中,IT部门对其计算系统拥有完全的控制权和全部责任。对于云计算数据仓库,企业将与供应商分担这些责任。尤其是在完全托管的DWaaS环境中,企业可能放弃管理数据仓库平台的部分所有权。
有些IT部门会将此视为一种好处,而另一些则将其视为一种风险,但大多数人可能会将其视为风险和回报的结合。而行业领先的云计算数据仓库提供商都提供服务水平协议,以保证最低正常运行时间百分比,这将有助于减少对系统失去控制的担忧。
(6)安全
同样,部署内部部署数据仓库的企业负责保护整个环境——从硬件基础设施到软件堆栈。但是在云中,安全责任由提供商分担。重要的是要了解企业不会将100%的安全责任移交给供应商。在云安全的责任共担模型下,客户仍然需要处理保护数据仓库环境的某些方面。
责任的划分方式可能因供应商而异。它还取决于企业是使用托管DWaaS环境还是IaaS环境,其中供应商通常只负责保护底层IT基础设施。不过,一般而言,IT团队仍对数据安全、数据分类、访问控制和端点设备安全等任务负责。
标准的安全最佳实践适用于内部部署和云平台,但使用云计算数据仓库系统的企业能够与云计算供应商分担保护其运营环境的成本。能够利用云计算供应商的安全功能是另一个优势,他们有更多的动机来确保云平台的安全性,他们为此投入了大量资金。
(7)审计和监管合规
如上所述,云计算数据仓库的好处之一是云计算供应商承担底层架构的责任。但这可能会给需要遵守行业标准或监管合规性以及内部标准的企业带来挑战。
与安全性非常相似,合规性是客户和云计算供应商之间的共同责任。云计算供应商通常会为HIPAA、GDPR和其他合规框架提供第三方审计师合规报告和证明。但是企业必须与云计算供应商合作,根据企业的特定审计需求收集所需的支持证据,以验证数据仓库系统是否符合适用的框架。
尽管使用云计算服务可能会使查找所需证据变得更加耗时,但将一些监管合规成本转嫁给云计算供应商对于企业来说可能更重要。
页:
[1]