ODS和数据仓库建设规划

合集下载

数据仓库的构建和数据分析方法

数据仓库的构建和数据分析方法

数据仓库的构建和数据分析方法随着互联网技术的飞速发展,如今各个行业都在不断积累着大量的数据。

如何进行这些数据的有效分析,已经成为各个公司和组织不可或缺的一部分。

数据仓库的构建和数据分析方法,是帮助企业和组织有效处理大数据,解决业务问题的关键。

一、数据仓库的构建在数据仓库的构建中,最为关键的一步是数据清洗。

这一步是为了在将数据存入数据仓库之前,对数据进行清理和标准化,以确保数据的正确性和一致性。

在此过程中,重要的工具包括ETL (抽取,转换,加载)工具,数据质量管理工具以及元数据管理工具等。

在数据清洗完成之后,数据就可以被存入数据仓库中。

数据仓库的构建过程中,可以选择不同的技术和架构来实现。

例如,企业数据仓库技术(EDW)可以用于大规模的企业级数据仓库,而Hadoop生态系统则可以用于构建大规模的分布式数据仓库。

不同的组织和企业,将面临着不同的数据仓库构建需求。

通过了解数据仓库的构建流程和不同的技术架构,可以帮助企业和组织有效地将数据存储到数据仓库中,并确保数据的质量和易于管理。

二、数据分析方法在数据仓库构建完成后,数据分析的过程也变得更加容易。

下面介绍几种广泛使用的数据分析方法:1. 大数据分析大数据分析是利用大量的数据进行分析、开发和总结的过程。

大数据分析可以帮助企业和组织挖掘出隐藏在海量数据中的价值和潜力,驱动业务增长和创新。

大数据分析常用的技术包括Hadoop MapReduce、Apache Spark、Hive等技术。

2. BI分析BI(Business Intelligence)分析是指利用数据仓库中的数据,通过分析和可视化工具帮助企业和组织更好地理解企业和市场信息,分析趋势和模式,并制定出改进策略。

BI分析包括的主要技术及工具包括ETL、OLAP(联机分析处理)、数据挖掘、报表及仪表板。

3. 预测分析预测分析是利用数据仓库中的历史数据,查找趋势并预测未来的事件。

预测分析可以帮助企业和组织制订出长期的业务策略。

数据仓库(五)——ODS层

数据仓库(五)——ODS层

数据仓库(五)——ODS层1)保持数据原貌不做任何修改,起到备份数据的作⽤。

2)数据采⽤LZO压缩,减少磁盘存储空间。

100G数据可以压缩到10G以内。

3)创建分区表,防⽌后续的全表扫描,在企业开发中⼤量使⽤分区表。

4)创建外部表。

在企业开发中,除了⾃⼰⽤的临时表,创建内部表外,绝⼤多数场景都是创建外部表。

第⼀章1.1 创建⽇志表1)创建⽀持lzo压缩的分区表(1)建表语句hive (gmall)>drop table if exists ods_log;CREATE EXTERNAL TABLE ods_log (`line` string)PARTITIONED BY (`dt` string) -- 按照时间创建分区STORED AS -- 指定存储⽅式,读数据采⽤LzoTextInputFormat;INPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'LOCATION '/warehouse/gmall/ods/ods_log' -- 指定数据在hdfs上的存储位置;(2)分区规划2)加载数据hive (gmall)>load data inpath '/origin_data/gmall/log/topic_log/2020-06-14' into table ods_log partition(dt='2020-06-14');注意:时间格式都配置成YYYY-MM-DD格式,这是Hive默认⽀持的时间格式3)为lzo压缩⽂件创建索引[atguigu@hadoop102 bin]$ hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-lzo-0.4.20.jar pression.lzo.DistributedLzoIndexer /warehouse/gmall/ods/ods_log/dt=2020-06-141.2 Shell1)在/home/atguigu/bin创建⼀个test.sh⽂件[atguigu@hadoop102 bin]$ vim test.sh在⽂件中添加如下内容#!/bin/bashdo_date=$1echo '$do_date'echo "$do_date"echo "'$do_date'"echo '"$do_date"'echo `date`2)查看执⾏结果[atguigu@hadoop102 bin]$ test.sh 2020-06-14$do_date2020-06-14'2020-06-14'"$do_date"2020年 06⽉ 18⽇星期四 21:02:08 CST3)总结:(1)单引号不取变量值(2)双引号取变量值(3)反引号`,执⾏引号中命令(4)双引号内部嵌套单引号,取出变量值(5)单引号内部嵌套双引号,不取出变量值1.3 ODS1)编写脚本(1)在hadoop102的/home/atguigu/bin⽬录下创建脚本[atguigu@hadoop102 bin]$ vim hdfs_to_ods_log.sh在脚本中编写如下内容#!/bin/bash# 定义变量⽅便修改APP=gmall# 如果是输⼊的⽇期按照取输⼊⽇期;如果没输⼊⽇期取当前时间的前⼀天if [ -n "$1" ] ;thendo_date=$1elsedo_date=`date -d "-1 day" +%F`fiecho ================== ⽇志⽇期为$do_date ==================sql="load data inpath '/origin_data/$APP/log/topic_log/$do_date' into table ${APP}.ods_log partition(dt='$do_date');"hive -e "$sql"hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-lzo-0.4.20.jar pression.lzo.DistributedLzoIndexer /warehouse/$APP/ods/ods_log/dt=$do_date(1)说明1:[ -n 变量值 ] 判断变量的值,是否为空-- 变量的值,⾮空,返回true-- 变量的值,为空,返回false注意:[ -n 变量值 ]不会解析数据,使⽤[ -n 变量值 ]时,需要对变量加上双引号(" ")(2)说明2:查看date命令的使⽤,date --help(3)增加脚本执⾏权限[atguigu@hadoop102 bin]$ chmod 777 hdfs_to_ods_log.sh2)脚本使⽤(1)执⾏脚本[atguigu@hadoop102 module]$ hdfs_to_ods_log.sh 2020-06-14(2)查看导⼊数据第⼆章ODS层业务表分区规划如下ODS层业务表数据装载思路如下2.1DROP TABLE IF EXISTS ods_activity_info;CREATE EXTERNAL TABLE ods_activity_info(`id` STRING COMMENT '编号',`activity_name` STRING COMMENT '活动名称',`activity_type` STRING COMMENT '活动类型',`start_time` STRING COMMENT '开始时间',`end_time` STRING COMMENT '结束时间',`create_time` STRING COMMENT '创建时间') COMMENT '活动信息表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_activity_info/';2.2DROP TABLE IF EXISTS ods_activity_rule;CREATE EXTERNAL TABLE ods_activity_rule(`id` STRING COMMENT '编号',`activity_id` STRING COMMENT '活动ID',`activity_type` STRING COMMENT '活动类型',`condition_amount` DECIMAL(16,2) COMMENT '满减⾦额',`condition_num` BIGINT COMMENT '满减件数',`benefit_amount` DECIMAL(16,2) COMMENT '优惠⾦额',`benefit_discount` DECIMAL(16,2) COMMENT '优惠折扣',`benefit_level` STRING COMMENT '优惠级别') COMMENT '活动规则表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_activity_rule/';2.3DROP TABLE IF EXISTS ods_base_category1;CREATE EXTERNAL TABLE ods_base_category1(`id` STRING COMMENT 'id',`name` STRING COMMENT '名称') COMMENT '商品⼀级分类表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_base_category1/';2.4DROP TABLE IF EXISTS ods_base_category2;CREATE EXTERNAL TABLE ods_base_category2(`id` STRING COMMENT ' id',`name` STRING COMMENT '名称',`category1_id` STRING COMMENT '⼀级品类id') COMMENT '商品⼆级分类表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_base_category2/';2.5DROP TABLE IF EXISTS ods_base_category3;CREATE EXTERNAL TABLE ods_base_category3(`id` STRING COMMENT ' id',`name` STRING COMMENT '名称',`category2_id` STRING COMMENT '⼆级品类id') COMMENT '商品三级分类表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'2.6DROP TABLE IF EXISTS ods_base_dic;CREATE EXTERNAL TABLE ods_base_dic(`dic_code` STRING COMMENT '编号',`dic_name` STRING COMMENT '编码名称',`parent_code` STRING COMMENT '⽗编码',`create_time` STRING COMMENT '创建⽇期',`operate_time` STRING COMMENT '操作⽇期') COMMENT '编码字典表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_base_dic/';2.7DROP TABLE IF EXISTS ods_base_province;CREATE EXTERNAL TABLE ods_base_province (`id` STRING COMMENT '编号',`name` STRING COMMENT '省份名称',`region_id` STRING COMMENT '地区ID',`area_code` STRING COMMENT '地区编码',`iso_code` STRING COMMENT 'ISO-3166编码,供可视化使⽤',`iso_3166_2` STRING COMMENT 'IOS-3166-2编码,供可视化使⽤') COMMENT '省份表'ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_base_province/';2.8DROP TABLE IF EXISTS ods_base_region;CREATE EXTERNAL TABLE ods_base_region (`id` STRING COMMENT '编号',`region_name` STRING COMMENT '地区名称') COMMENT '地区表'ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_base_region/';2.9DROP TABLE IF EXISTS ods_base_trademark;CREATE EXTERNAL TABLE ods_base_trademark (`id` STRING COMMENT '编号',`tm_name` STRING COMMENT '品牌名称') COMMENT '品牌表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_base_trademark/';2.10DROP TABLE IF EXISTS ods_cart_info;CREATE EXTERNAL TABLE ods_cart_info(`id` STRING COMMENT '编号',`user_id` STRING COMMENT '⽤户id',`sku_id` STRING COMMENT 'skuid',`cart_price` DECIMAL(16,2) COMMENT '放⼊购物车时价格',`sku_num` BIGINT COMMENT '数量',`sku_name` STRING COMMENT 'sku名称 (冗余)',`create_time` STRING COMMENT '创建时间',`operate_time` STRING COMMENT '修改时间',`is_ordered` STRING COMMENT '是否已经下单',`order_time` STRING COMMENT '下单时间',`source_type` STRING COMMENT '来源类型',`source_id` STRING COMMENT '来源编号') COMMENT '加购表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_cart_info/';2.11DROP TABLE IF EXISTS ods_comment_info;CREATE EXTERNAL TABLE ods_comment_info(`id` STRING COMMENT '编号',`user_id` STRING COMMENT '⽤户ID',`sku_id` STRING COMMENT '商品sku',`spu_id` STRING COMMENT '商品spu',`order_id` STRING COMMENT '订单ID',`appraise` STRING COMMENT '评价',`create_time` STRING COMMENT '评价时间') COMMENT '商品评论表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_comment_info/';2.12DROP TABLE IF EXISTS ods_coupon_info;CREATE EXTERNAL TABLE ods_coupon_info(`coupon_type` STRING COMMENT '购物券类型 1 现⾦券 2 折扣券 3 满减券 4 满件打折券', `condition_amount` DECIMAL(16,2) COMMENT '满额数',`condition_num` BIGINT COMMENT '满件数',`activity_id` STRING COMMENT '活动编号',`benefit_amount` DECIMAL(16,2) COMMENT '减⾦额',`benefit_discount` DECIMAL(16,2) COMMENT '折扣',`create_time` STRING COMMENT '创建时间',`range_type` STRING COMMENT '范围类型 1、商品 2、品类 3、品牌',`limit_num` BIGINT COMMENT '最多领⽤次数',`taken_count` BIGINT COMMENT '已领⽤次数',`start_time` STRING COMMENT '开始领取时间',`end_time` STRING COMMENT '结束领取时间',`operate_time` STRING COMMENT '修改时间',`expire_time` STRING COMMENT '过期时间') COMMENT '优惠券表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_coupon_info/';2.13DROP TABLE IF EXISTS ods_coupon_use;CREATE EXTERNAL TABLE ods_coupon_use(`id` STRING COMMENT '编号',`coupon_id` STRING COMMENT '优惠券ID',`user_id` STRING COMMENT 'skuid',`order_id` STRING COMMENT 'spuid',`coupon_status` STRING COMMENT '优惠券状态',`get_time` STRING COMMENT '领取时间',`using_time` STRING COMMENT '使⽤时间(下单)',`used_time` STRING COMMENT '使⽤时间(⽀付)',`expire_time` STRING COMMENT '过期时间') COMMENT '优惠券领⽤表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_coupon_use/';2.14DROP TABLE IF EXISTS ods_favor_info;CREATE EXTERNAL TABLE ods_favor_info(`id` STRING COMMENT '编号',`user_id` STRING COMMENT '⽤户id',`sku_id` STRING COMMENT 'skuid',`spu_id` STRING COMMENT 'spuid',`is_cancel` STRING COMMENT '是否取消',`create_time` STRING COMMENT '收藏时间',`cancel_time` STRING COMMENT '取消时间') COMMENT '商品收藏表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_favor_info/';2.15DROP TABLE IF EXISTS ods_order_detail;CREATE EXTERNAL TABLE ods_order_detail(`id` STRING COMMENT '编号',`order_id` STRING COMMENT '订单号',`sku_id` STRING COMMENT '商品id',`sku_name` STRING COMMENT '商品名称',`order_price` DECIMAL(16,2) COMMENT '商品价格',`sku_num` BIGINT COMMENT '商品数量',`create_time` STRING COMMENT '创建时间',`source_type` STRING COMMENT '来源类型',`source_id` STRING COMMENT '来源编号',`split_final_amount` DECIMAL(16,2) COMMENT '分摊最终⾦额',`split_activity_amount` DECIMAL(16,2) COMMENT '分摊活动优惠',`split_coupon_amount` DECIMAL(16,2) COMMENT '分摊优惠券优惠') COMMENT '订单详情表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_order_detail/';2.16DROP TABLE IF EXISTS ods_order_detail_activity;CREATE EXTERNAL TABLE ods_order_detail_activity(`id` STRING COMMENT '编号',`order_id` STRING COMMENT '订单号',`order_detail_id` STRING COMMENT '订单明细id',`activity_id` STRING COMMENT '活动id',`activity_rule_id` STRING COMMENT '活动规则id',`sku_id` BIGINT COMMENT '商品id',`create_time` STRING COMMENT '创建时间') COMMENT '订单详情活动关联表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '/warehouse/gmall/ods/ods_order_detail_activity/';2.17DROP TABLE IF EXISTS ods_order_detail_coupon;CREATE EXTERNAL TABLE ods_order_detail_coupon(`id` STRING COMMENT '编号',`order_id` STRING COMMENT '订单号',`order_detail_id` STRING COMMENT '订单明细id',`coupon_use_id` STRING COMMENT '优惠券领⽤记录id',`sku_id` STRING COMMENT '商品id',`create_time` STRING COMMENT '创建时间') COMMENT '订单详情活动关联表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'LOCATION '/warehouse/gmall/ods/ods_order_detail_coupon/';2.18DROP TABLE IF EXISTS ods_order_info;CREATE EXTERNAL TABLE ods_order_info (`id` STRING COMMENT '订单号',`final_amount` DECIMAL(16,2) COMMENT '订单最终⾦额',`order_status` STRING COMMENT '订单状态',`user_id` STRING COMMENT '⽤户id',`payment_way` STRING COMMENT '⽀付⽅式',`delivery_address` STRING COMMENT '送货地址',`out_trade_no` STRING COMMENT '⽀付流⽔号',`create_time` STRING COMMENT '创建时间',`operate_time` STRING COMMENT '操作时间',`expire_time` STRING COMMENT '过期时间',`tracking_no` STRING COMMENT '物流单编号',`province_id` STRING COMMENT '省份ID',`activity_reduce_amount` DECIMAL(16,2) COMMENT '活动减免⾦额',`coupon_reduce_amount` DECIMAL(16,2) COMMENT '优惠券减免⾦额',`original_amount` DECIMAL(16,2) COMMENT '订单原价⾦额',`feight_fee` DECIMAL(16,2) COMMENT '运费',`feight_fee_reduce` DECIMAL(16,2) COMMENT '运费减免') COMMENT '订单表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'LOCATION '/warehouse/gmall/ods/ods_order_info/';2.19DROP TABLE IF EXISTS ods_order_refund_info;CREATE EXTERNAL TABLE ods_order_refund_info(`id` STRING COMMENT '编号',`user_id` STRING COMMENT '⽤户ID',`order_id` STRING COMMENT '订单ID',`sku_id` STRING COMMENT '商品ID',`refund_type` STRING COMMENT '退单类型',`refund_num` BIGINT COMMENT '退单件数',`refund_amount` DECIMAL(16,2) COMMENT '退单⾦额',`refund_reason_type` STRING COMMENT '退单原因类型',`refund_status` STRING COMMENT '退单状态',--退单状态应包含买家申请、卖家审核、卖家收货、退款完成等状态。

[数据仓库]分层概念,ODS,DM,DWD,DWS,DIM的概念

[数据仓库]分层概念,ODS,DM,DWD,DWS,DIM的概念

[数据仓库]分层概念,ODS,DM,DWD,DWS,DIM的概念前⾔:不是做数仓的,但是也需要了解数仓的知识。

其实分层好多因⼈⽽异,问了同事好多分层的区别也不是很清晰。

所以后续有机会还是跟数仓的同事碰⼀下吧~⼀. 各种名词解释1.1 ODS是什么?ODS层最好理解,基本上就是数据从源表拉过来,进⾏etl,⽐如mysql 映射到hive,那么到了hive⾥⾯就是ods层。

ODS 全称是 Operational Data Store,操作数据存储.“⾯向主题的”,数据运营层,也叫ODS层,是最接近数据源中数据的⼀层,数据源中的数据,经过抽取、洗净、传输,也就说传说中的 ETL 之后,装⼊本层。

本层的数据,总体上⼤多是按照源头业务系统的分类⽅式⽽分类的。

但是,这⼀层⾯的数据却不等同于原始数据。

在源数据装⼊这⼀层时,要进⾏诸如去噪(例如有⼀条数据中⼈的年龄是300 岁,这种属于异常数据,就需要提前做⼀些处理)、去重(例如在个⼈资料表中,同⼀ ID 却有两条重复数据,在接⼊的时候需要做⼀步去重)、字段命名规范等⼀系列操作。

1.2 数据仓库层DW?数据仓库层(DW),是数据仓库的主体.在这⾥,从 ODS 层中获得的数据按照主题建⽴各种数据模型。

这⼀层和维度建模会有⽐较深的联系。

细分:1. 数据明细层:DWD(Data Warehouse Detail)2. 数据中间层:DWM(Data WareHouse Middle)3. 数据服务层:DWS(Data WareHouse Servce)1.2.1 DWD明细层?明细层(ODS, Operational Data Store,DWD: data warehouse detail)概念:是数据仓库的细节数据层,是对STAGE层数据进⾏沉淀,减少了抽取的复杂性,同时ODS/DWD的信息模型组织主要遵循企业业务事务处理的形式,将各个专业数据进⾏集中,明细层跟stage层的粒度⼀致,属于分析的公共资源数据⽣成⽅式:部分数据直接来⾃kafka,部分数据为接⼝层数据与历史数据合成。

数据仓库开发规范

数据仓库开发规范

01数据层次的划分具体仓库的分层情况需要结合业务场景、数据场景、系统场景进行综合考虑,下面我们看一下常见的分层•ODS:Operational Data Store,操作数据层,在结构上其与源系统的增量或者全量数据基本保持一致。

它相当于一个数据准备区,同时又承担着基础数据的记录以及历史变化。

其主要作用是把基础数据引入到数仓。

•CDM:Common Data Model,公共维度模型层,又细分为DWD和DWS。

它的主要作用是完成数据加工与整合、建立一致性的维度、构建可复用的面向分析和统计的明细事实表以及汇总公共粒度的指标。

▪DWD:Data Warehouse Detail,明细数据层。

▪DWS:Data Warehouse Summary,汇总数据层。

•ADS:Application Data Service,应用数据层。

02数据分类架构该数据分类架构在ODS层分为三部分:数据准备区、离线数据和准实时数据区。

在进入到CDM层后,由以下几部分组成:•公共维度层:基于维度建模理念思想,建立整个企业的一致性维度。

•明细粒度事实层:以业务过程为建模驱动,基于每个具体业务过程的特点,构建最细粒度的明细层事实表。

您可以结合企业的数据使用特点,将明细事实表的某些重要维度属性字段做适当的冗余,即宽表化处理。

•公共汇总粒度事实层:以分析的主题对象为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表,以宽表化手段来物理化模型。

03数据划分及命名约定请根据业务划分数据并约定命名,建议针对业务名称结合数据层次约定相关命名的英文缩写,这样可以给后续数据开发过程中,对项目空间、表、字段等命名做为重要参照。

数据划分•按业务划分:命名时按主要的业务划分,以指导物理模型的划分原则、命名原则及使用的ODS project。

•按数据域划分:命名时按照CDM层的数据进行数据域划分,以便有效地对数据进行管理,以及指导数据表的命名。

浅析数据库(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系

浅析数据库(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系

浅析数据库(DB)、操作数据存储(ODS)和数据仓库(D W)的区别与联系文章背景:相信大部分刚接触上面三个概念的同学,都多多少少会有些迷惑,现在我就给大家简单分析下这三者的关系,希望大家对这三者的概念理解有所帮助吧。

本文主要从下面两类关系来叙述上面三者的关系:1. 数据库(DB)和数据仓库(DW)的区别与联系2. 操作数据存储(ODS)和数据仓库(DW)的区别与联系数据库与数据仓库的区别与联系数据库与数据仓库基础概念:数据库:传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。

数据仓库:数据仓库系统的主要应用主要是OLAP(On-Line Analytical Proces sing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

OLTP和OLAP概念补充:数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction proc essing)、联机分析处理OLAP(On-Line Analytical Processing)。

OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。

OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作;OLAP 系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。

举一个具体的例子:(转自知乎作者:陈诚),个人觉得例子描述的很清晰举个最常见的例子,拿电商行业来说好了。

基本每家电商公司都会经历,从只需要业务数据库到要数据仓库的阶段。

第一阶段,电商早期启动非常容易,入行门槛低。

找个外包团队,做了一个可以下单的网页前端+ 几台服务器+ 一个MySQL,就能开门迎客了。

这好比手工作坊时期。

第二阶段,流量来了,客户和订单都多起来了,普通查询已经有压力了,这个时候就需要升级架构变成多台服务器和多个业务数据库(量大+分库分表),这个阶段的业务数字和指标还可以勉强从业务数据库里查询。

XX银行操作型数据存储ODS项目方案介绍

XX银行操作型数据存储ODS项目方案介绍

数据服务体系
客户关系管理;精准营销管理;数据挖掘及建模
基于银行的现有数据仓库或数据平台系统、呼叫中心及电子银行等的电销营销历史数据,互联网数据,以客户为中心,从基本信息、资产信息、交易行为信息、客户关系以及营销历史几大方面反映客户在银行的全貌。采用SAS分析工具对客户进行分析并分层,探索具有营销价值的客户群体,并建立各种预测模型从而提升营销成功率;实现营销目标客户名单、推荐产品的精准推送、执行、结果反馈与评估的闭环管理。
中间业务平台、金融产品代理平台、资产管理平台
资金类
内部资金管理、资金交易系统
渠道类
客户信息交互平台、移动银行、柜面系统
创新类
电子账户综合管理平台、实时营销平台
案例分享
典型客户
BRM
银行资源管理BRM(Bank Resources Management),以“一切皆资源”为理念(人、财、产品、渠道、客户、供应商、合作伙伴) 为银行构建真正“资源管理与调度型”新一代银行整体架构与模型;使得银行的经营理念回归到: 利润 = 收益(销售为核心)- 成本(高效运营) – 风险(有效管控)
核心团队
骨干团队
技术团队
20年+的行业领军人物; 15年+的从业工作经验; 10年+软件服务从业经验; 主体具有海外工作经验;
业务知识丰富的行业技术专家; 丰富项目管理经验的骨干团队; 市场反应迅捷的高层次商务人才; 多数骨干成员拥有海外工作背景;
拥有海外工作背景的员工超过10%, 大学本科及以上技术团队成员构成;
银行资源管理BRM(Bank Resources Management)为银行业务系统建设提供咨询规划、模型设计、系统开发、 维护升级等全方位服务,他将银行内部资源(人力资源、财务资源、产品资源、渠道资源)和外部资源(客户、供应商、合作伙伴)整合统一管理,提高银行整体运营&营销效率,最大程度上满足客户需求。

数据仓库规范

数据仓库规范

数据仓库规范一.数据仓库层次结构规范1.1 基本分层结构系统的信息模型从存储的内容方面可以分为,STAGE接口信息模型、ODS/DWD信息模型,MID信息模型、DM信息模型、元数据信息模型。

在各个信息模型中存储的内容如下描述:1) SRC接口层信息模型:提供业务系统数据文件的临时存储,数据稽核,数据质量保证,屏蔽对业务系统的干扰,对于主动数据采集方式,以文件的方式描述系统与各个专业子系统之间数据接口的内容、格式等信息。

与该模型对应的数据是各个专业系统按照该模型的定义传送来的数据文件。

STAGE是生产系统数据源的直接拷贝,由ETL过程对数据源进行直接抽取,在格式和数据定义上不作任何改变。

与生产系统数据的唯一不同是,STAGE层数据具有时间戳。

STAGE层存在的意义在于两点:(1)对数据源作统一的一次性获取,数据仓库中其他部分都依赖于STAGE层的数据,不再重复进行抽取,也不在生产系统上作运算,减小生产系统的压力;(2)在生产系统数据已经刷新的情况下,保存一定量的生产系统的历史数据,以便在二次抽取过程中运算出错的情况下可以进行回溯。

2) ODS/DWD层(对应原模型的ODS和DW层)信息模型:简称DWD层是数据仓库的细节数据层,是对STAGE层数据进行沉淀,减少了抽取的复杂性,同时ODS/DWD的信息模型组织主要遵循企业业务事务处理的形式,将各个专业数据进行集中。

为企业进行经营数据的分析,系统将数据按分析的主题的形式存放,跟STAGE层的粒度一致,属于分析的公共资源。

3) MID 信息模型:轻度综合层是新模型增加的数据仓库中DWD层和DM层之间的一个过渡层次,是对DWD层的生产数据进行轻度综合和汇总统计。

轻度综合层与DWD的主要区别在于二者的应用领域不同,DWD的数据来源于生产型系统,并为满足一些不可预见的需求而进行沉淀;轻度综合层则面向分析型应用进行细粒度的统计和沉淀。

4) DM信息模型:为专题经营分析服务,系统将数据按分析的专题组织成多维库表的形式存放,属于分析目标范畴的数据组织与汇总,属于分析的专有资源。

ODS在数据仓库中的应用

ODS在数据仓库中的应用

运营数据存储(The operational data store, ODS)或称操作型数据存储是一个面向主题的、集成的、当前的并且是可"挥发"的数据集合,它反映了在某一个时间切片瞬间,经营分析系统和外围系统(BOSS、MIS...)用以相互交换数据的集合,主要用于经营分析系统与外围系统关键数据一致性校验、以及经营分析系统对其它外围系统的决策支持数据的回馈,回馈数据包括以客户扩展属性为主体的详细资料等。

运营数据存储扮演的是用于数据稽核与交互的角色。

ODS 的存储结构是以企业范围所有相关业务系统的数据,以全面、统一进行关系型实体来体现的,ODS中的数据是基于分析主题进行组织,而不是基于业务系统的功能进行组织。

ODS只是存储了当前的数据且数据是“挥发”性的,因此其数据的刷新是很快,过期的数据将要被挥发掉。

因此ODS的存储量取决于业务接口数据的抽取与刷新频率,取决于企业的服务客户的数量。

从ODS的作用和实现来说,ODS将各个孤立的业务系统的运营数据集成起来,现成全企业的统一数据视图,同时可实现ODS的数据共享。

ODS数据稽核功能是根据ODS参与工作的实际情况建立相应的ODS,并控制其权限。

ODS数据稽核主要涵盖下面的内容:界定关键数据稽核的项别与内容、获取数据稽核所需数据、稽核所需数据完整性、数据稽核报告的存储和稽核数据的更正等过程。

ODS数据交互的价值体现在经营分析系统高度综合数据向其它外围系统的回流。

如果从安全上考虑,回流数据的格式可以采用文本的方式,用户只需登入经营分析系统网站,切入ODS数据交互应用,下载文本即可,如果指定上载路径, ODS数据交互程序调度模块自动在指定周期,把预定义的内容上载到指定路径。

但如果从实现的方便、快捷、可维护性考虑可以采用数据库方式,即外围系统与经营分析系统之间相互约定好数据提供格式,可以由外围系统根据需要,以应用程序的方式登入到经营分析系统ODS数据库,直接把ODS 的高度综合数据导入到自己的数据库系统。

数据仓库中ODS、DW与DM之间关系

数据仓库中ODS、DW与DM之间关系

数据仓库中ODS、DW与DM之间关系在数据仓库架构中ODS(操作数据存储)、DW(数据仓库)和DM(数据集市)是不同的层次。

它们之间有明显的区别,并且相互协作来支持数据管理和分析,具体详见下图:接下来分别对ODS、DW和DM进行详细介绍。

ODS介绍ODS是操作性数据(Operational Data Store) 简称:操作性数据存储。

ODS是数据仓库中的一个中间层,它主要用于将源系统的数据进行整合和转换,但并不进行复杂的分析或聚合。

ODS 旨在保留源系统数据的完整性,支持实时或接近实时的数据访问和操作。

它通常包含原始数据和经过简单处理的数据。

特征如下:●ODS直接存放从业务抽取过来的数据,这些数据从结构和数据上与业务系统保持一致,降低了数据抽取的复杂性。

●转移一部分业务系统的细节查询功能,因为ODS存放的数据与业务系统相同,原来有业务系统产生的报表,现在可以从ODS中产生。

●完成数据仓库中不能完成的功能,ODS存放的是明细数据,数据仓库DW或数据集市DM都存放的是汇聚数据,ODS提供查询明细的功能。

●ODS数据只能增加不能修改,而且数据都是业务系统原样拷贝,所以可能存在数据冲突的可能,解决办法是为每一条数据增加一个时间版本来区分相同的数据。

DW介绍DW是数据仓库(Data Warehouse)的简称:DW是一个经过专门处理和优化的数据存储区域,用于支持复杂的分析、查询和报告。

DW采用了不同的数据模型(如星型模型或雪花模型)和聚合技术,以提供快速的决策支持和报表功能。

DW具有历史数据存储、集成和标准化数据等特点,可以满足企业级的数据分析需求。

特征如下:●效率足够高,要对进入的数据快速处理。

●数据质量高,数据仓库是提供很多决策需要的数据支撑,DW的数据应该是唯一的具有权威性的数据,企业的所有系统只能从DW取数据,所以需要定期对DW里面的数据进行质量审,保证DW里边数据的唯一、权威、准确性。

●扩展性,企业业务扩展和降低企业建设数据仓库的成本考虑●面向主题,数据仓库中的数据是按照一定的主题域进行组织的,每一个主题对应一个宏观的分析领域,数据仓库排除对决策无用的数据,提供特定主题的简明视图。

浅谈CTG-MBOSS之ODS建设思路

浅谈CTG-MBOSS之ODS建设思路
ex ou di g n h nal e t e o t ct o t u t h t o r p n n a d as a ys d h c ns ru i n of ho gh t at he p ati al at s or ho e bui d h c ri d e on d a t e us l s as ar e ou i Ve i ti n an di c si n. T p er o t e e t n st ga o d s us o he ap t ok h r ali y t of un on Ji ng te ec m i a xi l o muni at on b nc c mp n c i ra h o a y an br g f wa mor p gm d ou ht or rd e ra ati co tr cti me ho . c ns u on t d ’
维普资讯


X Zh u en
( 南昌电信分公司 ,南 昌 3 0 0 ) 3 0 0
(a c ag T lc m u i a in B a c o p n ,N n hn 3 0 0 ) N n h n e e om n c t o r nh C m a y a c a g 3 0 0
子,其 中功能和技术架构明确了 C C M OS要实现的业务功 Tr B S -
能,它通过基础平台和 EA( D 中国电信企业数据架构 ) 集成 , 了 MS( S 管理 支撑系统 ) S 业务 支撑 系统 ) S ( 、BS( 、OS 运营 支撑系统 ) 三类电信企业 I 系统 , T 规范 了集团 、 省公司、 地 市分公司三级建设单位的系统建设目 标及范围,为信息化规 划和建设提供了依据 ;管控架构则明确 了 I 建设与维护流 T 程、I规划流程 、 T T I 推进模式、I供应商管理、I 组织, T T 它 对 I 建设与运 维流程 中的立 项、 T 招投标 、 开发、 测试 、 后评 估等关键环节进行有效管控。 这两者之 问通过企业的管理运 营架构 、 业务流程 、 信息数据和应用系统构成 MD 方法论来 PS

数据仓库建设思路整理

数据仓库建设思路整理

数据仓库建设思路整理1.建设背景:目前我行数据缺失、历史数据查询困难、各部门数据提取依赖SQL 脚本实时查询而效率低下、正确性不高等问题。

在这种背景下我行数据仓库建设显得尤为重要。

2.数仓系统功能模型:当前同业主流数据仓库系统功能模型大体如图1.0所示:图1.0主要分以下几个模块:源数据:主要是下发的核心业务、ECIF、信贷系统、财务系统,支付系统等数据以及第三方提供并为我行使用的数据。

FTP服务器:主要负责接下发数据或通过调用接口等形式获取第三方源数据文件。

文件卸载区:负责从FTP服务器获取当前需要更新到数据仓库的数据。

文件备份区:负责将进入数据仓库的数据文件进行备份管理。

ODS(Operational Data Store):操作型数据存储,仅对源数据增加源系统和数据日期作为区分存储起来。

可以用于明细和流水等原始记录查询。

FDS(Fundational Data Strore):基础数据存储,按客户、存款、贷款、公共、银行卡、总账、中间业务、渠道八个主题对数据进行汇总和计算。

IDS(Integrated Data Store):集成数据存储,对数据按客户维、账户维、时间维、机构维、产品维等维度对数据进行集成。

应用系统:主要负责展示、分析和使用数据仓库数据。

数据仓库管理平台:主要负责作业调度,元数据管理,系统监控等功能。

3.数据仓库技术模型:根据数据仓库个模块的不同特性总结各层级所用到的技术或者软件如下图2.0所示:图3.0上图每层实现技术区分商业和开源实现方案,其中商业软件性能好、服务支持好,但是因为都是国外大型公司产品,产品价格高;而开源方案在性能方面不如商业软件,同时需要投入较多较多时间,人力进行整合。

建设过程中可以结合数据规模,数据储存时间,实际访问需求量等方面综合考虑,采用不同的技术实现方案。

中国联通的集中数据库建设-ODS

中国联通的集中数据库建设-ODS

面向中国联通的集中数据库建设方案背景分析迈入3G时代以来,随着全业务运营的开展以及三网融合业务的启动,进一步加剧了电信业的市场竞争。

新形势要求通过支撑集中化发挥全网优势,实现资源的有效配置,最大限度的发挥资源价值。

站在全国一盘棋角度的准确的数据分析、快速的市场响应、复杂多变的业务提供、统一的客户感知成为运营商的核心竞争力。

系统集中,数据先行,集中化支撑系统的建设离不开集中数据库的建设。

总体建设方案建设的总体思路是:首先重新规划联通数据资源,优先满足管理透明方面的要求,逐步形成专业的应用,为经营分析系统提供唯一的数据源,为今后系统的集中打好基础,其次通过搭建联通的全业务服务接口架构,建设两级互动的联通一体化生产运营机制,形成全业务、全渠道、全客户的销售能力,形成一体化产品的发布和动态管理能力,形成统一集中的业务资源管理及动态调配能力。

建设方案基于统一的数据模型和编码,将分散在总部、省分各生产系统中异构的客户、产品、资源、代理商、SP / CP、清单/账单等业务和交易数据准实时地同步、转换/映射、整合进集团集中数据库,形成全集团核心业务数据的统一视图,逐步搭建佣金计算、积分管理、业务/客户收入分摊、SP / CP结算等集团集中应用,实现业务/收入的透明管控,提升全网服务的能力。

实现生产数据库、全网集中数据库、用于数据决策分析的DSS数据库三级架构模式。

省分数据库存放各自省分的客户、产品、业务资源、订购、合作伙伴、渠道、组织权限、账单、详单、欠费等数据;集中数据库是基于准实时数据同步机制的全客户、全业务、全渠道的操作数据存储,提供统一整合的数据视图,实现全网数据分析与稽核。

集中数据库的数据规划分为OLAP共享库、私有数据库、ODS库和历史数据库。

OLTP共享库分为SID和ABM,SID存放客户、产品、业务资源、订购、合作伙伴、渠道、组织权限等各系统所使用的共有数据;ABM存放共享余额和计划量数据;私有数据库存放各系统为保障运营支撑的非共享数据;ODS是基于准实时数据同步机制的全客户、全业务、全渠道的操作数据存储,针对多应用的数据分布环境,提供统一整合的数据视图,并可有效分担生产系统负荷;历史库存放各类历史数据,包括账单、详单、客户接触历史及历史日志。

数据仓库建设规范(文档版)

数据仓库建设规范(文档版)

数据仓库建设规范(⽂档版)1 概述本⽂档制定了XX数据仓库中数据库对象的命名规范(⽤户、表、视图、存储过程、函数、表分区、主键、索引、序列等)、数据库编程规范,JAVA编程规范为系统设计和开发⼯作提供统⼀的命名标准,提⾼系统的规整性和代码的可读性,减轻维护⼯作量,提⾼⼯作效率。

2 数据库对象命名规范2.1 层次划分序号模型层次⽤途1ODS存放来⾃各个系统的原始数据;2DW根据业务分析需求,对主题域内的数据进⾏轻度汇总;3DM建⽴跨域的业务主题模型;4DIM统⼀服务于数据中⼼的参数表;5APP应⽤层,⽤于⽣成报表6XX XX数据层级按照⾃⼰数据仓库规划的命名即可~2.2 表、视图、存储过程、函数命名规范<对象类型><_模型层次><_主题><_对象描述>[_汇总类型][_存储类型]说明:<> 尖括号中的内容为必须项,适⽤于所有⽤户层对象,[] ⽅括号中的内容为可选项,会因⽤户层及对象的不同⽽不同命名约束:数据库对象命名可能受最⼤长度限制,因此在实际命名中如果按照规范约定的命名⽅式存在超长的现象,需要开发⼈员灵活控制。

2.2.1 对象类型<对象类型><_模型层次><_主题域><_对象描述>[_汇总类型][_存储类型]。

适⽤范围:所有⽤户层对象。

对象类型对象说明TB TABLE表VW VIEW视图………………2.2.2 模型层次<对象类型><_模型层次><_主题域><_对象描述>[_汇总类型][_存储类型]说明:对象属性⼀般为对象归属⽤户的简写。

适⽤范围:所有⽤户层对象。

可以参照⾃⼰的对象属性命名规范,对此不要求统⼀。

模型层次说明ODS获取层,存放从各个源系统接收的原始数据;DW 根据业务分析需求,对数据进⾏汇总,应⽤分析原则优先访问DW层,其次DWD层,不允许访问ODS层;DM建⽴跨域的业务主题模型;DIM维表APP报表层,根据DM模型数据⽣成报表。

操作数据存储(ODS)和数据集市(详解)

操作数据存储(ODS)和数据集市(详解)

1 1.2
ODS的定义和特点 的定义和特点 ODS的定义 ODS的定义
ODS定义 定义
ODS是Operational Data Store的简称,翻译成操作数据存储。 是 的简称, 的简称 翻译成操作数据存储。 ODS是数据仓库体系结构的一部分,可以根据需要选择是否采 是数据仓库体系结构的一部分, 是数据仓库体系结构的一部分 用ODS。 。 它具备数据仓库的部分特征和OLTP的部分特征。 的部分特征。 它具备数据仓库的部分特征和 的部分特征 ODS是一个面向主题的、集成的、可变的、当前的细节数据集 是一个面向主题的、 细节数据集 是一个面向主题的 集成的、可变的、当前的细节 用于支持企业对于即时性的、操作性的、 即时性的 合,用于支持企业对于即时性的、操作性的、集成的全局信息的 需求。常常被作为数据仓库的过渡。 需求。常常被作为数据仓库的过渡。 作为一个中间层次,它既不是联机事务处理, 作为一个中间层次,它既不是联机事务处理,也算不上高层决策 分析, 的一种新的数据环境, 分析,是不同于 DB 的一种新的数据环境,是数据仓库扩展后得 到的一个混合形式。 到的一个混合形式。 ODS支持对数据的联机修改 支持对数据的联机修改——增、删与更新等操作 支持对数据的联机修改 增
徐俊刚
(xujg@)
2009年 2008年 2009年9月——2008年11月 2008 11月
第3章 操作数据存储(ODS)和数据集市 章 操作数据存储( )
ODS的定义和特点 1. ODS的定义和特点 DB-ODS-DW体系结构 2. DB-ODS-DW体系结构 建立ODS 3. 建立ODS 4. ODS案例 ODS案例 5. 数据集市的定义 6. 数据集市的特点 7. 数据集市与数据仓库的区别 8. 数据集市的类型 9. 数据集市的开发方法 10.数据集市的实施

大型数据仓库项目ODS层的系统设计

大型数据仓库项目ODS层的系统设计

大数据 云计算数码世界 P.86大型数据仓库项目ODS层的系统设计韩庆安 珠海世纪鼎利科技股份有限公司摘要:互联网发展到今天,传统的管理系统、企业化平台已经不再是IT行业的主流。

随着管理者对数据重要性的认识的转变,大数据已深入到互联网、金融、电商、生产、零售等各行各业。

大数据将来必然会影响人类生产、生活的方方面面。

数据仓库以大规模数据的存储为目标,其中包括数据的转储、抽取和清洗等工作。

ODS层建设的好与坏,直接影响到业务层对数据的分析和展现。

关键字:大数据 ODS一、什么是ODSODS(Operational Data Store),可操作的数据存储。

是数据仓库体系结构中的不可缺少的一个部分,是存储整个数据仓库的数据的地方,是元数据经过ETL抽取,再到OLAP分析库的中转枢纽。

可以这样通俗的理解:ODS就是把一线的生产数据经过抽取、整理、清洗等一系列操作,归纳成一个相对完整、相对封闭的数据存储仓库。

ODS的构成并不是一个数据库或者一个文件服务器,应该是一系列数据库以及文件服务器的总称。

二、如何设计一个具体的ODS层对于系统架构设计师来说,任何一个系统的设计工作,都要建立在对业务需求的亲身调查的基础上,传统的应用软件如此,大型的数据仓库项目也应如此。

俗话说:没有调查,就没有发言权。

这种调查应该是方方面面的,甚至在一些问题上要精确到具体的业务场景的,比如元数据的特点、数据抽取的频率,上层OLAP系统对ODS层数据结构的要求等等。

结合实际调查具体项目特点的基础上,ODS层的设计,可以总结为以下几个方面:1.数据库的选取ODS层的数据来源可以定义为上层的生产数据,也就是整个系统的元数据。

生产数据比较原始,数据的结构、数据的类型以及数据的产生频率都是由现场生产的特点决定的。

比如电力系统的发电数据,主汽温度、汽轮机转速、二次风出口温度等,这样的数据在第一手生产数据系统里,通常是有实时数据库或者内存数据库完成采集,数据的组织比较杂乱,必须经过ETL工具经过抽取、清洗等操作,才能进入数据仓库,也就是ODS层。

数据仓库建设方案详细

数据仓库建设方案详细

第1章数据仓库建设1.1数据仓库总体架构专家系统接收增购项目车辆TCMS或其他子系统通过车地通信传输的实时或离线数据,经过一系列综合诊断分析,以各种报表图形或信息推送的形式向用户展示分析结果。

针对诊断出的车辆故障将给出专家建议处理措施,为车辆的故障根因修复提供必要的支持。

根据专家系统数据仓库建设目标,结合系统数据业务规,包括数据采集频率、数据采集量等相关因素,设计专家系统数据仓库架构如下:数据仓库架构从层次结构上分为数据采集、数据存、数据分析、数据服务等几个方面的容:数据采集:负责从各业务自系统中汇集信息数据,系统支撑Kafka、Storm、Flume及传统的ETL采集工具。

数据存储:本系统提供Hdfs、Hbase及RDBMS相结合的存储模式,支持海量数据的分布式存储。

数据分析:数据仓库体系支持传统的OLAP分析及基于Spark常规机器学习算法。

数据服务总线:数据系统提供数据服务总线服务,实现对数据资源的统一管理和调度,并对外提供数据服务。

1.2数据采集专家系统数据仓库数据采集包括两个部分容:外部数据汇集、部各层数据的提取与加载。

外部数据汇集是指从TCMS、车载子系统等外部信息系统汇集数据到专家数据仓库的操作型存储层(ODS);部各层数据的提取与加载是指数据仓库各存储层间的数据提取、转换与加载。

1.2.1外部数据汇集专家数据仓库数据源包括列车监控与检测系统(TCMS)、车载子系统等相关子系统,数据采集的容分为实时数据采集和定时数据采集两大类,实时数据采集主要对于各项检测指标数据;非实时采集包括日检修数据等。

根据项目信息汇集要求,列车指标信息采集具有采集数据量大,采集频率高的特点,考虑到系统后期的扩展,因此在数据数据采集方面,要求采集体系支持高吞吐量、高频率、海量数据采集,同时系统应该灵活可配置,可根据业务的需要进行灵活配置横向扩展。

本方案在数据采集架构采用Flume+Kafka+Storm的组合架构,采用Flume和ETL工具作为Kafka的Producer,采用Storm作为Kafka的Consumer,Storm可实现对海量数据的实时处理,及时对问题指标进行预警。

ODS质量设计管理系统的设计

ODS质量设计管理系统的设计

ODS质量设计管理系统的设计一、ODS质量设计管理系统的概述1. 系统设计的目的和意义ODS质量设计管理系统是为了提高建筑项目的设计质量而设计的。

随着建筑行业的快速发展和市场竞争的日益激烈,设计质量的重要性日益凸显。

因此,通过建立高效、规范的ODS质量设计管理系统,将能够有效提高设计质量,保障建筑工程的安全、可靠、节能、环保等要求。

2. 系统架构与流程ODS质量设计管理系统的架构主要包含管理平台、用户平台、知识库、评审平台和检测平台等。

系统的设计流程主要包括规划、设计、评审和检测过程。

3. 系统的优点及应用ODS质量设计管理系统具有操作简便、功能完备、灵活性强、适应性好等特点,可广泛应用于各类建筑项目的设计工作中。

二、ODS质量设计管理系统的技术支持1. 设计理念ODS质量设计管理系统的设计理念主要包括标准化、规范化、自动化和智能化等关键技术。

2. 数据库设计ODS质量设计管理系统的数据库设计应采用合理的数据结构和规范的数据库设计方法,同时需要保证系统的可扩展性、安全性和维护性。

3. 系统集成ODS质量设计管理系统需要与其他相关系统进行集成,实现数据共享、流程协同等功能。

4. 技术的创新ODS质量设计管理系统需要不断地进行技术创新和优化,以满足用户不断变化的需求。

三、ODS质量设计管理系统的项目实施1. 组织架构设计建立有效的组织架构是成功实施ODS质量设计管理系统的重要保证。

需要通过制定规章制度、明确职责分工、设置专业团队等方式,确保系统的有效实施。

2. 人员培训与管理系统实施过程中,需要对相关人员进行培训和管理,以确保系统的顺利运行和有效使用。

3. 数据库建设数据库的建设是ODS质量设计管理系统实施的关键环节。

需要通过信息采集、数据处理、数据分析等手段,建设完备、规范的系统数据库。

4. 系统测试与验收系统测试与验收是确保ODS质量设计管理系统高效运行的重要一环。

需要通过完善的测试方案和严格的测试流程,确保系统的质量和稳定性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档