本文为Oracle 19c VLDB and Partitioning Guide第1章Introduction to Very Large Databases的读书笔记。

超大型数据库 (VLDB) 存在需要多种策略的管理挑战。 分区是 VLDB 策略的关键组成部分。

现代企业经常运行包含数百 GB 甚至数 TB 数据的任务关键型数据库。 这些企业受到超大型数据库 (VLDB) 的支持和维护要求的挑战,必须设计方法来应对这些挑战。

1.1 Introduction to Partitioning

分区通过将它们细分为更小和更易于管理的部分来为非常大的表和索引提供支持。

分区解决了支持非常大的表和索引的关键问题,方法是将它们分解成更小、更易于管理的分区,这些分区对应用程序完全透明。无需修改 SQL 查询和数据操作语言 (DML) 语句即可访问分区表。但是,定义分区后,数据定义语言 (DDL) 语句可以访问和操作单个分区,而不是整个表或索引。这就是分区如何简化大型数据库对象的可管理性。

表或索引的每个分区必须具有相同的逻辑属性,例如列名、数据类型和约束,但每个分区可以具有单独的物理属性,例如启用或禁用压缩、物理存储设置和表空间。

分区对于许多不同类型的应用程序很有用,尤其是管理大量数据的应用程序。 OLTP 系统通常受益于可管理性和可用性的改进,而数据仓库系统则受益于性能和可管理性

分区具有以下优点:

  • 它支持在分区级别而不是在整个表上进行数据加载、索引创建和重建以及备份和恢复等数据管理操作。这导致这些操作的时间大大减少。
  • 它提高了查询性能。通常可以通过访问分区的子集而不是整个表来获得查询的结果。对于某些查询,这种技术(称为分区修剪)可以提供数量级的性能提升。
  • 它显著减少了计划停机对维护操作的影响。
  • 分区维护操作的分区独立性允许您对同一表或索引的不同分区执行并发维护操作。您还可以对不受维护操作影响的分区运行并发 SELECT 和 DML 操作。
  • 如果将关键表和索引划分为分区以减少维护窗口、恢复时间和故障影响,则可以提高关键任务数据库的可用性。
  • 并行执行提供了优化资源利用和最小化执行时间的特定优势。查询以及 DML 和 DDL 支持并行执行。

以上几点的描述都将SELECT算作查询,而没有归入DML

分区可加快 Oracle 数据库中的数据访问。 无论数据库有 10 GB 还是 10 TB 的数据,分区都可以将数据访问提高几个数量级。 无需对应用程序进行任何修改即可实现分区。 例如,您可以将非分区表转换为分区表,而无需修改访问该表的任何 SELECT 语句或 DML 语句。 您无需重写应用程序代码即可利用分区。

如果是LINEORDER表,10GB约1亿行

1.2 VLDB and Partitioning

分区是管理超大型数据库 (VLDB) 的一种有价值的策略。

非常大的数据库没有最小绝对大小。尽管 VLDB 是一个类似于小型数据库的数据库,但在管理 VLDB 方面存在特定挑战。这些挑战与庞大的规模和针对这种规模的系统执行操作的成本效益有关。

有几个趋势是数据库规模稳步增长的原因:

  • 长期以来,系统都是孤立地开发的。公司已经开始看到结合这些系统以实现跨部门分析同时降低系统维护成本的好处。数据库和应用程序的整合是数据库规模持续增长的关键因素。
  • 许多公司面临着数据存储时间最短的规定。这些规定通常会导致更多数据被存储更长的时间。
  • 公司通过扩大销售和运营或通过并购实现增长,从而导致生成和处理的数据量增加。与此同时,依赖数据库进行日常活动的用户数量也在增加。

简而言之,数据整合,更长的数据保留期,公司和业务规模的扩大促进的数据的增长。

分区是管理超大型数据库的关键特性。 增长是对超大型数据库进行分区地址的基本挑战,并且分区支持一种分而治之的技术来管理数据库中的表和索引,尤其是随着这些表和索引的增长。 分区功能允许数据库针对非常大的数据集进行扩展,同时保持一致的性能,而不会过度增加管理或硬件资源。

1.3 Partitioning As the Foundation for Information Lifecycle Management

分区为信息生命周期管理 (ILM) 提供支持。

信息生命周期管理 (ILM) 是一组流程和策略,用于在数据的整个使用寿命期间对其进行管理。 ILM 策略的一个重要组成部分是确定在其生命周期中的任何时间点存储数据的最合适和最具成本效益的介质:日常操作中使用的更新数据存储在最快、最高度可用的存储层上,而不经常访问的旧数据可能存储在成本较低且效率较低的存储层上。较旧的数据也可能不那么频繁地更新,因此将数据压缩和存储为只读是有意义的。

Oracle 数据库为实施 ILM 解决方案提供了理想的环境。 Oracle 支持多个存储层,并且由于所有数据都保留在 Oracle 数据库中,因此多个存储层对应用程序是透明的,并且数据仍然是安全的。分区提供了使表中的数据能够存储在不同分区中的基本技术。

尽管多存储层和复杂的 ILM 策略最常出现在企业级系统中,但大多数公司和大多数数据库都需要某种程度的信息生命周期管理。最基本的 ILM 操作(归档旧数据以及从数据库中清除或删除该数据)在使用分区时可以快几个数量级。

1.4 Partitioning for All Databases

分区为大型和小型数据库提供了好处。

分区的好处不仅仅适用于非常大的数据库; 所有数据库,甚至是小型数据库,都可以从分区中受益。 即使是大小以兆字节为单位的数据库,也可以从分区中获得与最大的数 TB 系统相同类型的性能和可管理性优势。

Oracle 19c VLDB and Partitioning Guide 第1章:Introduction to Very Large Databases 读书笔记相关推荐

  1. Oracle 19c VLDB and Partitioning Guide 第2章:Partitioning Concepts 读书笔记

    本文为Oracle 19c VLDB and Partitioning Guide第2章Partitioning Concepts的读书笔记. 分区可提高各种应用程序的性能.可管理性和可用性,并有助于 ...

  2. Oracle 19c VLDB and Partitioning Guide 第5章:管理和维护基于时间的信息 读书笔记

    本文为Oracle 19c VLDB and Partitioning Guide第5章Managing and Maintaining Time-Based Information的读书笔记. Or ...

  3. Oracle 19c VLDB and Partitioning Guide 第4章:分区管理 读书笔记

    本文为Oracle 19c VLDB and Partitioning Guide第4章Partition Administration的读书笔记. 使用分区表和索引时,分区管理是一项重要任务. 本章 ...

  4. Oracle 19c VLDB and Partitioning Guide 第8章:Using Parallel Execution 读书笔记

    本文为Oracle 19c VLDB and Partitioning Guide第8章Using Parallel Execution的读书笔记. 并行执行是通过使用多个进程将多个 CPU 和 I/ ...

  5. Oracle 19c升级路径与QA

    1关于19c升级实验环境和脚本 实验环境不需要预约,请访问下边的URL链接,下载实验虚机和查阅实验脚本. https://mikedietrichde.com/database-upgrade-han ...

  6. Oracle的C 模板,Oracle 19c 官方文档系列-《Database Administrator’s Guide》

    Oracle 19c 官方文档系列-<Database Administrator's Guide> 免费 专栏简介 19c 作为 Oracle Database 12c 的最终稳定版版, ...

  7. Oracle 19C 安装指引

    Oracle 19C 安装指引 18C新功能 1.简化的基于镜像的Oracle数据库安装 从18C开始,Oracle可以作为镜像文件来下载和安装,必须解压缩镜像文件到ORACLE_HOME目录,然后执 ...

  8. ORACLE 19C 安装好的默认密码

    安装oracle 19c的步骤参考:Database Installation Guide for Linux 创建数据库实例 默认开机启动 执行完成后下面的自动配置脚本后,没有任何地方设置过密码. ...

  9. Oracle 12C升级至Oracle 19C

    本文介绍Oracle 12C RAC(CDB模式)升级迁移至Oracle 19C 单机(CDB模式)迁移方法,采用DG FAILOVER+DBUA的方式升级迁移. 环境介绍 生产库全备 [oracle ...

最新文章

  1. awk: (FILENAME=- FNR=1) 致命错误: 试图访问字段 -2
  2. 【数学专题】约数个数与欧拉函数
  3. awk截取字符命令_Linux运维基础技能: 脚本编程与Linux命令
  4. Maven修改默认本地资源库文件夹
  5. mysql丢失召回_mysql笔记
  6. ccs6 linux安装教程,【图片】【吧主帖】在LINUX(ubuntu)系统下装CCSv6方法(原创)【dsp吧】_百度贴吧...
  7. ug断开视图断开线的距离_UG编程刀路优化技巧
  8. js 对url进行编码和解码的三种方式
  9. win10为单个网卡配置多个IP地址
  10. html中怎么设置背景图片固定,css如何实现固定的背景图像
  11. with temp as 使用
  12. 赵绍琴温病学讲座(一)
  13. C#学习之Spilt用法
  14. 微软天下行,豪侠汤山会 2008 Oct MVP OpenDay 博客园全家福!(更新完毕)
  15. R中na.omit的用法
  16. 提高素质,讲文明树新风
  17. ASP.NET MVC 远程请求图片 转化成BASE64然后通过HTTP输出流显示
  18. java全套教程资源大合集。
  19. mysql pmt函数_mysql主从复制
  20. 凯撒密码加密解密——Java代码(密码学)

热门文章

  1. 如何解决模具折弯尺寸不稳定?
  2. 组合导航中常见的英文单词、短语翻译
  3. c语言rewind函数作用,C语言中的setlinebuf()、utmpname()、rewind函数使用
  4. 解决com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
  5. 快速将PDF转换为图片:使用在线转换器的步骤
  6. html中怎么写css代码,html style样式标签元素教程
  7. 在线生成免费android ios图标
  8. C#基于虹软SDK人脸识别签到系统
  9. 我理解的Java栈与堆,String类
  10. 怎么将多张图片拼在一起?分享几种好用的拼图工具