Oracle Database 18c In-Memory技术详解

需积分: 0 1 下载量 65 浏览量 更新于2024-07-07 收藏 2.55MB PDF 举报
"Oracle In-Memory白皮书" Oracle Database 18c中的Oracle Database In-Memory技术是一项创新的数据库加速技术,旨在显著提升数据分析和查询性能。它通过将数据以列存储的方式存入内存,利用现代处理器的并行处理能力,实现对大数据集的快速分析。以下是关于Oracle Database In-Memory的详细说明: 1. **行格式与列格式**:传统的Oracle数据库使用行存储方式,而In-Memory模块引入了列存储。列存储适合分析型工作负载,因为它允许快速访问和处理单个列,从而提高查询效率。 2. **In-Memory列存储**:数据在内存中以压缩的列格式存储,这减少了存储需求并提高了I/O效率。数据可以动态调整大小,以适应内存变化。 3. **动态大小调整和自动内存管理**:Oracle Database In-Memory能自动调整内存分配,以确保数据的高效使用,并且可以根据系统资源动态调整列存储的大小。 4. **填充In-Memory列存储**:数据填充策略确保内存的有效利用,通过智能填充策略,避免空洞和碎片。 5. **In-Memory压缩**:列存储的数据采用高效的压缩算法,以减少存储空间,同时保持快速的读取速度。 6. **In-Memory FastStart**:此特性允许快速启动数据库并快速访问内存中的数据,即使在系统重启后也能迅速恢复性能。 7. **In-Memory扫描**:查询执行时直接在内存中进行,避免了磁盘I/O,极大地提升了查询速度。 8. **In-Memory存储索引**:提供内存中的索引,加速对数据的查找和过滤。 9. **SIMD向量处理**:使用单指令多数据(SIMD)指令集,可以一次性处理多个数据元素,进一步提升计算性能。 10. **In-Memory动态扫描**:在查询执行期间动态选择最佳的数据读取策略,以最大化性能。 11. **In-Memory优化运算**:针对内存环境优化的运算符和函数,专为列式数据设计。 12. **In-Memory虚拟列**:虚拟列允许在不实际存储数据的情况下创建计算列,提高查询灵活性。 13. **自动检测的In-Memory表达式**:系统自动识别并优化适用于内存处理的计算表达式。 14. **JSON文档支持**:In-Memory支持JSON文档的高效存储和查询,适应现代数据模型。 15. **In-Memory联接**:通过联接组优化多个表的连接操作,提高复杂查询的性能。 16. **联接组**:允许将相关的表组合在一起,以便在内存中进行高效处理。 17. **In-Memory聚合**:聚合操作在内存中执行,显著减少了计算时间。 18. **DML和In-Memory列存储**:支持对内存中数据的插入、更新和删除操作,确保事务一致性。 19. **批量数据加载**:快速加载大量数据到In-Memory区域,不影响在线事务处理。 20. **分区交换加载**:通过分区交换机制,能够快速地将数据加载到In-Memory列存储中。 21. **事务处理**:保证在内存操作中的事务隔离性和持久性。 22. **RAC上的In-Memory列存储**:在Real Application Clusters (RAC)环境中,In-Memory技术可以跨多个节点共享数据,增强可用性和性能。 23. **基于服务分发**:通过服务来分布内存中的数据,实现负载均衡。 24. **滚动补丁和升级支持**:在不中断服务的情况下,进行系统更新和维护。 25. **应用亲和性**:确保特定的应用请求被定向到具有所需数据的节点,减少网络延迟。 26. **In-Memory容错**:提供了故障转移和恢复机制,保障数据安全。 27. **RAC上的In-Memory FastStart**:在RAC环境下,快速启动In-Memory特性,确保集群性能一致。 28. **自动数据优化(ADO)**:自动调整数据存储策略,包括In-Memory列的选择。 29. **用户定义的ADO策略**:允许用户自定义数据优化规则,以满足特定业务需求。 30. **自动In-Memory管理**:自动管理内存中的数据,包括加载、压缩和缓存策略。 31. **多租户环境中的In-Memory列存储**:在容器数据库(CDB)和独立数据库(PDB)中都支持In-Memory。 32. **Active Data Guard环境中的In-Memory列存储**:在Active Data Guard复制环境中,主数据库和备用数据库都可以利用In-Memory功能。 33. **Active Data Guard上的限制**:在Active Data Guard中使用In-Memory时需要注意某些功能的限制。 34. **在Exadata上将In-Memory列格式扩展至闪存**:Exadata硬件平台结合In-Memory技术,可以利用闪存进行高速数据存储和检索。 35. **控制Oracle Database In-Memory的使用**:通过初始化参数和优化器提示,可以精细控制In-Memory特性的使用和行为。 36. **核心初始化参数**:如_INMEMORY_SIZE等参数用于配置In-Memory区域的大小。 37. **其他初始化参数**:还包括一些其他参数,如_ INMEMORY_COMPRESSION等,用于调整压缩级别和策略。 38. **优化器提示**:通过SQL优化提示,指导优化器如何使用In-Memory特性。 Oracle Database 18c的In-Memory技术是Oracle数据库性能提升的关键组成部分,它通过一系列优化策略和功能,使得大数据分析和实时业务智能成为可能。通过这些特性,用户可以在内存中处理大规模数据,从而实现亚秒级的查询响应时间,满足现代企业对数据处理速度的需求。