The Oracle Database In-Memory option, released today, promises a 100x speed increase for analytics, an improvement...
that could help customers provide near real-time information to its business users. That is a pretty tall order, and Oracle customers will get to see if the add-on can live up to the hype.
While conceptually similar to SAP HANA, the Oracle Database In-Memory option is an add-on to the Oracle Database, and does not require alterations to the database infrastructure or data migration for implementation. Because of that, it is not confined to a specific platform, and can run on non-Oracle systems.
Users of thein-memory add-on don't have to place the entire database in memory, but can spread the database across clusters and only select specific clusters for in-memory, according to Tim Shetler, vice president of product management at Oracle.
The Oracle Database In-Memory option has a new fault tolerance system also designed around Real Application Clusters with in-memory data distributed over multiple clusters. This way, when one cluster goes down, there is an immediate transparent switch to another cluster. According to Shetler, this will keep faults from interfering with database performance.
Christo Kutrovsky, senior consultant with the Pythian Group, emphasized the importance of the Oracle Database In-Memory option's compression capabilities. He said it allows the Oracle Database to keep very large tables in compressed memory. According to Kutrovsky, the add-on can compress a 100 GB table by 30x. That means a tremendous amount of compression over the whole database, which means more data can be loaded into the database with in-memory.
"The compression is what makes it really worth it," he said. "This feature applies to more use cases than anything Oracle's released in a couple years."
Real-time is one of the words Oracle has brought up again and again when discussing the in-memory add-on. But, when Oracle says real-time, it doesn't mean instantaneous. "It really means 'don't wait,'" said Shetler, "just do things immediately. Maybe it'll take a few seconds." He explained that processes that used to take half the day were reduced to 10 minutes, and analytics give responses in less than a second.
Holger Mueller, vice president and principal analyst at Constellation Research, defined real time as having no batch process, no storing of aggregates and no intermediate steps. "You don't use other time delay constructs," he said. "You can go back to the data." Mueller described the difference between previous processing speeds and real time as the difference between the telegram and the email.
"If it used to take hours and now it takes minutes, then that is real time to the people who used to wait hours," Oracle's Shetler said. He added that with the Oracle Database In-Memory option, analytics and transactions can be run at the same time. In-memory also opens the possibility for running high-performance transactions against production.
The Oracle Database In-Memory option has dual-format architecture, which means both memory-optimized columnstore and row store. The optimizer sorts incoming data to in-memory columnstore and row store. Updates go to the row format, while analytics go to the columnstore. "The whole dual-format architecture is what's really unique," Mueller said. In the Oracle Database In-Memory option, columnstore and row store are synchronized and changes to row store are reflected in columnstore. The changes are made in the background asynchronously. However, updates are made immediately for needed data and queries. "You're never going to see old data," Shetler said.
"The issues you generally have with in-memory -- columnstore, compression -- these features let you work around these things," Kutrovsky said.