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. ExtJs之Ext.form.field.ComboBox组合框

    <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...

  2. Eclipse导入工程中文乱码问题

    此文引用自eclipse导入工程中文乱码问题,作者elleniou. 关于Eclipse导入工程中文乱码问题实在是一个非常令人头疼的,深感一定要彻底解决才算放心,故摘抄上文如下: eclipse之所以 ...

  3. Eclipse Java EE 创建 Dynamic Web Project

    1.      创建一个web工程,此处用eclipse创建(如果对创建web工程很熟悉,可以不看的,本文目的是做一个记录)  1)     打开新建工程对话框,选择Dynamic web Proje ...

  4. SSH连接不上Linux的解决方法

    SSH连接不上Linux的解决方法: 连续弄了几次,今天早上终于把SSH连接虚拟机连接不通的问题解决了. 先简单说下概要: 主机装的是XP系统,虚拟机用的是red hat Linux. 我用的是nat ...

  5. hibernate中openSession()跟getCurrentSession()方法之间的区别

    Hibernate openSession() 和 getCurrentSession的区别 getHiberanteTemplate .getCurrentSession和OpenSession 采 ...

  6. Docker初步认识安装和简单实例

    前话 问题 开发网站需要搭建服务器环境,FQ官网下载软件包,搭建配置nginx,apache,数据库等.官网没有直接可用的运行版本,担心网络流传的非官方发布软件包不安全还得自行编译官方源码安装,忘记步 ...

  7. IE8 浏览器自动保存文档副本,添加缓存

    若响应(response)HTTP头信息中没有关于缓存的头信息,则在IE8中第二次请求网页时,从缓存中拿取文件,而不是重新向服务器请求.而在Firefox或chrome则是重新向服务器请求. 解决方法 ...

  8. 使用YUM管理软件包

     一.概念 YUM,全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器 ...

  9. 高性能jdbc封装工具 Apache Commons DbUtils 1.6(转载)

    转载自原文地址:http://gao-xianglong.iteye.com/blog/2166444 前言 关于Apache的DbUtils中间件或许了解的人并不多,大部分开发人员在生成环境中更多的 ...

  10. 解决:并排的两个div底部对齐

    我希望在页面上画2个栈,并列起来,并且其内容是动态的,高度.宽度都可变,但是要保持底部对齐,如图: 实现的代码如下: <html> <head> <meta http-e ...