一、原文路径
Tuning the System Global Area
二、翻译
1、原理
Fast ingest 优化是针对高并发,单行数据的插入这种场景的。比如IOT应用采集(很符合国网的用采数据场景)。
Fast ingest 使用MEMOPTIMIZE_WRITE 提示来插入数据到 MEMOPTIMIZE FOR WRITE类型的表中。
原理为:数据库将插入的数据临时保存到缓存(large pool)中并返回成功,这些内存中的数据后台异步写入磁盘(redo)。因此,这些数据不能rolled back。
Fast ingest 的目的是支持生成大量信息数据的应用程序,这些信息数据在聚合中具有重要价值,但不一定需要完整的ACID需求。物联网中的许多应用程序都有一个这种类型的工作负载,例如传感器数据、智能仪表数据甚至交通摄像头。对于这些应用程序,可能会收集大量数据并将其写入数据库以供以后分析。
2、使用
创建表
SQL> create table test_fast_ingest ( id number primary key, test_col varchar2(15)) memoptimize for write;
Table created.
或者
ALTER TABLE hr.employees MEMOPTIMIZE FOR WRITE;
插入数据
SQL> insert /*+ memoptimize_write */ into test_fast-ingest vlaues (1, 'test'); 1 row created SQL> insert /** memotimize_write */ into test_fast_ingest values (2, 'test'); 1 row created