数据库模型

选择数据库模型:

  • 联机事务处理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. 函数参数中“x++”造成的运算无效测试

    可能以前书上都有说过,当时没在意 只有在实际项目中才会遇到因这个问题导致的Bug 2017/2/26日补充:实际上比较通用的做法是 ++tmp1,这样也可以做到自增 ; ); Console.Writ ...

  2. Java自带命令详解

    1. 背景 给一个系统定位问题的时候,知识.经验是关键基础,数据(运行日志.异常堆栈.GC日志.线程快照[threaddump / javacore文件].堆转储快照[heapdump / hprof ...

  3. Atitit.eclipse git使用

    Atitit.eclipse git使用 1. Git vs svn1 1.1. 直接记录快照,而非差异比较1 1.2. Git的patch则不依附于branch,commit和commit之间的关系 ...

  4. ActiveMQ从源代码构建

    众多开源项目.我们一般都是直接拿过来用之而后快. 只是我们也应该知道这些项目是怎样从源代码构建而来的. 既然代码是写出来的,就不能避免有BUG存在,话说没有完美的软件,也没有无漏洞的程序. 事实上从源 ...

  5. 利用C#的指针编写都一个简单链表

    using System; namespace UnsafeTest { unsafe struct link { public int x; public link* next; } class P ...

  6. jsp中跳出循环

    <c:otherwise> <c:set var="flag" value="true" /><!-- 设置flag --> ...

  7. phpmyadmin通过日志文件拿webshell

    该方法非原创.只是给大家分享一下姿势.如果知道得就当复习了,不知道得就捣鼓捣鼓. 前提:条件是root用户. 思路:就是利用mysql的一个日志文件.这个日志文件每执行一个sql语句就会将其执行的保存 ...

  8. (译)Getting Started——1.3.3 Working with Foundation(使用Foundation框架)

    在你使用Objective-C语言开发应用时,你会发现在开发中,你会用到很多框架.尤其是Foundation框架,该框架为应用提供了最基础的服务.Foundation框架包括了代表着基本数据类型的va ...

  9. Ubuntu 12.04 server 如何安装 OpenERP 7(转)

    不经意的一次看到OpenERP这个开源ERP,就被其丰富的功能,简洁的画面,熟悉的语言所吸引.迫不及待的多方查询资料,自己架设一个测试环境来进行了解.以下为测试安装时候的步骤说明,以备查询,并供有需要 ...

  10. nodejs 聊天室简单实现

    前言 博客园的样式真心不会用啊,看着大大们的博客各种好看,心里无奈啊,只能慢慢摸索了. 最近的项目nodejs+wcf+app,app直接从wcf服务获取数据,nodejs作为单独的服务器为app提供 ...