当前位置: 首页 > news >正文

数据库管理-第116期 Oracle Exadata 06-ESS-下(202301114)

数据库管理-第116期 Oracle Exadata 06-ESS-下(202301114)

距离上一次正儿八经的技术分享又过了整整一周了,距离上一期Exadata专题文章也过了11天了,今天一鼓作气把ESS写完,毕竟明天又要飞北京了。

1 Smart Scan

其实之前在数据库管理-第六十一期 Exadata是否需要索引(20230314)中简单介绍过smart scan,数据的查询和检索处理可以卸载(offload)到Exadata存储节点:

  1. 负载下沉到存储服务器,充分发挥存储的计算能力
  2. 存储转变为智能存储,仅返回需要的数据 – 行过滤,列过滤
  3. 减少数据返回量,减少IO通道需求
  4. 减少数据库服务器CPU, 内存要求
    在这里插入图片描述
    Smart Scan自动优化使用直接路径读的full table scans, fast full index scans和fast full bitmap index scans,即并行操作和大规模顺序扫描。其实最简单的触发offload的方式就是SQL使用并行。
    在这里插入图片描述
    在Exadata上数据库的SQL Monitor中,可以看到语句的存储offload效率,具体执行计划中也能看到TABLE ACCESS STORAGE FULL的操作内容。

2 Storage Index

存储索引是一个透明且自动维护,无需任何额外开销即可消除减少IO的特性:

  • 存储索引不像Oracle的传统B-tree或位图索引那样存储在数据库中。它们无法识别在给定列中具有特定值的一组记录。是存储服务器软件的一个功能。
  • 存储索引的工作原理是为磁盘存储单元存储最小和最大列值,默认情况下为1 MB,称为区域索引。
  • 执行Smart Scan时SQL谓词会传递到存储节点,因此存储软件可以在执行请求的I/O之前,根据存储索引元数据(最大值和最小值)检查谓词。将跳过任何不可能具有匹配行的存储区域。
    在这里插入图片描述

3 EHCC

EHCC,混合列压缩兼顾性能和压缩比

  • 占用磁盘空间更小
  • 压缩下获得更好的性能
    – 基于压缩数据进行扫表
    – 可在内存、Flash中保留更多数据
    – 从磁盘到内存、Flash数据传递时使用更少IO
  • 在查询更快的前提下平均节省10倍空间
    – QUERY:5-10X, ARCHIVE MODE:10-15X
    在这里插入图片描述
    在这里插入图片描述
    EHCC语法:
Warehouse Compression Syntax:
CREATE TABLE emp () COMPRESS FOR QUERY [LOW | HIGH];
Online Archival Compression Syntax:
CREATE TABLE emp () COMPRESS FOR ARCHIVE [LOW | HIGH];

不同的压缩方式采用的算法不同:query low使用LZO算法,query high和archive low采用ZLIB算法,archive high采用BZIP2算法。

Exadata特有的压缩:compress for query|archive low|high –只有直接路径插入的数据才会被压缩,普通的DML操作会降低压缩等级。
在混合列压缩中,多个数据块组成一个压缩单元CU(Compression Unit) ,压缩单元中数据是按列的形式存储的,而不是将整个表的数据按列的形式来存储,所以是混合列压缩,而压缩单元中包含的数据块的个数也不是固定的,由压缩模式,被加载数据的压缩率等因素来决定;使用了混合列压缩的表,普通的insert数据插入,新增的行记录会降级成OLTP压缩模式(此时对表进行一个move操作重组一下表就会变成混合列压缩,如果又进行DML操作则可能又会被退化为OLTP压缩,因此HCC的表应该尽可能少的进行DML操作),数据只有在以下几种方式加载时才会触发混合列压缩:

  • 直接路径insert语句(/*+ append */);
  • 并行的DML语句;
  • 直接路径sqlloader;
  • CTAS(Create Table As Select)方式。

HCC可以在表级别,分区级别及表空间级别来指定。
可以在创建表时指定HCC,也可以把现有的表修改为HCC的表,此时表中的原数据没有进行压缩,需要对表执行一下move重组才会使已有的数据进行混合列压缩。

4 智能存储处理流程

综合前面提到的Smart Scan, Storage Index和EHCC,在Exadata中将一般存储智能化之后,数据的处理流程变为下图所示:
在这里插入图片描述
在充分利用硬件特性与资源,基于Oracle对自己数据库存储充分的了解,使用ESS极大加快了Exadata上的数据查询效率。

5 Smart Flash Cache

智能闪存缓存与回写:
在这里插入图片描述
将热数据缓存在PMEM/XRMEM或Flash Card中,即可以加速数据查询效率,也可以加速数据库写的效率。
监控数据是否被cache:

SQL> SELECT data_object_id FROM DBA_OBJECTS object_name='EMP'; DATA_OBJECT_ID---------57435
CellCLI> LIST FLASHCACHECONTENT WHERE objectNumber=57435 DETAIL cachedKeepSize: 0cachedSize: 495438874dbID: 70052hitCount: 415483missCount: 2059objectNumber: 57435tableSpaceNumber:

保证热数据被cache:

SQL> ALTER TABLE xxx STORAGE (CELL_FLASH_CACHE KEEP);

注意:cell_flash_cache有三个值:none(永不放到闪存),default(按策略来放),keep(尽可能的放到闪存); 为了防止keep属性的对象占满整个flashcache,系统限制有keep属性的对象占用的总空间不得超过flashcache的80%,为了防止一些极少访问却拥有keep属性的对象无限制的占用flashcache,系统会定期的使用淘汰策
略来剔除这些对象。一般无需人为干预,默认即可。
从 Oracle Exadata 系统软件 23.1.0 版开始,XRMEM (PMEM) 缓存只能以 Write-through 模式运行。

6 Smart Flash Logging

智能闪存日志:
在这里插入图片描述
即日志哪先写好,即返回事务成功,无需人为配置与干预,加速写操作。

7 IORM

IO资源管理:
存储资源池:数据动态重分布,消除I/O分布热点块,数据库平台可不断线性扩展,数据自动分布,提供最高性能和高可用性

  • 当新硬件添加时均衡仍然得以保持
  • 当旧硬件移除时均衡仍然得以保持
  • 当硬件出故障时均衡仍然得以保持
  • 单块磁盘损坏/单个storage cell损坏都能忍受
    在这里插入图片描述
    IORM可以根据承载业务数据库的重要程度、IO要求细粒度控制每个数据库的存储IO性能,当然Exadata本身强大的IO性能,在绝大多数环境是无需对IORM进行配置的。可以通过CELLCLI或EMCC对IORM进行配置:
    在这里插入图片描述

8 In_memory扩展

非Exadata运行Oracle数据库一张表只能在行格式和列格式选择一种方式:
在这里插入图片描述
Exadata可以突破格式限制,实现双格式存储:
在这里插入图片描述
Exadata还实现了存储层In-memory列式分析:

  • Exadata 自动智能转换、加载列格式数据到 Flash cache
    – 存储服务器实现快速的向量查询处理
  • 独特的双格式数据闪存缓存
    – 混合负载支持,同时支持基于行式的OLTP数据库,和基于列式的分析型数据库
  • 完全自动化和透明
    在这里插入图片描述

9 高性能协议

Exadata使用了以下高性能传输协议来提升机架内数据传输效率:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

ESS基本完成,老规矩,知道写了些啥。

相关文章:

数据库管理-第116期 Oracle Exadata 06-ESS-下(202301114)

数据库管理-第116期 Oracle Exadata 06-ESS-下(202301114) 距离上一次正儿八经的技术分享又过了整整一周了,距离上一期Exadata专题文章也过了11天了,今天一鼓作气把ESS写完,毕竟明天又要飞北京了。 1 Smart Scan 其…...

阿里云C++二面面经

1.智能指针 1、shared_ptr 原理:shared_ptr是基于引用计数的智能指针,用于管理动态分配的对象。无论 std::shared_ptr 存储在堆区还是栈区,它所指向的内存块始终存储在堆区。这是因为 std::shared_ptr 是用于管理动态分配的内存的智能指针,它需要存储在堆区,以便进行引用…...

Ubuntu 20.04编译Chrome浏览器

本文记录chrome浏览器编译过程,帮助大家避坑qaq 官网文档:https://chromium.googlesource.com/chromium/src//main/docs/linux/build_instructions.md 一.系统要求 一台64位的英特尔机器,至少需要8GB的RAM。强烈推荐超过16GB。至少需要100…...

大文件分片上传、断点续传、秒传

小文件上传 后端&#xff1a;SpringBootJDK17 前端&#xff1a;JavaScriptsparkmd5.min.js 一、依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.2</ve…...

DAY53 1143.最长公共子序列 + 1035.不相交的线 + 53. 最大子序和

1143.最长公共子序列 题目要求&#xff1a;给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08;也可以不删…...

短剧App开发:个性化的内容推荐

随着移动互联网的普及和用户需求的多样化&#xff0c;短剧App作为一种新兴的内容消费模式&#xff0c;受到了越来越多用户的青睐。在短剧App开发中&#xff0c;个性化的内容推荐是一个重要的功能&#xff0c;它能够根据用户的兴趣偏好和行为数据&#xff0c;为他们提供更精准、…...

互斥量保护资源

一、概念 在多数情况下&#xff0c;互斥型信号量和二值型信号量非常相似&#xff0c;但是从功能上二值型信号量用于同步&#xff0c; 而互斥型信号量用于资源保护。 互斥型信号量和二值型信号量还有一个最大的区别&#xff0c;互斥型信号量可以有效解决优先级反转现 象。 …...

天机学堂-1、项目搭建,微服务架构设计

1.学习背景 各位同学大家好&#xff0c;经过前面的学习我们已经掌握了《微服务架构》的核心技术栈。相信大家也体会到了微服务架构相对于项目一的单体架构要复杂很多&#xff0c;你的脑袋里也会有很多的问号&#xff1a; 微服务架构该如何拆分&#xff1f; 到了公司中我需要自…...

windows 电脑删除不了.TTF的文件

出现这个问题&#xff0c;首先检查&#xff0c;你的.ttf文件是不是在哪个软件中打开了。 如果是&#xff0c;先关掉&#xff0c;然后在删一遍试试。 如果这个还是不行试着打开控制面板>外观和个性化> 字体 > 字体设置>还原默认字体设置勾选&#xff0c;然后重启一下…...

C#多线程的操作

文章目录 1 使用线程意义2 C#线程开启的四种方式2.1 异步委托开启线程2.2 通过Thread类开启线程2.3 通过线程池开启线程2.4 通过任务Task开启线程 3 前台线程和后台线程简述3.1 前台线程3.2 后台线程 4 简述Thread和Task开启线程的区别4.1 Thread效果展示4.2 Task效果展示4.3 区…...

MyBatis Plus—CRUD 接口

Service CRUD 接口 说明: 通用 Service CRUD 封装IService (opens new window)接口&#xff0c;进一步封装 CRUD 采用 get 查询单行 remove 删除 list 查询集合 page 分页 前缀命名方式区分 Mapper 层避免混淆&#xff0c;泛型 T 为任意实体对象建议如果存在自定义通用 Servi…...

火焰图:链路追踪分析的可视化利器

什么是火焰图&#xff1f; 火焰图用于可视化分布式链路追踪&#xff0c;通过使用持续时间和不同颜色的水平条形来表示请求执行路径中的每个服务调用。分布式跟踪的火焰图包括错误、延迟数据等详情&#xff0c;帮助开发人员识别和解决应用程序中的瓶颈问题。 链路追踪与 Span …...

中睿天下Coremail | 2023年Q3企业邮箱安全态势观察报告

10月25日&#xff0c;北京中睿天下信息技术有限公司联合Coremail邮件安全发布《2023年第三季度企业邮箱安全性研究报告》。2023年第三季度企业邮箱安全呈现出何种态势&#xff1f;作为邮箱管理员&#xff0c;我们又该如何做好防护&#xff1f; 以下为精华版阅读&#xff0c;如需…...

HBuilderX vue项目打包上传到服务器

完成后有个’dist’目录,把真个目录通过FTP 上传到服务器,Mac电脑使用cyberduck 上传 服务器使用‘宝塔’进行一件部署,基本上就是傻瓜式的点击下一步...

2656. K 个元素的最大和 --力扣 --JAVA

题目 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。你需要执行以下操作 恰好 k 次&#xff0c;最大化你的得分&#xff1a; 从 nums 中选择一个元素 m 。 将选中的元素 m 从数组中删除。 将新元素 m 1 添加到数组中。 你的得分增加 m 。 请你返回执行以上操作恰好 k …...

从HTTP到Tomcat:揭秘Web应用的底层协议与高性能容器

WEB服务器 1. HTTP协议1.1 HTTP-概述1.1.1 介绍1.2.2 特点 2.2 HTTP-请求协议2.3 HTTP-响应协议2.3.1 格式介绍2.3.2 响应状态码 2.4 HTTP-协议解析 2. WEB服务器-Tomcat2.1 简介2.1.1 服务器概述2.1.2 Web服务器2.1.3 Tomcat 2.2 基本使用2.2.1 下载2.2.2 安装与卸载2.2.3 启动…...

百度搜索智能化算力调控分配方法

作者 | 泰来 导读 随着近年深度学习技术的发展&#xff0c;搜索算法复杂度不断上升&#xff0c;算力供给需求出现了爆发式的增长。伴随着AI技术逐步走到深水区&#xff0c;算法红利在逐步消失&#xff0c;边际效应日益显著&#xff0c;算力效能的提升尤为重要&#xff0c;同时随…...

如何搭建接口自动化测试框架?

经过了一年多的接口测试工作&#xff0c;旧的框架也做了一些新的调整&#xff0c;删除了很多冗余的功能&#xff0c;只保留了最基本的接口结构验证、接口回归测试、线上定时巡检功能。 一、框架的演进 界面 UI 做了优化&#xff0c;整个框架的画风突然不一样了&#xff08;人靠…...

ubuntu 20.04+ORB_SLAM3 安装配库教程

目录 安装ros(如果只是运行ORB-SLAM3&#xff0c;可以跳过安装)0. ros 安装教程1. 安装opencv2. 安装Pangolin3. 安装Eigen34.安装Python & libssl-dev5.安装boost库6.安装ceres库&#xff08;不必须&#xff09;7.安装Sophus库&#xff08;不必须&#xff09;8. 安装g20库…...

Poly风格模型的创建与使用_unity基础开发教程

Poly风格模型的创建与使用 安装Poly相关组件Poly模型的创建Poly模型编辑 安装Poly相关组件 打开资源包管理器Package Manager 在弹出的窗口左上角Packages选择Unity Registry 搜索框搜索 Poly 搜索结果点击Polybrush 点击右下角 Install 同时也别忘了导入一下模型示例&#…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...