数据仓库

来源:互联网 发布:武汉干部网络培训学院 编辑:程序博客网 时间:2024/06/02 00:04

数据仓库之父 Bill Inmon将数据仓库定义为:“数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合。”经过 10多年的发展,Inmon 在技术发展及建设经验积累的基础上提出了数据仓库 2.0的概念。

DW2.0体现了对数据的精细化管理:非结构化数据的引入完善了数据仓库的大数据处理能力;将数据按时间划分为三部分,可以有针对性地实施不同的更新策略,支持数据仓库的流数据能力;数据仓库不再采用单一的存储技术构建,内部各部分可以采用适合的软硬件技术。著名咨询公司 Gartner也已经更新了对数据仓库的定义:“数据仓库是一种解决方案架构,可能由大量不同的技术组合而成。但其中最重要的是,任何供应商的产品或者产品组合必须具备通过开放存取工具访问受管文件或者表格的能力。

数据模型是通过抽象的实体及实体之间的联系来表示现实世界中事务的相互关系的一种映射。数据仓库模型是针对数据仓库应用系统的一种特定的数据模型。在研究方面,TeradataIBM推出了面向金融行业的数据仓库模型,如TeradataFS-LDMIBMBDWM模型。FS-LDM是统一的、共享的基础数据集合,为各级机构的业务需求提供一致的、规范的数据。FS-LDM按照银行业务主题域和第三范式建模规则来组织数据,如客户、产品、合约、事件等,可以涵盖银行的主要业务范围和相关数据。金融逻辑数据模型是构建征信数据模型的重要参考。

主流仓库包括事务型数据库、并行数据库( MPP)、数据仓库一体机。

事务型数据库

数据仓库兴起的早期,尚未出现专用数据仓库系统,业界采用传统的事务性关系型数据库构建数据仓库,如以OracleDB2数据库为存储核心的解决方案。通常采用数据库集群架构,也就是SMP( Symmetric Multi Processing) ,如 Oracle RAC。其特点是通过负载均衡技术平衡各数据库实例的资源,共享整个系统的内存和存储。当集群内服务器的数量达到一定规模后,增加服务器的数量对系统性能的提升已不明显。在业内,Yahoo数据仓库的结构化数据存储及淘宝结构化数据仓库采用Oracle RAC架构。

并行数据库

MPP是将任务并行分散到多个服务器节点上执行。与集群不同的是,每个服务器节点有独立的处理器、内存和存储;相比SMP而言,MPP是松耦合,各节点的配置也不要求完全相同,大大增加了系统的扩展性。基于MPP架构设计的数据库是专为大规模数据分析定制的数据库,代表产品是Greenplum数据库。

数据仓库一体机

数据仓库一体机是专为大量数据分析处理而设计的软硬件结合的产品。它由一组集成了服务器、存储、操作系统、数据库管理系统以及一些为数据仓库用途而特别预先安装的软件组成,企业无需额外购买和配置系统软硬件。一体机最大优势在于高性价比和易维护性。数据仓库领先企业Teradata认为,一体机的维护人员仅为传统方案的20%。除Teradata外,其他主流服务商也相应推出了产品,如IBM NetezzaEMC GreenplumOracle Exadata等。

从本质上来讲,数据库一体机与大数据技术的硬件架构基本相同,同样是采用x86服务器集群的分布式并行模式,以应对大规模的数据与计算。但是,数据库一体机的卖家们通常会对其产品的硬件体系进行面向产品化的、系统性的整体调优,同时也会有各自的特色手段。数据库一体机的核心是SQL体系,这不只是指SQL解析,更重要的是指包括SQL优化引擎、索引、锁、事务、日志、安全以及管理等在内的完整而庞大的技术体系。这一体系是成熟的、面向产品的。

数据库一体机往往适合于存储关系复杂的数据模型(例如企业核心业务数据),并且需要限制为基于二维表的关系模型。同时,数据库一体机适合进行一致性与事务性要求高的计算,以及复杂的BI计算。

数据库一体机优势如下。

传送更少的数据,数据查询过程被下移到智能存储层,传送到服务器中的数据只包括最相关的结果数据,显著的减少了发送到服务器的数据,从而减轻了服务器CPU负荷。提供更多的并发带宽,模块化存储单元CELL,高度并行的存储网格,带宽与容量成正。采用更高的单路带宽,提供更高的带宽,比高端阵列的光纤通道技术快5-8倍。提供更高的IO读写能力,智能Smart Flash Cache技术处理更多的IO读写请求。

数据库一体机提供超过5TB 的闪存。每智能存储服务器配置4块高速闪存卡。Smart Flash Cache缓存热数据,但不是采用简单的LRU算法。库逻辑感知,基于数据库数据使用逻辑,知道那些数据应该缓存,那些不应该缓存。允许基于应用表进行指定优化,如提示高优先级驻留于缓存。

存储索引在内存中保存表数据的汇总信息。存储列的MIN 和MAX 值。通常每MB 磁盘空间建立一个索引项。如果MIN 和MAX 值不匹配查询的“where”子句,则不访问磁盘I/O。完全地自动化和透明,不需要开发者创建及管。

通过把扫描处理从数据库中剥离,减少了数据库服务器的CPU负担,同时极大降低了无效的信息传输,仅仅传输需要的、有价值的信息。


0 0