zoukankan      html  css  js  c++  java
  • Oracle的海量存储技术

    下午去參加一个Oracle有关海量数据存储技术的培训讲座了。

    地址在广州市林和西路101号天河区计经大楼西側三楼。

    培训发起机构为:广州中睿信息技术有限公司。

     

    以下就简要总结一下所听到的一些东西,也算是学到的这些技术。只是有的东西不知道总结的对不正确,暂且囫囵吞枣吧。

     

    Oracle的存储技术

    大体上分为两种,一种是合的技术,一种是分的技术。合的技术即将各个分层存储的数据整合在一起。分的技术即将数据分布式存储,也即到处存储。

     

    Oracle中採用了高可用性技术,在数据库的存储和优化方面涉及到例如以下的一些技术和技巧:

    1)  分布式技术

    2)  Cache技术

    3)  Search技术

    4)  数据库的范式设计

    5)  数据库的OLTPOLAP技术

    6)  数据库SQL并行运行

     

    有关数据的存储问题,有例如以下两个案例:

    eBay是世界率先的电子商务服务商,它的海量数据存储方案事实上採用的是读写剥离技巧。

    例如以下图所看到的:

     

     

     

     

     

    如上图所看到的,数据库写操作和读操作物理上分离开来,当写操作运行后,数据库Share Plex就多了一些写操作的记录,然后将更新的数据通知存储PC机。而读操作时,基于海量数据的负载均衡设备就通知那些存储机,读数据。

     

    Google的解决方式是:它採用自己的Google File System来存储文件,由BigTable来实现快速存储于查找,创建在GFS上,化整为零,分布在多台PC上,而这些PC机是easy更换的。

     

    Oracle的数据库应用分类中,应用操作分两类,一类是基于响应时间,并发性操作处理等考虑的OLTP,还有一类是基于吞吐量,管理分析等考虑的的OLAP

     

    海量数据的处理思路:海量数据的导入导出的最快思想史数据库数据导出成File形式,然后由File导入到另外一个数据库中,经常使用的技术为Load技术。如OracleSQL Loader工具,这款工具能够将其它应用程序导入到Oracle数据库中,并不一定是从Oracle导入到Oracle的数据库中。

     

    Oracle的应用解决方式中,它经常使用的大数据量处理技术有:SQL Loader工具,外部表,OCI和直接路径API,导入/导出,多表插入与合并,表函数,表空间传输技术。如有exp/imp、数据泵技术。以下具体介绍一下这些技术。

     

    SQL Loader是将外部数据载入到Oracle数据库中,它包括一个功能十分强大的数据分析引擎,该引擎对数据文件里数据的格式差点儿没有限制。

     

    直接装载法是直接载入插入可用于在同一数据库中从一个表向还有一个表复制数据,此方法是直接绕过数据库缓存。

     

    使用外部表装载数据,是先创建文件夹并授权,然后创建一个外部表,这种方法用得常见了。

     

    Oracle还支持多表插入技术。可将数据插入到多个目标表中,或依据特殊的业务转换规则,将数据插入多个可能的目标表中的一个。这样的技术特别有助于数据的插入。海量数据有时候须要分别插入到多个表中,或者按条件插入,这样的技术是非常管用的。參考OracleInsert all语法。

     

    Merge功能,海量数据另一个需求,要求有Merge功能,这样的需求来源于两笔数据须要进行合并操作。OracleMerge功能会将有差异的表更新数据,缺少的记录插入到表中。

     

    表函数,也称为管道表,管道函数。在ETL处理中,数据在被装载到数据仓库之前,通常须要经过一系列的转换,复杂的转换通常在数据库外部或者内部,以过程的方式实现,如存储过程,oracle 9i提供了管道和并行运行的方式,实现复杂的转换,无需中间存储表。

     

    可移动表空间。为了将数据从一个数据库移动到还有一个数据库中,採用移动表空间的技术是很好的。直接复制操作系统文件,不须要作数据的卸载和装载,Oracle 9i内保证同样数据块大小的限制被消除,数据泵等工具来实现。这样的工具可跨平台实现。“表空间交换分区”???

     

    实体化视图(物化视图)

    Oracle在下列三种情况使用物化视图:

    1)  决策支持或者数据仓库,含聚集操作的本地MV

    2)  分布式处理时,含DBLink的分布式MV

    3)  移动计算领域中。

     

     

    流复制技术

    这样的技术是未来传输数据的趋势。数据库操作中流行一句话:能不用游标的不用游标,能不用触发器的不用触发器。在9i中有高级复制功能与此类似,在10g中则真正实现了流复制技术,它是基于传输日志文件到外部系统,而不是传输大量数据到外部系统,来与外部系统保持数据的一致性的。

     

    整个培训讲座就讲这么多,过多技术,我也不便在此总述,先自己想好好研究一下数据库的这些知识。有的须要总结,有的须要新学。

     

     

     

     

     

  • 相关阅读:
    POJ 题目1145/UVA题目112 Tree Summing(二叉树遍历)
    车牌号
    小程序开发 标题新闻
    小程序开发 轮播
    小程序开发
    App phonegap
    Jquery Cookie操作
    App 添加权限
    App WebView实例化
    Vue 组件化
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4004088.html
Copyright © 2011-2022 走看看