Oracle talks performance, NoSQL, 'internet of things' at MySQL Connect
OpenWorld The MySQL Connect sessions may have been just a small part of the massive Oracle OpenWorld conference that they helped kick off this year, but the message from Oracle's MySQL team is that the open source database is thriving and its community is as strong as ever, despite mounting competition.
"A lot of people thought that Oracle was going to try to kill MySQL – that we didn't like it," Oracle chief corporate architect Edward Screven said in his Saturday morning keynote. "In fact, exactly the opposite is true."
Oracle is committed to improving MySQL, Screven said, because it fills an important niche within Oracle's overall strategy, which is to provide customers with a full stack of hardware and software to meet their needs.
"We want to have the best solution at every level of the stack," he explained. "And that means that we solve most customer requirements. We can't do that with only the Oracle database. MySQL helps us solve other problems that Oracle database is not good at. So MySQL adds to our overall strategy. That's why we're very interested in MySQL. That's why we've invested so much."
Screven said that the team developing MySQL at Oracle is now the largest it has ever been, and is roughly twice as large as it was when Oracle acquired Sun Microsystems in 2010.
"Our plan, generally, for MySQL is constant, steady, drumbeat releases – always making it better," he said. "We don't want to have the kind of development cycle where we have two years between releases only. We want to get the new and interesting capability and functionality and quality in the hands of our customers on a regular, frequent basis."
The current release, MySQL 5.6, has been available for around six months, and many of the customers who participated in conference sessions said they had yet to upgrade from earlier versions. Yet Oracle is already pressing on with version 5.7, releasing between two and four Development Milestone Releases (DMRs) per year.
According to VP of MySQL engineering Tomas Ulin, these builds should be considered "release candidate quality" and the new features they include should be fully functional. "They should be attractive to you guys in that when you take it and test it and work with it, the things that you see will be there in the end," he said.
Tomas Ulin, Oracle's VP of MySQL engineering, talked MySQL 5.7 at this year's MySQL Connect
The latest such release, MySQL 5.7.2, was made available on Saturday to coincide with the start of the conference. (That version numbering doesn't mean MySQL 5.7 has been vetted for production use yet – for reference, MySQL 5.6 wasn't considered production-ready until the 5.6.10 build.)
The most obvious improvement in the new release is speed. Ulin says MySQL 5.7 is 95 per cent faster than MySQL 5.6 and 172 per cent faster than version 5.5. The new version can achieve a peak throughput of over 500,000 queries per second on the Sysbench point select benchmark, and thanks to code contributions by Facebook engineers, it can now process new connections to the database as much as 64 per cent faster.
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." ®