検索
ORACLE 分析系统OLAP设计思想Jun 07, 2016 pm 03:50 PM
ooracle分析するシステムデザイン思考サメ

ORACLE 的原来设计是基于事务型的,对处理分析型的就不地道了.最近的发展ORACLE相关技术开发都逐步适应OLAP的需求. 1 分区技术 2 压缩技术 3索引组织表 4 大块 5并行技术 6内存结果集. 原来的ORACLE设计基础是短小精悍的大规模并发事务. 而甲骨文凭借这一点占

  

 ORACLE 的原来设计是基于事务型的,对处理分析型的就不地道了.最近的发展ORACLE相关技术开发都逐步适应OLAP的需求.

1 分区技术 2 压缩技术  3索引组织表 4 大块 5并行技术 6内存结果集.

原来的ORACLE设计基础是短小精悍的大规模并发事务. 而甲骨文凭借这一点占领了大部分数据库市场份额.微软的SQLSERVER以它的综合型,友好型和简单易用型占领了中小企业市场.

要设计个ORACLE 10G分析系统,不能选择默认安装法.连机器的存储也不能按OLTP的思维.

基于目前的RAC技术 它是为了OLTP的高可用型而设计的.不适合分析系统的驻留的机器系统. ORACLE 还没有IBM的分库数据库,可以水平无限扩展.

选择一台分析系统的服务器,基本上是RAID0+RAID5+SSD  大内存+多CPU的单台机器.

选择SSD固态硬盘主要是用于分析即时型很强的报表需求. 而RAID0主要存储1个月的数据,这个基本上是很频繁访问的数据报表需求. RAID5或者RAID10等主要存储历史数据了.

大内存主要用于做GROUP BY 运算, 多CPU用户并行查询.

 

分析系统的分层设计. 分层设计主要是把数据逐步的融缩精华.提供比较多的灵活型.

1 数据同步层, 设置个用户和模式 DATA_synch 主要从各个数据源中获取数据到该用户模式下.表空间 DATA_DAY,DATA_MON,DATA_HIS 三个时间段的空间.

2 数据拆分和汇总. 设置个用户和模式 data_split_sum  主要从源数据提取出部分字段的表,和从中提取时间等粒度的表,或者提取出部分用户的表.

   比如活跃用户表

3 报表结果层: data_result 这一层主要存放最终想要的数据.

  这三层可以在同一台数据库中,也可以安放在不同的机器上

 ORACLE 分析系统OLAP设计思想

表空间设计: 分为数据和索引表空间 同时在分为 SSD,RAID0 RAID5空间:ssd_index,ssd_data,raid0_index,raid0_data,raid5_index,raid5_data

注意把重要的表,重要的运算涉及到表,以及即时性要求高的表,领导每天要的表 放在SSD表空间中.

数据同步重要的放进SSD表空间中,其他的不重要的放进RAID0表空间里去. 超过一个月上的数据存进历史表空间.

 所有的表要考虑做成索引组织表,因为组织表是有序存放的.   SSD还是存放的是日和周级别的重要表,可以采用原来的堆组织表.

RAID0表空间存放当月的数据,因此可以采用非压缩式索引组织表,块空间FREE为0-10 主要看该表的数据更新周期,也就是说稳定时间.比如说该表的数据从外面拖过来后,下一天再拖数据过来要修改前天数据的值.这就是稳定周期.如果硬盘空间有多余的话 可以再设个RAID0_DAY表空间,把那些需要一定时间才稳定下来的表存放此处.等它稳定后才同步到月表空间里去.这样块的FREE可以设置为0.

RAID5空间的表设计 要分区,双分区,压缩,索引组织表,块FREE为0.毕竟这个空间主要存放超过一个月上的历史数据.

 最后所有的表的块应该设计为64KB-128KB

开发中使用并行技术 /*+paraller(4)*/  

内存表: with _as 共用一张内存数据

ORACLE 分析系统OLAP设计思想

 

拆分数据库中的表除了提取某些字段外, 还经常需要 新增用户,活跃用户,充值用户,购买用户等 有可能结果层统计数据时候要关联很多表造成速度缓慢.

这可以把这几张表做成聚族表.或者是把表做出列.

比如 用户名, 注册时间,第一次充值时间,第一次购买时间,第一次等.

 

总体来说 1数据量小化,2数据块读取少量化. 包含读取的次数和块的多少.

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
什么是oracle asm什么是oracle asmApr 18, 2022 pm 04:16 PM

oracle asm指的是“自动存储管理”,是一种卷管理器,可自动管理磁盘组并提供有效的数据冗余功能;它是做为单独的Oracle实例实施和部署。asm的优势:1、配置简单、可最大化推动数据库合并的存储资源利用;2、支持BIGFILE文件等。

oracle怎么查询所有索引oracle怎么查询所有索引May 13, 2022 pm 05:23 PM

方法:1、利用“select*from user_indexes where table_name=表名”语句查询表中索引;2、利用“select*from all_indexes where table_name=表名”语句查询所有索引。

Oracle怎么查询端口号Oracle怎么查询端口号May 13, 2022 am 10:10 AM

在Oracle中,可利用lsnrctl命令查询端口号,该命令是Oracle的监听命令;在启动、关闭或重启oracle监听器之前可使用该命令检查oracle监听器的状态,语法为“lsnrctl status”,结果PORT后的内容就是端口号。

oracle全角怎么转半角oracle全角怎么转半角May 13, 2022 pm 03:21 PM

在oracle中,可以利用“TO_SINGLE_BYTE(String)”将全角转换为半角;“TO_SINGLE_BYTE”函数可以将参数中所有多字节字符都替换为等价的单字节字符,只有当数据库字符集同时包含多字节和单字节字符的时候有效。

oracle怎么删除sequenceoracle怎么删除sequenceMay 13, 2022 pm 03:35 PM

在oracle中,可以利用“drop sequence sequence名”来删除sequence;sequence是自动增加数字序列的意思,也就是序列号,序列号自动增加不能重置,因此需要利用drop sequence语句来删除序列。

oracle怎么查询数据类型oracle怎么查询数据类型May 13, 2022 pm 04:19 PM

在oracle中,可以利用“select ... From all_tab_columns where table_name=upper('表名') AND owner=upper('数据库登录用户名');”语句查询数据库表的数据类型。

oracle查询怎么不区分大小写oracle查询怎么不区分大小写May 10, 2022 pm 05:45 PM

方法:1、利用“LOWER(字段值)”将字段转为小写,或者利用“UPPER(字段值)”将字段转为大写;2、利用“REGEXP_LIKE(字符串,正则表达式,'i')”,当参数设置为“i”时,说明进行匹配不区分大小写。

Oracle怎么修改sessionOracle怎么修改sessionMay 13, 2022 pm 05:06 PM

方法:1、利用“alter system set sessions=修改后的数值 scope=spfile”语句修改session参数;2、修改参数之后利用“shutdown immediate – startup”语句重启服务器即可生效。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境