数仓建模是数据仓库建设过程中的核心技术之一。数仓建模方式是指根据业务需求,将数据仓库中的数据按照一定的规则、标准进行分类、整理和归类,然后建立数据仓库的存储结构,使得数据仓库能够满足不同层次用户的查询和分析需求,以及数据仓库性能和可维护性的要求。常用的数仓建模方法有维度建模方法和实体关系建模方式。下面将对这两种建模方式进行详细介绍。
1. 维度建模方法 维度建模方法是将数据仓库中的数据按照维度和度量进行分类,并建立维度模型来存储数据。维度指一些具有共同属性的数据对象,比如时间、地理位置、产品等,度量则是用来描述维度之间关系的数值或指标。维度模型通常由一个中心事实表和多个维度表组成,中心事实表包含多个度量和与之相关的维度键,维度表则包含每个维度的属性和维度键。维度建模方法具有以下优点:
- 易于理解和维护:维度建模方法采用直观的图形化表示方法,能够直观地反映业务性质和数据之间的关系,使得数据仓库使用更加直观和易于维护,同时也能够降低数据仓库的实施成本和风险。
- 适应性强:维度建模方法能够很好地适应多种类型的业务需求,并且在模型设计过程中可以根据实际需求进行模型的调整和扩展。
- 高性能:维度建模方法能够通过冗余数据的技术实现查询优化,提高查询效率和性能。
2. 实体关系建模方法 实体关系建模方法是将数据仓库中的数据按照实体和关系进行分类,并建立实体关系模型来存储数据。实体是业务领域中的某个具体事物,比如客户、订单、产品等,而实体之间的关系则代表了实体之间的业务关系。实体关系模型通常由多个实体表和连接表组成,实体表包含每个实体的属性,连接表则用于描述实体之间的关系。实体关系建模方法具有以下优点:
-
可扩展性强:实体关系建模方法能够很好地适应任何类型的业务需求,并且可以根据实际需求进行灵活的模型扩展和调整。
-
模型具有普遍性:实体关系模型是基于实体和关系的统一建模方法,这种建模方式在软件工程领域得到广泛应用,在数据仓库建设中也具有普遍性。
-
数据的存储和维护比较简单:实体关系模型是建立在关系型数据库之上的,因此数据的存储和维护比较简单。
数据仓库为企业降低成本的同时,还提升了企业的竞争力,为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。接下来一起看看数据仓库在企业的实际应用案例:
美联物业早在十多年前就已深入各城市开展房地产中介业务,数据体系的建设和发展与大多数传统服务型公司类似,数据来源于大大小小的子业务系统和部门手工报表数据等,存在历史存量数据庞大,数据结构多样复杂,数据质量差等普遍性问题。此外,早期业务逻辑处理多数是使用关系型数据库 SQL Server 的存储过程来实现,当业务流程稍作变更,就需要投入大量精力排查存储过程并进行修改,使用及维护成本都比较高。
为了解决以上难题,美联物业在平台建设的初期选⽤了 Hadoop、Hive、Spark 构建最初的离线数仓架构,但是随着业务的不断发展、内部人员对于数据分析的复杂性、分析的效率要求也越来越高,该架构的弊端日益越发的明显,过于笨重、效率低下、维护成本高。
基于上述业务需求及痛点,我们开始了架构升级,这次选用了Apache Doris,在对 Apache Doris 进一步测试验证之后,我们完全摒弃了之前使用 Hadoop、Hive、Spark 体系建立的数仓,决定基于 Doris 对架构进行重构,以 Apache Doris 作为数仓主体进行开发。Apache Doris有着以下几大优点: ** 足够简单**
- 使用简单:Apache Doris 兼容 MySQL 协议,支持标准 SQL,有利于开发效率和共识统一,此外,Doris 的 ETL 编写脚本主要使用 SQL进行开发,使用 MySQL 协议登陆使用,兼容多数 MySQL 语法,提供丰富的数据分析函数,省去了 UDF 开发工作。
- 架构简单:Doris 的组件架构由 FE+BE 两类进程组成,不依赖其他系统,升级扩容非常方便,故障排查链路非常清晰,有利于运维成本的降低。
极速性能 Doris 依托于列式存储引擎、自动分区分桶、向量计算、多方面 Join 优化和物化视图等功能的实现,可以覆盖众多场景的查询优化,海量数据也能可以保证低延迟查询,实现分钟级或秒级响应。
极低成本 降本提效已经成为现如今企业发展的常态,免费的开源软件就比较满足我们的条件,另外基于 Doris 极简的架构、语言的兼容、丰富的生态等,为我们节省了不少的资源和人力的投入。并且 Doris 支持 PB 级别的存储和分析,对于存量历史数据较大、增量数据较少的公司来说,仅用 5-8 个节点就足以支撑上线使用。
Apache Doris的开发完美的解决了美联物业在数据处理的难题和痛点,同时 Apache Doris在用户画像和人群圈选场景的能力十分强悍,支持 Bitmap 等格式进行导入和转换,提供了丰富的 Bitmap 分析函数等。
Apache Doris 是全球最受技术人员认可的开源分析型数据库之一,在2022年6月正式成为 Apache 顶级项目。同时,Apache Doris 也是全球数据库与大数据领域最活跃的开源社区之一,聚集了数万开发者,成为人们交流数据库和大数据知识的宝地。
截至目前,全球有超过 4000 多家企业用户在使用 Apache Doris,覆盖数十个行业。在中国,市值或估值前 50 的互联网公司中,有超过 80% 在长期使用 Apache Doris。
SelectDB 是基于 Apache Doris 构建的现代化数据仓库, 支持大规模实时数据上的极速查询分析。SelectDB 的创始团队来自于原百度智能云初创人员和 Apache Doris 项目核心成员,公司 70% 员工为技术人员,且均来自于全球顶级数据库、云计算和互联网企业,拥有深厚的技术研发和服务经验。
SelectDB 作为新一代实时数仓的引领者,始终以追求更实时为目标,在宽表聚合和多表关联两个常用场景中都有非常优异的性能表现,查询速度做到了极致。2022年10月,SelectDB 以强悍的查询性能强势登顶全球分析型数据库测评榜单 ClickBench。