Oracle talks performance, NoSQL, 'internet of things' at MySQL Connect
Keep it all online, all the time
Oracle has also improved the InnoDB storage engine for better availability, by making it possible to make more changes without taking the database offline.
"This is one of our top development priorities, to make everything online," Ulin said. "We want to be able to change the schemas online; we want to be able to change your parameters, your buffer sizes, and so on. Everything is going to be online, in the end. Right now there are a bunch of things where you need to bring down the server, change a parameter, and bring it up again – we want to remove all of these things."
Other changes in MySQL 5.7.2 include more efficient handling of temporary tables, plus improved tooling and instrumentation to make it easier for DBAs to optimize their databases and diagnose problems. And future DMRs will add even more features – one biggie due to debut in the next couple of releases is multi-source replication.
Despite all of these improvements, however, MySQL faces increasing competition for developer mindshare, both from the growing number of alternative data stores from the NoSQL world and from MariaDB, the upstart open source project launched by MySQL creator Monty Widenius that's designed as a drop-in replacement for Oracle's product.
A number of Linux distributions have already switched from installing MySQL by default to installing MariaDB instead, including Fedora and openSUSE, and Red Hat Enterprise Linux is due to switch when version 7 ships later this year. And earlier this month, Google began quietly migrating all of its internal MySQL servers – which had been running a heavily customized version of MySQL 5.1 – to MariaDB.
The Reg sat down with Ulin at OpenWorld to learn how Oracle sees this new competitive landscape, yet he seemed unperturbed – not surprisingly, perhaps, given Oracle's massive customer base, with more than 60,000 attendees at this year's OpenWorld alone. He was particularly nonchalant where MariaDB was concerned.
"We don't see forks of MySQL as anything that we need to focus on in a strategic perspective," Ulin said of MariaDB. "They are, from what I understand, a downstream project from us, where they add their angle to MySQL. I think where we're seeing them are customers that work purely on the open source version of MySQL. In terms of meeting them in terms of actual, paying customers, I've not heard of any there."
Neither did Ulin seem bothered by the wealth of NoSQL options now available. "We started using the term 'Not Only SQL'," he said, adding that even those customers who start out with an unstructured NoSQL document store tend to want the benefits of structured data eventually, particularly when the same data store is shared by multiple applications.
"The document store is very nice if you're just programming one application and you know exactly what you're doing and you're just putting the data in there, then that's fine. You have full control," Ulin said. "But when you have many applications that share the data and you have different people working on these different applications, and they each start inventing their own private schema – and that's perfectly viable in a document store – then you have no way of putting the data together."
MySQL has been slowly adding NoSQL-like features for a while now, including an integrated memcached API that allows applications to bypass the database's SQL query processing layer for fast processing of simple, single-row data operations. But perhaps more tellingly, some NoSQL data stores have lately been doing the reverse, adding SQL interfaces to their key-value based back ends.
"I think it basically validates what I'm saying. People are going to want to have both," Ulin said.
Looking forward, Oracle sees the market for MySQL only expanding, particularly in light of the brave new world of smart devices that eager companies have taken to calling the "internet of things".
"That is the internet reaching into the real world," Screven said in his keynote. "So the total number of endpoints that are going to be connected together in some way or another, generating data, accessing data, is going to explode.
"I think Ericsson produced this estimate that there would be 50 billion devices. I think that's low. I think in a decade there could be way more than 50 billion devices. To be able to manage and process all of the data, just to manage the devices themselves, is going to require an incredible amount of infrastructure. And part of that infrastructure, really, is going to run on MySQL." ®