一、OLTP和OLAP
OLTP的全称是 Online Transaction Processing, OLTP主要用传统的关系型数据库来进行事务处理。OLTP最核心的需求是单条记录的高效快速处理,索引技术、分库分表等最根本的诉求就是解决此问题。
OLAP的全称是 Online Analytical Processing,OLAP能够处理和统计大量的数据,不像OLTP数据库需要考虑数据的增删改查和并发控制等,OLAP数据一般只需要处理数据查询请求,数据导入批量导入的,因此通过列存储,列压缩和位图索引等技术可以大大加快响应请求的速度。
二、OLTP和OLAP数据的简单对比
三、数据仓库逻辑架构设计
离线数据仓库通常基于维度建模理论来构建,离线数据仓库通常从逻辑上进行分层,分词主要出于以下考虑:
1、隔离性:用户使用的应该是数据团队精心加工后的数据,而不是来自于业务系统的原始数据,这样做的好处一是,用户使用的是精心准备过的、规范的、干净的、从业务视角的数据。非常容易理解和使用。二是如果上游业务系统发生变革甚至重构(比如表结构、字段、业务含义等),数据团队会负责处理所有这些变化,最小化对下游用户的影响。
2、性能和可为维护性: 专业的人做专业的事,数据分层使得数据的加工基本都在数据团队,从而相同的业务逻辑不用重复执行,节省了相应的存储和计算开销。此外数据分层也使得数据仓库的维护变得清晰和便捷,每层只负责各自的任务,某层的数据加工出现问题,只需要修改该层即可。
3、规范性:对于一个公司和组织来说,数据的口径非常重要,大家谈论一个指标的时候,必须基于一个明确的、公认i的口径,此外表、字段以及指标必须进行规范。
4、ODS层:数据仓库源头系统的数据表通常会原封不动地存储一份,这称为ODS(Operation Data Store)层, ODS层也经常会被称为准备区(Staging area),它们是后续数据仓库层(即基于Kimball维度建模生成的事实表和维度表层,以及基于这些事实表和明细表加工的汇总层数据)加工数据的来源,同时ODS层也存储着历史的增量数据或全量数据。
5、DWD和DWS层:数据仓库明细层(Data Warehouse Detail , DWD)和数据仓库汇总层(Data Warehouse Summary, DWS)是数据仓库的主题内容。DWD和DWS层的数据是ODS层经过ETL清洗、转换、加载生成的,而且它们通常都是基于Kimball的维度建模理论来构建的,并通过一致性维度和数据总线来保证各个子主题的维度一致性。
6、应用层(ADS):应用层主要是各个业务放或者部门基于DWD和DWS建立的数据集市(Data Mart,DM),数据集市DM是相对于DWD和DWS的数据仓库(Data Warehouse, DW)来说的。一般来说,应用层的数据来源于DW层,但原则上不允许直接访问ODS层。此外,相比DW层,应用层只包含部门或因为方自己关心的明细层和汇总层数据。
以上就是数据仓库需要什么技术的详细内容,更多请关注php中文网其它相关文章!