准备
当表中的数据量不断增大,超过1G时,你们怎么办
1GB约等于多少数据量
约等于1000万
你们项目的体量是多大
小银行一般是GB级别,大的可能会1,2TB
建立分区表,建立索引,建立拉链表
表空间和临时表空间区别
Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间,可自动释放;
而表空间中存储表数据、函数、过程、序列等。是随数据库永久存在的。
分区表如何创建
create table testRANGE
(
v_date date,
v_month varchar2(6),
v_day varchar2(8),
client_no varchar2(4),
fee number
)
partition by range(v_date)
(
partition p_201712 values less than (to_date('2018/01/01 00:00:00','yyyy/mm/dd HH24:mi:ss')),
partition p_201801 values less than (to_date('2018/02/01 00:00:00','yyyy/mm/dd HH24:mi:ss')),
partition p_201802 values less than (to_date('2018/03/01 00:00:00','yyyy/mm/dd HH24:mi:ss')),
partition p_201803 values less than (to_date('2018/04/01 00:00:00','yyyy/mm/dd HH24:mi:ss'))
);
分区表的优点
最主要的目的提高效率
分区表的类型
范围分区,列分区,哈希分区
为什么要用表
oracle数据库存储的最小对象就是表
没有表就不能存储数据
关键字,主键,索引,同义词等等都是建立在表之上
写存储过程时用的表多点,还是用的视图多一点
表和视图都有再用,在贴源层和基础层用的比较多,用于存储数据
视图用于汇总层,这样更方遍
还有给下游系统提供数据的时候,用视图
视图有哪些?视图的优点有那些
简单视图,只读视图
优点
控制数据访问、简化查询、避免重复访问相同的数据
限制用户只能通过视图检索数据,用户看不到底层基表
数据的采集方式
一般可以分为增量和全量,同步和异步
增量:采集数据截止到昨天新增有变化的数据,必须要有增量字段
全量:采集截止到今天0点之前的,所有数据
同步:直接到服务器做采集
异步:一般是到银行的中间服务器做采集
项目是怎么做的
相关问题
架构是什么架构
项目是什么样的
您好,我之前参与的是信贷管理系统项目,
项目的整体流程分为贴源层,标准化层,基础层,主题层,应用层
主要操作内容是通过kettle工具将甲方提供的源数据,拷贝到我们自己的贴源层,
或者使用shell脚本将中间服务器上的数据获取到我们的贴源层
在这同时我们也会进行备份
然后通过kettle工具或者通过存储过程,进行标准化数据格式和清洗脏数据,将数据保存到标准化层
按照一定的业务逻辑,将数据分类,形成基础数据,比如有客户,存款,贷款,银行卡,总账,中间业务,渠道等,形成基础层,并整理mapping映射
然后根据需求,会做一些维度的汇总,有客户汇总,账户汇总,时间汇总机构汇总等,形成主题层
最后使用通过报表工具进行数据的展示,主要使用的是帆软报表
你在项目中扮演了什么角色
你做了那些工作
我主要参与的是,源数据获取,标准化数据,基础层数据汇总
报表怎么做的
用的是报表工具,finereport
首先要连接到数据库,
重点是准备数据,比如按月汇总,要按时间维度做汇总,加工
我做的是风险的,不良贷款,存贷比,贷款余额,存款余额显示
行专列怎么做
SQL> select year,
2 max(case month when 1 then amount end) m1,
3 max(case month when 2 then amount end) m2,
4 max(case month when 3 then amount end) m3,
5 max(case month when 4 then amount end) m4
6 from a group by year;
YEAR M1 M2 M3 M4
---- ---------- ---------- ---------- ----------
1991 1.1 1.2 1.3 1.4
1992 2.1 2.2 2.3 2.4
ods干些什么
ods是数据仓库体系结构中的一个可选部分,ods具备数仓的部分特征和oltp系统的部分特征
是面向主题的,集成的,不断变化的数据
用过那些报表
润乾、帆软、永洪
数据建模的方法
参与过,用的是工具PowerDesigner
也可以回答星形模型和雪花模型的区别
星形模型和雪花模型的区别
星形模型,是非正规化的结构,数据有一定的冗余,不用考虑正规化的因素,设计实现相对简单
雪花模型,减少了数据冗余,效率不一定有星形模型高,结构设计,数据的etl,和后期维护都相对复杂些
存储过程测试步骤
存储过程单击右键,选择test,然后debug调试
说说拉链表
记录数据在某一时间内的状态的数据存储方式,
也是应需求而产生的技术解决方案
流程
先建立一个临时表,用来存放转换,处理后的数据
再建立一个临时表,用来存放对比出来的增量数据
修改目标表,进行关联更新操作
修改目标表,进行开链插入操作
假如有一个job突然失败了,那么你第一时间应该先去看哪里?
首先看job history,看具体的错误信息,根据这个信息决定如何去解决问题
如果再etl中有自定义的日志输出,那么再去看自定义日志的内容
假如一个job本来应该在凌晨两点跑完的,但是早上上班的时候发现还没有跑完,接下来会怎么做?
没有按时间完成,及时停掉,查看日志
这么久的延迟最有可能是阻塞,kill掉阻塞的进程
接到用户抱怨说一个报表运行的很慢,如何处理?
,查看执行计划
先跑一下这个报表,重现一下运行缓慢的现象。然后可以通过执行计划看看到底是卡在了哪条查询,把查询单独拿出来进行进一步分析和优化。
常用的分析函数如下所列:
count() over(partition by ... order by ...)
max() over(partition by ... order by ...)
min() over(partition by ... order by ...)
sum() over(partition by ... order by ...)
avg() over(partition by ... order by ...)
first_value() over(partition by ... order by ...)
last_value() over(partition by ... order by ...)
row_number() over(partition by ... order by ...)
rank() over(partition by ... order by ...)
dense_rank() over(partition by ... order by ...)
lag() over(partition by ... order by ...)
lead() over(partition by ... order by ...)
名词解释
1.商业智能(BI)
又称商业智慧或商业智能,指用现代数据仓库技术(DW)、联机分析处理技术(OLAP),数据挖掘和数据展现技术进行数据分析以实现商业价值。
2.数据仓库(DW)
一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合。用于支持管理决策。
3.联机分析处理(OLAP)
支持复杂的分析技术操作,侧重决策支持,提供多维的概念试图。
4.数据挖掘(DM)
又称为数据库中的知识发现,从数据库中的大量数据中揭示出隐含的,先前未知的并有潜在价值的信息的非平凡过程。
自我介绍
您好,首先感谢贵公司能在百忙之中给我这次面试的机会,谢谢
我叫***,家住,在学校毕业实习是加入到这一行业来,在这一年多时间中提升了专业技术技能,丰富了业务知识
现在能够很好的完成领导交代的任务,让我们项目顺利的完成
而贵公司无疑是这一行业的佼佼者,对我来说是一个很好的平台
我也非常渴望能成为其中的一员
如果有幸获聘,会和同事们团结奋斗,勤奋工作,和公司共同进步
我的介绍完毕,谢谢
加班的看法
干我们这行的哪有不加班的,有时为了项目进度流程加班是正常的,是可以接受的
只要自己工作效率够高,加班情况也是不太多了
加班可以学习到更多的东西,花更少的时间,补齐自己的短板
优点和缺点
优点:
不拖拉,交给自己的任务会尽快完成
适应环境能力较强
缺点
喜欢宅在家里,偶尔玩游戏
社交能力相对较差
对自己从事工作存在的困难,自己琢磨的多,向同事或领导请教的少
对行业的看法
马云早前所说,我们正从IT时代走向DT时代
还没搞清移动互联网的时候,大数据时代来了。
职业规划
目前规划是dba这条路线
由于个人比较宅,喜欢没事钻研一些技术问题.感觉这个路线会比较适合自己
在工作中遇到的困难
之前刚进项目的时候因为工作经验的欠缺,在技术上的一些问题无法及时解决,
例如调试存储过程时间较长,kettle工具使用没有那么熟练
在对业务的流程关系熟练后这些相应的问题就解决了
如果你被录用了,但工作一段时间你发现和你想象的不符
现实和理想是有差距的,我会努力去适应这份工作,
让自己做出改变
工作本身也是一个去不断适应的过程