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