Oracle的海量存储技术
下午去参加一个Oracle有关海量数据存储技术的培训讲座了。
地址在广州市林和西路101号天河区计经大楼西侧三楼。
培训发起机构为:广州中睿信息技术有限公司。
下面就简要总结一下所听到的一些东西,也算是学到的这些技术。不过有的东西不知道总结的对不对,暂且囫囵吞枣吧。
Oracle的存储技术
大体上分为两种,一种是合的技术,一种是分的技术。合的技术即将各个分层存储的数据整合在一起。分的技术即将数据分布式存储,也即到处存储。
而Oracle中采用了高可用性技术,在数据库的存储和优化方面涉及到如下的一些技术和技巧:
1) 分布式技术
2) Cache技术
3) Search技术
4) 数据库的范式设计
5) 数据库的OLTP与OLAP技术
6) 数据库SQL并行执行
有关数据的存储问题,有如下两个案例:
eBay是世界领先的电子商务服务商,它的海量数据存储方案其实采用的是读写剥离技巧。
如下图所示:
如上图所示,数据库写操作和读操作物理上分离开来,当写操作执行后,数据库Share Plex就多了一些写操作的记录,然后将更新的数据通知存储PC机。而读操作时,基于海量数据的负载均衡设备就通知那些存储机,读数据。
而Google的解决方案是:它采用自己的Google File System来存储文件,由BigTable来实现高速存储于查找,创建在GFS上,化整为零,分布在多台PC上,而这些PC机是容易更换的。
Oracle的数据库应用分类中,应用操作分两类,一类是基于响应时间,并发性操作处理等考虑的OLTP,另一类是基于吞吐量,管理分析等考虑的的OLAP。
海量数据的处理思路:海量数据的导入导出的最快思想史数据库数据导出成File形式,然后由File导入到另外一个数据库中,常用的技术为Load技术。如Oracle的SQL Loader工具,这款工具可以将其他应用程序导入到Oracle数据库中,并不一定是从Oracle导入到Oracle的数据库中。
在Oracle的应用解决方案中,它常用的大数据量处理技术有:SQL Loader工具,外部表,OCI和直接路径API,导入/导出,多表插入与合并,表函数,表空间传输技术。如有exp/imp、数据泵技术。下面详细介绍一下这些技术。
SQL Loader是将外部数据加载到Oracle数据库中,它包含一个功能十分强大的数据分析引擎,该引擎对数据文件中数据的格式几乎没有限制。
直接装载法是直接加载插入
相关文档:
GROUPING函数可以接受一列,返回0或者1。如果列值为空,那么GROUPING()返回1;如果列值非空,那么返回0。GROUPING只能在使用ROLLUP或CUBE的查询中使用。当需要在返回空值的地方显示某个值时,GROUPING()就非常有用。
关于ROLLUP和CUBE函数的使用,请参见我的另一篇文章。
http://blog.csdn.net/wh62592855/archive/2009/1 ......
表1:temp1
AA BB CC
1 1 1
1 1 2
1 1 3
表2:temp2
AA BB ......
索引( Index )是常见的数据库对象,它的设置好坏、使用是否得当,极大地影响数据库应用程序和Database 的性能。虽然有许多资料讲索引的用法, DBA 和 Developer 们也经常与它打交道,但笔者发现, ......
1.数学函数
①绝对值
l S:select abs(-1) value
l O:select abs(-1) value from dual
②取整(大)
l S:select ceiling(-001) value
l O:select ceil(-001) value from dual
③取整(小)
l S:select floor(-001) value  ......
关键字: oracle job 间隔时间 trunc
假设你的存储过程名为PROC_RAIN_JM
再写一个存储过程名为PROC_JOB_RAIN_JM
内容是:
Create Or Replace Procedure PROC_JOB_RAIN_JM Is li_jobno Number; &nb ......