首页 > 代码库 > Oracle数据库模型(OLAP/OLTP)

Oracle数据库模型(OLAP/OLTP)

数据库模型

选择数据库模型:

  • 联机事务处理OLTP(on-line transaction processing)
    • OLTP是传统的关系数据库的主要应用,基本的、日常的事务处理。例如银行交易。
    • OLTP系统强调数据库内存效率,强调内存各种指标的命中率,强调绑定变量、并发操作。
  • 联机分析处理OLAP(on-line analytical processing)
    • OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
    • OLAP系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。

 

 

 

OLTP

OLAP

用户

操作人员,低层管理人员

决策人员,高级管理人员

功能

日常操作处理

分析决策

DB 设计

面向应用

面向主题

数据

最新的,细节的,二维的,分立的

历史的,聚集的,多维的,集成的

存取规模

/写数条(甚至数百条)记录

读上百万(甚至上亿)条记录

操作频度

非常频繁(以秒计)

比较稀松(以小时甚至以周计)

工作单位

严格的事务

复杂的查询

用户数

数百个-数千万个

数个-数百个

DB 大小

100MB-GB

100GB-TB

 

  • 数据库名、实例名、ORACLE_SID的区别

实例名instance_name、ORACLE_SID与数据库及操作系统之间的关系

(ORACLE_SID)

OS<----------------> ORACLE 数据库 <--------(Instance_name(实例名))

 

数据库名(db_name

实例名(instance_name

ORACLE_SID环境变量)

数据库名是用于区分数据的内部标识,示以二进制方式存储在数据库控制文件中的参数.

数据库实例名用于和操作系统之间的联系,用于对外部连接时使用.

在操作系统中要取的和数据库之间的交互,必须使用数据库实例名.

在实际中,数据库实例名的描述有时使用实例名instance_name参数,有时使用ORACLE_SID参数.

在数据安装或创建后不得修改.

在数据库安装或创建数据库后,实例名可以被修改.

instance_name参数是ORACLE数据库的参数,此参数可以在参数文件中查到;

ORACLE_SID参数是操作系统环境变量.

该参数被写入数据库参数文件pfile

该实例名被写入数据库参数文件pfile.

 

db_name="orcl" #(不允许修改)

db_domain=dbcenter.toys.com

instance_name=orcl

service_names=orcl.dbcenter.toys.com

control_file=(...............

db_name="orcl" #(不允许修改)

db_domain=dbcenter.toys.com

instance_name=orcl #(可以修改,可以与db_name相同也可不同)

service_names=orcl.dbcenter.toys.com

control_file=(...............

.........

操作系统环境变量ORACLE_SID用于和操作系统交互.操作系统想要得到实例名,就必须使用ORACLE_SID.

在数据库安装之后,ORACLE_SID用于定义数据库参数文件的名称.

$ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora

定义方法:export ORACLE_SID=orcl

可以用[oracle@Datacent]$ . oraenv

来切换不同的ORACLE_SID来通过操作系统来启动不同的实例(instance)

 

  • 你想用数据库做什么?

– OLAP---- 在线分析

I/O,并行,动态采样,优化器......

– OLTP---- 在线交易

并发,内存,变量绑定,优化器......

 

 

  • OLAP 相关的参数
    • parallel_min_servers

并行行为控制

  • db_file_multiblock_read_count

控制数据库怎么从磁盘上读取数据块,一次从磁盘上读取多少个数据块?一次读的数据块越多,IO次数就越少.

  • optimizer_dynamic_sampling

动态采样

  • sga_targetOLAP可以设置小一点)
  • pga_aggregate_target
  • optimizer_mode

 

  • OLTP 相关的参数
    • cursor_sharing

绑定变量,将差不多的sql语句,使用变量值替换不一样的值

  • sga_target

内存(OLTP要设置大一点,尽量将数据放在内存中)

  • Sessions

会话数

  • pga_aggregate_target

每一个会话所占用的内存

  • shared_pool_size

共享池,可存放sql语句的空间



Oracle数据库模型(OLAP/OLTP)