数据仓库来源于它的前身数据库,是在数据库的基础上进行了改良。数据仓库拥有数据库的基本操作功能,比如新增、查询、删除和插入这些操作。数据仓库弱化了数据库锁的功能,它不支持锁定表、列的功能,等等。但是数据仓库技能的进阶仍是一个漫长的过程。这里将分为四个过程一步一步的阐述需要哪些方面的技术要求。
进阶路线一、开启数仓的技能
数据仓库建立是为了满足企业对数据的管理和使用的需求。企业的各个系统业务数据统一纳入数据仓库进行管理,并且统一接口提供给外部系统使用。企业的各个系统运行都要从数据仓库中获取必要的数据,并将数据回传回数据仓库。
建立的数据仓库能够管理企业主要业务系统的核心数据,比如:管理客户信息、订单信息和供货商信息等。数据仓库统一管理是为了避免因各系统管理各自的数据带来数据无法共享也无法被分析使用的问题。
此外,数据仓库需为核心系统提供数据。比如:订单系统需要客户关系信息,订单系统就要从数据仓库中获取客户关系的数据。根据上面的阐述,归纳出数据仓库建立的四个非常重要的基本功能。
基础功能1.1管理大量数据的能力。在数据仓库技术以前TB(万亿字节)和PB(千万亿字节)这样的术语不为人所知,数据容量以GB来度量。因为数据仓库中混合存储细节和历史数据,数据量急剧地膨胀。所以对于数据仓库来说,第一个也是最重要的技术需求就是能够管理大量的数据。
1.2.管理多种介质的能力。数据仓库按数据量和数据的访问频率不同的两个因素,将数据存储于不同性能的存储介质上。所以数据仓库需要有能力管理好这些存储介质的能力。
1.3.轻松容易地索引和监视数据。数据仓库快速地对外提供数据是最重要的一个功能,轻松地建立索引是提高数据访问速度最直接的方法。同时数据仓库也需要对数据进行有效的监控,可以及时发现数据仓库的问题并进行解决。
1.4.提供多种数据传输技术的接口。数据仓库另一个非常重要的问题是能够用各种不同的技术接收和传送数据。数据从操作型环境和ODS中传入数据仓库,从数据仓库传入数据集市,这个过程必须是流畅且容易进行的。
完成以上四步一个简单的数据仓库就可以运行起来了,可以应付整个企业庞大的数据并为各个业务系统提供核心数据。但是要建立一个好的数据仓库还需要对数据仓库进行良好的管理,我们还需要以下技能。
二、数仓青铜圣斗士的技能
数据仓库应该是一个灵活的平台,且能够监控数据的来龙去脉。灵活的平台体现在,当用户提出不断变化的需求数据仓库都能应付。并且数据仓库的数据来自企业的多个系统,管理好数据的来龙去脉就可以对数据进行溯源,确保数据的高可信度。
数据仓库管理功能2.1.允许设计者/开发者在块/页的级别上以一种最佳形式决定数据的物理存放位置。往往在数据仓库建立之初,设计者面对的是模糊的需求,建立完成的数据仓库可以允许设计者对数据的存储进行调整。
2.2.能够并行管理数据。包涵了两层意思,a)对请求的并发访问进行控制。数据仓库同时接入多个系统同步过来的数据,且同时服务于多个系统。因数据仓库对外提供服务要防止请求拥塞,数据仓库需要对请求的并发访问进行控制。b)对数据的并行管理。因为数据存储在数据仓库中的多个数据库,并行管理好每一个数据库的数据才可以为业务系统提供稳定的服务。
2.3.很好的元数据控制。元数据描述数据仓库中数据的来龙去脉,比如:当需要使用人力数据,可以通过元数据中的描述,找到元数据的来源的相关信息,并进行人力数据获取。值得注意的是元数据有多种形式,一种形式是业务元数据,另一种是技术元数据。业务元数据就是对业务人员有价值的元数据。技术元数据就是对技术人员有价值的元数据。
2.4.数据仓库要有多种语言接口。数据仓库的建设是为多种工作性质的人员使用,为了方便他们的操作,数据仓库需要为每一种工作性质角色提供专属接口。比如:部门经理只需要看到本部门员工信息,而公司总经理需要看整个公司的员工信息。还如:为网站调用提供Restful风格的接口,为桌面程序提供基于SOAP协议的接口。
到此我们可以让数据仓库有效地服务于各个业务系统,而且可以管理整个数据仓库。不过,数据仓库不仅包涵建设阶段还包含优化阶段,数据仓库运行中需要不断的优化整个数据仓库,以下是一些优化方法。
三、数仓白银圣斗士的技能
数据仓库能够管理同步业务系统数据,为业务系统提供服务,已经初具功能。下面介绍一些优化技术点。
需要调优的功能3.1.能够高效地装载数据仓库。数据仓库载入数据有两种方式:通过接口一次载入一条记录,或者使用工具批量地装载,这两种方式最为常见。这里介绍另一种特殊情况下使用的高效装载大量数据的方法,在装载之前先对数据进行缓冲处理。比方说两个数据源要进行合并之后才能进入数据仓库,数据源A在早上九点就生成了,但是,必须和来自数据源B的数据相合并,然而,来自源B的数据在下午6点才能到达。这种情况下,在处理数据之前,将数据源A的数据放入缓冲区等待数据源B的到来。完成数据源A和数据源B的融合之后,再将数据装载到数据仓库中。
3.2.有效地使用索引。索引是为了高效访问数据,数据仓库快速地创建索引,并且可以将索引装载到内存中,并快速地对索引进行扫描。比如:数据A和B,他们数据量相差不大,A数据建立索引常驻内存,B数据的索引存放在磁盘上,当然数据A的访问速度要快于B。
3.3.能够以压缩的方式存放数据。对数据的压缩是为了存放更多的数据,数据量特别大的情况下采用数据快照的方式对数据进行压缩是比较常用的方式。
3.4.支持复合健码。复合主键在数据仓库中随处可见,比如:在民航领域中,通常通过航班号和航班日期来确定航班信息。
到此我们已经知道一些初步的数据仓库优化方法,但对于很多系统运行依赖于数据仓库,更佳稳定的服务于业务系统非常重要,我们还需要补充以下技能。
四、数仓黄金圣斗士的技能
这个阶段的数据仓库能够管理变长数据、能够按照需要使用锁,可以有效地应付不同数据库和不同使用场景的挑战。而且当数据仓库崩溃的时候可以快速的从备份的介质上恢复。
提升数据仓库稳定运行需要的功能点4.1.有效地管理变长数据。数据仓库中数据的多样性,必须支持数据的变长结构。
4.2.能够按照需要开启和关闭锁管理程序。加锁管理确保没有两个或两个以上的用户在同一时刻对同一条记录进行更新。加锁非常消耗资源,所以对加锁管理需要有一个可以有效地打开或关闭的控制。
4.3.能够进行单独索引处理。在某些情况下只查看一个索引或一些索引,用不着查看数据就可以满足某些请求。
4.4.能够从一批介质是上将数据快速、完全地恢复。可以快速的将二级设备上存储的备份数据进行恢复。不仅能恢复全部数据库,还能恢复部分数据库。这个在数据仓库崩溃恢复非常重要。
到这个步骤,整个数据仓库可以高效稳定地支撑整个企业的运行。
小结
数据仓库作为企业的基础平台需高效且稳定的运行。因为基础平台服务于企业的各个业务系统,它能不能够正常运行会影响非常多的关联系统。当数据仓库具有上面的功能对稳定高效的运行是很好的保证。
数据仓库建立和优化过程中还需要增加很多其它功能。我们这里只分享了数据仓库的一些主要的基础功能和后期优化主要功能。希望在实践中能不断的总结进步交流分享。
网友评论