The new in-memory option for Oracle Database 12c allows queries to be processed 100 times faster - or even more - while also delivering a useful doubling of transaction processing speed.
This is achieved through a combination of keeping data in memory and maintaining two separate structures: one organised by rows for speedy transaction processing, the other arranged by columns for fast query processing.
Both are simultaneously active and transactionally consistent.
Since the columnar data is only used for queries, there is no need for logging and so "there's very little overhead," Ellison said.
Each CPU core scans the columns in its local memory using vector instructions and so billions of rows can be processed per second.. "It's at least times faster," he said, and even complex queries are accelerated as tables can be joined around ten times faster.
The new option means "you're getting results at the speed of thought," he said.
The reason transaction processing operations are accelerated is that there is no longer any need to maintain indexes that exist only to improve query performance. Where perhaps ten or 20 analytical indexes would have to be updated every time a new row was inserted, now it is just the few actually required to make the database work.