数据库模型

选择数据库模型:

  • 联机事务处理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_target(OLAP可以设置小一点)
  • pga_aggregate_target
  • optimizer_mode
  • OLTP 相关的参数
    • cursor_sharing

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

  • sga_target

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

  • Sessions

会话数

  • pga_aggregate_target

每一个会话所占用的内存

  • shared_pool_size

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

Oracle数据库模型(OLAP/OLTP)的更多相关文章

  1. Oracle分析函数-OLAP函数总结

    ORACLE OLAP 函数 最近这个东东用得特别多,总结了一下 .  语法: FUNCTION_NAME(,,...)    OVER() OLAP函数语法四个部分: 1.function本身 用于 ...

  2. CORE EF生成ORACLE数据库模型报错问题记录

    需求:最近在新开发一套在LINUX运行的API接口,需要用到net core api框架以及oracle数据库,首先需要解决的就是连接数据库问题,由于是DBFirst 加上之前很多老表不规范,导致了c ...

  3. Parallel Database for OLTP and OLAP

    Parallel Database for OLTP and OLAP Just asurvey article on materials on parallel database products ...

  4. 细说 OLAP 与 OLTP

    OLAP (Online analytical processing)[联机分析处理] 起源 数据库概念最初源于1962年Kenneth Iverson发表的名为"A Programming ...

  5. OLAP vs OLTP: what makes the difference

    OLAP vs OLTP: what makes the difference OLPT and OLAP are complementingtechnologies. You can't live ...

  6. Oracle设计规范!

    Oracle设计规范! 一哥们整理的Oracle的设计规范,相当的不错,贴这以备后续之需! 目录 1.数据库模型设计方法规范 1.1.数据建模原则性规范 1.2.实体型之间关系认定规范 1.3.范式化 ...

  7. Oracle并行执行特性应用初探

    1.      序 在历史数据转出测试过程中,通过不断的优化,包括SQL调整和数据库调整,从AWR中看到,基本上难以进行更多的性能提升,于是准备试试并行执行的特性,从这个任务的特点来分析,也比较适合采 ...

  8. Oracle 11g数据库的创建

    由于是自己自学Oracle,如果有问题,请大家指出,谢谢! Oracle提供了DBCA来创建数据库,对于初学者来说使用DBCA创建数据库简化了很多工作和设置,直接在交互界面即可实现所有的功能. 然而对 ...

  9. HAWQ取代传统数仓实践(十九)——OLAP

    一.OLAP简介 1. 概念 OLAP是英文是On-Line Analytical Processing的缩写,意为联机分析处理.此概念最早由关系数据库之父E.F.Codd于1993年提出.OLAP允 ...

随机推荐

  1. FZU 2087 统计树边【MST相关】

     Problem 2087 统计树边 Accept: 212    Submit: 651 Time Limit: 1000 mSec    Memory Limit : 32768 KB  Prob ...

  2. winfrom更新

    原理: 工具生成更新配置节xml放到文件服务器上,外网可访问: 能过本地配置文件与服务器配置文件日期属性对比及配置节版本与大小属性判断有无更新: 存在更新,将文件从服务器下载到客户端,并替换原程序重启 ...

  3. MySQL加速查询速度的独门武器:查询缓存

    [导读] 与朋友或同事谈到MySQL查询缓存功能的时候,个人喜欢把查询缓存功能Query Cache比作荔枝, 是非常营养的东西,但是一次性吃太多了,就容易上火而流鼻血,虽然不是特别恰当的比喻,但是有 ...

  4. 程序包javax.servlet.annotation不存在

    1.错误描写叙述 [INFO] Scanning for projects... [INFO] [INFO] --------------------------------------------- ...

  5. Source Insight 项目简单使用说明

    SI(Source Insight) 是我一直写代码的好伙伴, 相信这强大的软件也是广大程序猿编写软件的利器. 正所谓" 工欲善其事, 必先利其器", 我们要学会利用这款软件. 先 ...

  6. Binary Tree Postorder Traversal --leetcode

    原题链接:https://oj.leetcode.com/problems/binary-tree-postorder-traversal/ 题目大意:后序遍历二叉树 解题思路:后序遍历二叉树的步骤: ...

  7. react-native在win10下用adb报错的解决方案

    react-native在WIN10上面运行用adb链接模拟器,会直接在powershell里报错, 报错大概意思是识别不了adb这个cmdlet函数. 找了很久的解决办法,直接找到adb.exe所在 ...

  8. Python3.0+Selenium3进行Web自动化遇到的坑

    1.搭建环境时,已经把chromedriver的路径加入到PATH,但是还是报错说需要加入PATH.此时重新启动下Pycharm即可

  9. 有了 tldr,妈妈再也不用担心我记不住命令了

    引言 有一次我在培训时说「程序员要善于使用 Terminal 以提高开发效率」,一位程序员反驳道:「这是 21 世纪,我们为什么要用落后的命令行,而不是先进的 GUI?」 是的,在一些人眼里,这个黑黑 ...

  10. 【未完成】junit简单使用

    参考资料: 一般使用:https://www.w3cschool.cn/junit/ 集成spring: https://www.cnblogs.com/faramita2016/p/7637086. ...