数据仓库为组织了解其历史业务表现和推动持续运营提供了一个接入窗口,为数据分析师和业务用户提供了诸如客户行为、业务趋势、运营效率和销售等方面的信息。尽管出现了基于Hadoop和其他一些大数据技术的数据湖这一概念,但随着公司越来越需要从更多不同的源系统收集和分析业务数据,这使得数据仓库仍然具有其实用价值,甚至比以前更加重要。
但作为数据管理体系结构的一部分,在对数据仓库平台进行投资之前,首先还是要检查您的组织是否真的需要一个数据仓库平台,以及通过实施部署,组织可以借此获取哪些业务收益。相关的,您必须考虑不同的数据仓库部署情况——在企业范围内还是部门范围内,在本地还是在云中。
您还需要确定,通常存储在大数据系统中的非结构化和半结构化数据,是否会成为数据仓库环境的组成部分,并确定是否将用于BI、企业报告和在线分析处理(OLAP)等应用的传统数据仓库,与数据处理和大数据分析管理集成在一起。最后,您必须将您的数据仓库用例与最合适类型的数据仓库平台相匹配。
为什么需要数据仓库?
数据仓库的一般概念非常简单:从支持业务流程的操作系统中定期提取数据副本,并将其加载到单独的存储库中,在该存储库中,数据将被合并,然后可用于分析和报告。之后,业务用户和分析师可以通过BI和分析工具、仪表板、入口和准备好的报告来访问数据。
在下面这些情况下,数据仓库可能更容易发挥其价值:
·公司在做出有效的商业活动报告方面遇到了难题,因为所需要的数据不容易获得。
·不同部门和用户组会将业务数据复制到电子表格中以进行分析,而这些电子表格并非总是相互一致的。
·数据质量和准确性的不确定性,导致企业高管和业务经理会质疑报告的准确性。
·针对生产数据库的BI报告会每晚延迟,或在月底进行的交易数据处理,需要扩展处理窗口。
·在工作日对数据库运行临时查询会降低操作系统的速度,从而影响内部用户和客户、供应商以及其他外部用户。
一个正确数据仓库实施策略可以帮助您的组织准确地回答有关业务运营的问题,如发生了什么、为什么。数据仓库可将来自不同位置和来源的数据组合到中央存储库中,从而提高数据的可访问性。当数据移至数据仓库时,通常还会对其进行清理和转换,以使其与分析一致,这将有助于提高查询结果和报告中信息的质量。
此外,一旦数据仓库部署完成并得到积极使用,由于BI、报告和分析活动已从生产数据库中移出,运营工作流程可能会变得更有效率。
数据仓库的部署
各个组织之间的数据仓库环境可能会有很大差异。从体系结构的角度来看,部署可以遵循多个路径——如一个企业数据仓库(EDW),一组较小的数据集市,或这两种方法的组合。
EDW包含来自企业操作系统的所有相关数据,并且可能包含一些从外部数据源收集的数据。它是用于BI和分析数据的单个统一存储库,可以在所有部门和业务部门中使用。因此,建立EDW通常是一项艰巨的任务,尤其是在大型企业中。
在EDW架构中,组织还可以在其操作系统和企业数据仓库之间实施运营数据存储(ODS)作为过渡步骤。将运营数据复制到ODS,然后提取并加载到数据仓库中。ODS可以用作尚未经过转换的、无法用于分析的数据的暂存区,同时可以用于运行近实时的查询,这些查询需要最新的业务运营的详细相关数据,而不是数据仓库中可用的数据。
数据集市是小型化的数据仓库,专注于各个业务部门和职能领域。当需要满足部门对BI的特定需求时,组织通常会选择建立数据集市,并且优先考虑报告功能。数据集市不需要涵盖整个企业的庞大项目,而是更加集中,并且可以更快地提供业务收益。
因此,数据集市的方法使组织可以通过一次处理一个业务的各个部分——而不是构建整体的EDW——以迭代方式开发数据仓库体系架构。企业可以选择部署一个或多个数据集市,具体取决于组织的规模和结构。
然后,决定组合采用这两种方法的组织,可以将不同的数据集市彼此集成以创建虚拟EDW,或以物理方式填充一个EDW。另一种方式是,以EDW开始的组织可以将仓库数据的子集提供给后来建立的数据集市,以此分离业务运营。
本地与云数据仓库
每种可用的数据仓库平台类型都有不同的部署选项:数据库管理系统(DBMS)软件,通常基于关系数据库技术;专门的分析型DBMS;数据仓库设备将必要的硬件和DBMS软件捆绑在一个包装中;云数据仓库。
将云用于数据仓库已成为更可行的选择。有些供应商已经推出了特定于云的数据仓库平台,而且有些最初设定为本地安装的数据仓库数据库,其供应商现在也提供了基于云的版本。此类产品包括组织自己在云中运行的常规数据仓库系统,以及供应商为用户部署和管理的数据仓库即服务(DWaaS)技术。
与其他类型的云系统一样,与本地环境相比,云数据仓库可以减少部署时间,并提供更轻松的可伸缩性和更大的灵活性。还可以节省一定的成本——但这并不能保证,IT经理需要密切关注云中数据仓库的使用,以确保成本最终不会高于预期。同样,数据安全和隐私问题可能是决定是否在本地部署数据仓库的考虑因素。
数据湖与数据仓库
在Hadoop和其他大数据技术首次出现之后,关于它们是否会替代数据仓库,市场上充满了各种声音。但是在大多数组织中,数据仓库并没有消失。相反,它们和大数据系统通常并存,每种系统都支持不同类型的分析用例。
数据仓库平台通常基于关系DBMS,并包含源自组织的运营和交易处理系统的结构化数据。数据仓库主要由希望运行基于SQL的、基本BI查询的业务分析人员和执行人员,以及希望创建仪表板和报告以向业务用户提供分析信息的BI开发人员访问。
另一方面,大数据系统通常基于非关系技术,例如Hadoop、Spark和NoSQL数据库。它们包含的数据可以是结构化、非结构化或半结构化的,并且可以源自所有类型的内部系统,以及社交网络和其他外部数据源。大数据分析旨在发现模式、关联和类似的见解——例如,根据过去的活动预测未来趋势和客户行为。通常是由数据科学家和统计人员使用Python、R和Scala等语言开发的复杂分析模型完成的。
大数据技术还支持数据湖的概念,数据湖是来自各种来源的原始数据的存储库,可以按原样存储这些数据,然后根据需要对其进行过滤和分析准备。
最后,大数据系统并不能直接替代数据仓库和数据集市。实际上,数据仓库和数据湖之间存在协同作用。例如,可以将在数据湖中收集的结构化数据集移动到数据仓库中,以进行常规的OLAP存储和分析。供应商也已开始将大数据访问集成到数据仓库平台中,从而可以从一个位置访问存储在不同系统中的,不同格式的数据。
数据仓库用例和场景
下面我们介绍一些用例和方案,这可能会影响组织的数据仓库策略,以及决定为数据仓库项目部署哪种类型的平台。
初次VS长期数据仓库用户。希望扩展现有数据仓库的公司通常会很好地继续使用他们已经建立的数据仓库平台。对于第一次实施数据仓库的组织而言,数据仓库设备可能是一个不错的选择。供应商可能会与您一起确定适合的设备规格和配置,而且这些设备的交付是非常简易的。但是,所有数据仓库平台对于首次使用的用户都是可行的选择,您应该审查本部门中的其他用例,以开发您的特定要求和部署计划。
公司规模。大型公司可能会选择主流的关系DBMS、分析数据库或混合事务/分析处理(HTAP)系统。这些组织拥有成功使用此类技术的基础架构和人员。在HTAP方法中,相同的DBMS既可以用于处理业务交易,也可以用于BI和分析建模。为了支持HTAP,关系数据库引擎可以提供内置的列式访问或用于分析处理的附加设备。
另一方面,较小的组织应考虑使用数据仓库设备或云数据仓库服务。这两种选择都可以最大程度地减少管理需求:设备已预先配置,并且DWaaS环境提供的云中的数据仓库一般由云服务提供商进行设置和管理。
IT部门的规模。IT部门相对较小的大型组织往往拥有较少的数据库管理员和其他可以建设、调整和管理数据仓库系统的IT专业人员。对于他们来说,考虑使用数据仓库设备或DWaaS产品也很有意义。
云用例。如果您的组织在云中运行大量应用程序,则DWaaS部署或自我管理的云数据仓库平台可能是您的最佳选择。将生成和存储在云中的业务数据保存在云中以进行数据仓库和分析是一种符合逻辑的方法。
数据延迟要求。对于在分析应用程序中需要最小数据延迟的组织而言,优化的数据仓库设备可能最有价值。使用其他方法也不是说无法实现近实时的延迟,但是您可能需要使用其他高速硬件和软件来扩展数据仓库环境,以满足您的性能目标。
一旦您的组织决定需要建设一个数据仓库,并确定了最合理的部署方案,下一步就是研究购买数据仓库平台的可用技术选项。整个过程,往往需要经过万全的考虑。
原文作者:Craig S. Mullins