While Oracle thus far has been quiet about the rise of the NoSQL database movement over the past few years, its developers have been at work devising ways to bring NoSQL-like speed and flexibility to its MySQL open-source database.
For OpenWorld, Oracle has scheduled a number of sessions and demonstrations (PDF) devoted to something called the Oracle NoSQL Database. The work that the company has done thus far to equip MySQL with NonSQL functionality might provide a clue as to the nature of this new offering.
Oracle's work has focused on combining the responsiveness of NoSQL systems with the full range of options of SQL-based systems such as Oracle's own.
Oracle's potential secret weapon for revving SQL to NoSQL speeds? The Memcached caching technology, which Facebook and many other services already use. The company is looking at at least two ways of combining Memecached with its open-source MySQL database.
NoSQL databases have been commonly praised for the speed at which they can serve and ingest data, when compared to the performance of traditional SQL systems such as Oracle's. However, they lack a common interface for language for working with data, something that SQL provides.
Also, unlike NoSQL, SQL also provides a set of properties, called ACID (atomicity, consistency, isolation, durability) that mathematically ensures that each database transaction is handled reliably.
In an interview in May with the IDG News Service, Tomas Ulin, Oracle vice president of MySQL engineering, described a project to bring the NoSQL-like speed of access to SQL-based MySQL.
"We feel very strongly we can combine SQL and NoSQL," he said. "If you have really high-scalability performance requirements for certain parts of your application, you can share the dataset" across both NoSQL and SQL interfaces.
The key to Oracle's effort is the use of Memecached, which Internet-based service providers, Facebook being the largest, have long used to quickly serve MySQL data to their users. Memcached creates a hash table of commonly accessed database items that is stored in a server's working memory for quick access, by way of an API (application programming interface).
Memcached would provide a natural non-SQL interface for MySQL, Ulin said. Memcached "is heavily used in the Web world. It is something [webmasters] already have installed on their systems, and they know how to use [it]. So we felt that would be a good way to provide NoSQL access," Ulin said.