Exadata一开始是以一个存储系统形式诞生的,叫做SAGE(Storage Appliance for Grid Environ ments,网格环境存储设备)
 
Exadata原本设计用来解决超大型数据库所存在的普遍性能瓶颈(也就是无法在可接受的时间范围内从磁盘存储系统向数据库服务器传输足够大的数据)

Oracle Exadata解决超大型数据库性能问题的两个主要方式:
  • 让传输管道更大(Infin iband)
  • 减少需要传输的数据量(Smart Scan)

在了解Exadata的其它方面之前,最应该先了解的是存储节点卸载(offload)处理,所有其它的技术都只是为了支持存储节点的卸载处理。
 
存储节点卸载处理(Cell Offload Processing):该工作由存储服务器完成,否则就必须在数据库服务器上执行
  • 智能扫描(Smart Scan)
  • 混合列式存储压缩(hybrid columnar compression)
  • 数据文件初始化
  • RMAN offload
智能扫描(Smart Scan):这是存储节点卸载处理中与提高数据仓库/商业智能查询性能最有关的操作
  • 数据文件的初始化
  • 字段投影
  • 存储索引消减
  • HCC解压缩
全表扫描或者全索引快速扫描(Full Scan or Index Fast Scan):为了触发智能扫描,查询优化器选择的必要的访问方式
 

Exadata的组件(整体架构)
 
可以将Exadata划分为两部分,即存储层和数据库层,两层使用infiniband网络来连接
 
infiniband:提供低延时、高宽带的管钱通信链路,也提供链路上的冗余和联结(bonding)
 
数据库层:多个sun服务器组成,运行Oracle 11g R2软件,RAC不是必须的,当通常会配置成一个或者多个RAC集群,使用ASM来管理存储(ASM是必须的)
 
存储层:也是多个sun服务器构成,每个存储服务器12块磁盘,运行Oracle存储服务器软件(cellsrv)
 
数据库层与存储层使用infiniband网络连接,使用iDB协议进行通信
 
iDB协议:iDB用来将请求和请求的元数据(比如查询谓词where)传到存储服务器软件cellsrv中,通过cellsrv软件在存储中进行智能扫描到需要的数据,然后将最终的结果返回给数据库层,所以将大大减少传输到数据库层的数据量
 
当不能进行智能扫描时,cellsrv会返回整个Oracle数据块
 
iDB使用的是RDS协议,这是一种低延时的协议,跳过了内核调用
 
 

Exadata历史
 
V0:SAGE(网格环境存储设备)--HP的硬件和Oracle软件
 
V1:2008年第一款正式Exadata--HP的硬件和Oracle软件---主要为数据仓库平台
 
V2:2009年,4核,Sun的硬件,Oracle的软件(Oracle此时已经尝试收购Sun公司),采用大容量固态存储
 
X2:X2-2:升级到8台双CPU服务器,6核。  X2-8:8*8核CPU,1T内存,定位为大型OLTP系统 
 

Exadata可选的配置(X2-2)
  • 四分之一机柜:2个数据库服务器,3个存储服务器
  • 半机柜:4个数据库服务器,7个存储服务器
  • 全机柜:8个数据库服务器,14个存储服务器
Exadata可选配置(X2-8)
  • 2个大型数据库服务器,14个存储服务器
 
半机柜和全机柜配置可以连接到额外的机柜(多机柜配置模式)最多可连接8个机柜,这种配置需要额外的infiniband交换机,称作‘spine switch’(用来连接额外的机柜)
 

Exadata硬件(机柜为42U)
 
  1. 最底下为连接多个机柜的spine switch交换机
  2. 上下为对称的存储服务器
  3. 中间两个对称的为数据库服务器
  4. 机柜正中间为一台以太网交换机(思科),两台infiniband交换机
其中的以太网交换机是整套设备中唯一能允许客户自行替换的设备

Exadata的操作系统
  • 基于Intel芯片的Sun服务器
  • Oracle Linux 操作系统(可安装solaris操作系统,但一般很少见)
  • Oracle不允许在系统上安装任何其他的软件

Infiniband(Exadata中最重要的硬件组件之一)
 
用来在数据库层与存储层进行数据传输和通信,
可以在RAC环境下作为数据库节点间的互联(interconnect)网络
课用来连接外部系统,如备份系统
 
磁盘(两种可选)
  • 高容量(high-capacity):单盘2TB 7200RPM
  • 高性能(high-performance):单盘600G 15000RPM的SAS盘
Oracle不允许混合这两种磁盘使用
 

11g R2发行版数据库内默认已经有对于Exadata的代码,可以检测到软件是不是再访问Exadata存储,这种感知能力可以让数据库在访问Exadata存储时使用到为Exadata设计的特有优化手段。
 
存储层对于数据库层是是不可见的,需要ASM存储管理。ASM可提供普通冗余(两份copy),高度冗余(三份copy)
 
Exadata存储服务器上没有任何形式的硬件或者软件实现的RAID来保护数据,镜像保护功能完全通过ASM来提供
 
功能运输(function shipping):iDB将正在执行的SQL语句信息传到存储节点上,存储节点将计算过的数据而并非数据块直接返回给请求的进程。iDB可以返回给数据块服务器的数据仅仅限制在那些满足查询的行和列,这种模式仅仅在执行全表扫描的时候才可用
 
 

Exadata软件架构
 
 
上半部分是标准的Oracle 11g架构,显示了缓冲区和共享池的全局区(SGA),也显示了一些主要的进程
 
下半部分显示一台存储服务器的组件,只有一个进程cellsrv来处理与数据库服务器之间的通信,还拥有一些少数的辅助进程和监控环境
 
cellsrv使用init.ora以及alert.log文件,以及ADR(自动诊断信息库)
 
 
 

概念总结
Exadata的硬件本身没有什么神奇的地方,大多数的性能优势来自于整合的组件以及在存储层上实现的软件。
 

Oracle Exadata体系笔记的更多相关文章

  1. Oracle Exadata 学习笔记之核心特性Part1

    近年来,国内众多厂商都有一体机的产品,不过更多都是围绕硬件本身的堆砌和优化,那么这些产品和Oracle一体机最大的区别在哪里呢?最近读了李亚的<Oracle Exadata技术详解>,系统 ...

  2. Oracle 10g体系机构及安全管理《思维导图》

    通过学习Oracle数据库后,我对数据库又有了进一步的了解,Oracle数据库 10g体系机构分为 物理和逻辑存储结构. 下面是我对Oracle数据库做的思维导图和笔记 (全屏查看:<思维导图& ...

  3. EntityFramework CodeFirst SQLServer转Oracle踩坑笔记

    接着在Oracle中使用Entity Framework 6 CodeFirst这篇博文,正在将项目从SQLServer 2012转至Oracle 11g,目前为止遇到的问题在此记录下. SQL Se ...

  4. Oracle RAC学习笔记:基本概念及入门

    Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章]    oracle 10g real applica ...

  5. Oracle RAC学习笔记01-集群理论

    Oracle RAC学习笔记01-集群理论 1.集群相关理论概述 2.Oracle Clusterware 3.Oracle RAC 原理 写在前面: 最近一直在看张晓明的大话Oracle RAC,真 ...

  6. Oracle RAC学习笔记02-RAC维护工具集

    Oracle RAC学习笔记02-RAC维护工具集 RAC维护工具集 1.节点层 2.网络层 3.集群层 4.应用层 本文实验环境: 10.2.0.5 Clusterware + RAC 11.2.0 ...

  7. [转帖]Oracle 补丁体系(PSR/PSU/CPU) 及 opatch 工具 介绍

    Oracle 补丁体系(PSR/PSU/CPU) 及 opatch 工具 介绍 原文:http://blog.csdn.net/tianlesoftware/article/details/58095 ...

  8. [Oracle]OWI学习笔记--001

    [Oracle]OWI学习笔记--001 在 OWI 的概念里面,最为重要的是 等待事件 和 等待时间. 等待事件发生时,需要通过 P1,P2,P3 查看具体的资源. 可以通过 v$session_w ...

  9. oracle exadata一体机虚拟机

    14年参加partner培训的时候,拿了份oracle exadata一体机虚拟机,有兴趣的可以试试,不过比较大,压缩后10GB,解压后50GB,启动后直接可用,2RAC节点+1存储节点,环境最好内存 ...

随机推荐

  1. 全注解的SSH框架

    基于struts2.23 + spring2.5.6 + hibernate3.6.4 + hibernate-generic-dao1.0(除了spring,我整合的都是最新的GA包,hiberna ...

  2. hdu 4389 X mod f(x) 数位DP

    思路: 每次枚举数字和也就是取模的f(x),这样方便计算. 其他就是基本的数位Dp了. 代码如下: #include<iostream> #include<stdio.h> # ...

  3. UVA 11806 Cheerleaders dp+容斥

    In most professional sporting events, cheerleaders play a major role in entertaining the spectators. ...

  4. ida GDB 远程调试

    在看雪上回答的问题,有人问在WinDbg下断KiDebugRoutine或者KdEnterDebugger函数会引发蓝屏!因为是在调试Windows的内核调试引擎,我给出的解决办法是用不依赖Windo ...

  5. linux kill命令详解

    1.命令格式: kill[参数][进程号] 2.命令功能: 发送指定的信号到相应进程.不指定型号将发送SIGTERM(15)终止指定进程.如果任无法终止该程序可用“-KILL” 参数,其发送的信号为S ...

  6. HADOOP NAMENODE对Image和edits的处理

    1.SNN CheckPoint的处理流程 配置中配置做CheckPoint的两个条件,一个是文件大小editlog大于多大就做,另一个是时间维度,多长时间做一次. (1)SNN首先检查是否需要进行c ...

  7. <iostream> 和 <iostream.h>的区别 及 Linux下编译iostream.h的方法

    0.序言 其实2者主要的区别就是iostream是C++标准的输入输出流头文件,而iostream.h是非标准的头文件. 标准头文件iostream中的函数属于标准命令空间,而iostream.h中的 ...

  8. Haproxy均衡负载部署和配置文件详解

    HAproxy均衡负载部署和配置文件详解 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.根据官方数据,其最高极限支持10G ...

  9. ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 【转】

    转自:http://blog.chinaunix.net/uid-28458801-id-3494646.html ARM处理器工作模式一共有 7 种 : USR  模式    正常用户模式,程序正常 ...

  10. jsp+servlet+jquery 用jquery uploadify最新版本实现多文件上传

    //这是script代码 <link rel="stylesheet" type="text/css" href="uploadify/uplo ...