Memoptimized Rowstore Fast Ingest (Fast Ingest) was introduced in Oracle Database 19c. Fast Ingest enables faster inserts into Oracle Database than traditional inserts or even direct path inserts. As I described in this blog post the intent of the Fast Ingest feature is to support applications that generate lots of informational data that has important value in the aggregate but that doesn't necessarily require full ACID requirements. Applications like Internet of Things (IoT) where a rapid "fire and forget" type workload makes sense. For example, sensor data, smart meter data or even traffic camera data might be collected and written to the database in high volumes for later analysis.
The Fast Ingest architecture is depicted in the following diagram:
In Oracle Database 23c we have improved memory handling and added support for new features that were not available in 19c. Fast Ingest now supports:
• Encryption - tablespace, column and SecureFiles encryption
• Partitioning - interval, hash and sub-partitions
• A new MEMOPTIMIZE_WRITE_AREA_SIZE parameter to enable explicit allocation for the memoptimize write area in the Large Pool. The default is still 0 which means the database will determine the size based on memory available.
• Another new parameter called MEMOPTIMIZE_WRITES which can be set to avoid having to use the MEMOPTIMIZE_WRITE hint.
As you can see, a lot has changed in Oracle Database 23c. Fast Ingest has become easier to use for a much broader set of data formats and database features.
You can try out the new features of Fast Ingest in Oracle Database 23c Free. See this demo script for commands to setup and run Fast Ingest and then try out the new features highlighted above.
Andy Rivenes is a Senior Principal Product Manager at Oracle Corporation and is a Product Manager for Database In-Memory. Andy has been working with Oracle products since 1992 and spent a large part of his career managing Oracle databases for both custom and E-Business Suite applications. Andy now spends his time helping customers implement Database In-Memory and providing information about Database In-Memory through blogs, conferences, and customer visits.