异步预取(Asynchronous Pre-Fetch)是EnterpriseDB企业版和基本版的一个特性,只在Linux版本中存在,它可以让数据库服务器充分利用RAID硬件设备,EnterpriseDB在企业版中进一步加强了异步预取的功能。
当使用RAID时,数据库使用如下技术实现数据跨越多个磁盘驱动器:
● Striping 是指RAID控制器把连续的数据分散为多个部分,分别存储到多个磁盘驱动器上。
● Mirroring是指RAID控制器将完整的数据拷贝分别放到各个磁盘驱动器上。
系统也经常把striping和mirroring结合使用。
RAID配合使用异步预取非常适合如下情形:
● 数据仓库应用
● ETL(Extract, transform and load)应用
● 只有少量复杂查询的应用
在没有异步预取时,磁盘I/O是序列化的--即在同一时间点只有一个I/O操作发生,并且在队列中只有一个磁盘驱动是处于活跃状态的,其他的磁盘都是空闲的:
当使用异步预取时,多个磁盘I/O请求同时进行,因此,允许多个磁盘驱动器并发工作,从而减少了磁盘访问时间,这使得系统性能有了大幅度提升:
当查询优化器选择位图扫描(bitmap scan)来访问数据时,异步预取更进一步提高了数据库的性能。在一般查询中,那些where条件的AND/OR列可能会用到索引,异步预取将索引数据转化为位图存放到内存中,来定位要选择的行。使用多个磁盘驱动器同时读写大大提高了对行数据的访问速度。
EnterpriseDB将上面提到的异步预取技术放到了基本版8.4中。同时,EnterpriseDB企业版产品中也包含了一个异步预取的加强版本。它提供了相同的多驱动,并发访问的能力,不仅可以使用位图索引,还可以预取普通索引。
当在下面的情况下使用常规索引扫描时,EnterpriseDB 带异步预取的企业版将比基本版表现的更为出色:
● 索引的存储是完全分散的--也就是索引行的存放顺序和索引的顺序完全不同
● 索引中的列很少(只有一个或很少的列组成的索引)
● 需要检索大量的行
分享到:
相关推荐
### EnterpriseDB剑指Hadoop:优化数据处理 #### 一、EnterpriseDB简介及市场定位 EnterpriseDB(简称EDB)是一家专注于提供基于开源数据库PostgreSQL的企业级解决方案和服务的公司。在全球范围内,MySQL、...
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
postgresql-13.3-2-windows-x64 windows安装器 postgresql-13.3-2-windows-x64 windows安装器 postgresql-13.3-2-windows-x64 windows安装器 ...https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
EnterpriseDB是PostgreSQL的一个分支,在PostgreSQL基础上,针对企业级应用进行了专门的优化,同时,增加了一系列如动态 性能调优(DynaTune)、EDB Loader、高效批量SQL处理等高级特性;在众多功能亮点中,...
1. **Oracle兼容特性**:详细介绍EnterpriseDB如何模仿Oracle的语法、函数、存储过程、数据类型等,以便于Oracle开发者能够无缝过渡到EnterpriseDB环境。这可能包括SQL语法的对应关系、PL/PGSQL与PL/SQL的相似之处...
edb 所需的驱动包,包含edb-jdbc16.jar edb-jdbc17.jar edb-jdbc18.jar ,这些包可以通过官网自己下载,官网地址:https://yum.enterprisedb.com/edb/redhat/edb_redhat_rhel-7-x86_64.tar.gz 下载后解压,找到jdbc...
### Postgres-X2 的关键技术与特性 #### Postgres-X2 概览 - **Postgres-X2** 是一款由 **华为数据库产品规划师李元佳** 介绍的数据库系统,该系统结合了 PostgreSQL 的强大功能与分布式计算的优势,旨在解决大规模...
It's open source of database. Introduction of Enterprisedb