It's time to stop sniping at Oracle's handling of MySQL. Far from declining over the past few years, the open-source database has actually improved under Oracle's stewardship, according to Percona CEO Peter Zaitsev.
Percona, which sells MySQL services including support, consultancy and training, was set up in 2006 by a group of former MySQL staff.
Two years later, MySQL was acquired for $1bn by Sun Microsystems, which in turn was bought by Oracle for $7.4bn in 2010. By then, some of the database's original creators had already left to produce the MariaDB fork.
Since the start of Oracle's ownership of the database, speculation has regularly surfaced about the company's intentions for the project. Criticism has cited security as an example, with suggestions of slower responses to critical bug fixes, and less information about vulnerabilities and critical-patch updates.
"The MySQL community right now is in this very interesting state because after Oracle acquired MySQL there's always been some FUD about Oracle looking to kill MySQL," Zaitsev said.
"We've been watching that for about five years and I can say Oracle has put in a lot of engineering resources. From my standpoint the revisions they've done and their work has been much better quality-wise than it was before."
|Top 10 database management systems, ranked on popularity, Nov 2014. Source: DB-Engines|
|3 Microsoft SQL Server|
|6 IBM DB2|
|7 Microsoft Access|
|10 Sybase ASE|
Zaitsev said he liked the current engineering focus in MySQL, which he described as making MySQL better suited to working with modern applications.
"Before that MySQL tried to be everything and frankly there have been a lot of quality issues with that. Now there's a lot of focus on the people who are using MySQL right now working on modern applications. So what are their needs? Those guys are not necessarily people who will go and write stored procedures in Java — they just won't," he said.
"These are the guys who need some other things: very easy to maintain, to integrate and in things like OpenStack they need queries very quickly, scale to multicores. That's where MySQL has been focusing over the past few years under Oracle's guidance."
MySQL is the second most popular database in use, according the DB-Engines Ranking, and is a key element of the LAMP — Linux, Apache HTTP Server, MySQL, PHP — open-source web development stack.
According to Zaitsev, the origins of the attitudes to Oracle lie in the historical relationship between MySQL and the software giant.
"I worked on MySQL and obviously Oracle was the arch enemy for us. We were out there to go and try and displace those guys, to replace Oracle as the main database. That was the message for the company. Now what has happened is you actually have to marry your enemy," he said.
"A lot of people left and they've been very hostile about Oracle: 'They were the bad guys, the enemy. Now they own MySQL what are they going to do? They're going to kill it so they don't have the competition'. That's very flawed thinking because you can say many things about the Oracle guys but they're not stupid.
"For Oracle, if there is to be a leading open-source relational database, they would much rather that it's MySQL rather than, say, PostgreSQL or something else."
Also, attitudes to open source both inside and outside the community have changed enormously over the past decade.
"If you look at that stuff many years ago, open source was a very rebellious camp. It was a relatively small market. Doing open-source software, unlike Windows, was hippy cool because only a few cool kids did that. Now it's much more mainstream. Everybody does it," Zaitsev said
In many cases, people are now more concerned with meeting their objectives at a low cost, rather than worried by a particular piece of software being open source.
In fact open source has become a positive attribute for some companies because it represents an absence of vendor lock-in, especially in the cloud.
"It's important from a security standpoint not to have that lock-in in the licences. But what's also very important, with the cloud, we can see that there are other vendor lock-ins. So, for example, you may be running MySQL but if you're running that on the Amazon cloud, you are locked into that specific vendor for all practical purposes because of their API," Zaitsev said.
Despite MySQL's standing and qualities, it still comes up short against NoSQL databases in certain areas, Zaitsev said, for example with location data.
"A lot of applications have been made these days to be location-aware. They're mobile, they always want a location in the mix and frankly MySQL for a long time hasn't been very good at dealing with location data. It's only in MySQL 5.7, which is in development, that it's been implemented well and in high performance. MongoDB could provide that much faster," he said.
However, Zaitsev said there is a trade-off between MongoDB's schema-less iteration and scalability.
"No schema — that's one of their very big sales points, which really appeals to developers, especially those starting mobile applications. But that also can be a challenge down the road with the operational stuff," he said.
"If you have no schema, then you can arrange things like my teenage son arranges his bedroom. He puts everything in a large pile in the centre. It's very convenient because he doesn't have to sort through things but it doesn't scale. After a few weeks of doing that, he can't find stuff anymore."
The appeal of the more recent database technologies to developers can raise unforeseen issues for operations staff.
"That's one of the trends you see with those newer technologies: the development team comes back and says, 'Hey, we've got this very cool new technology that we've just built'. Then, when it comes to the operations team who have to maintain it in the long term, it may involve a challenge that the developers don't think about," Zaitsev said.
"The balance right now has still to be found where those different technologies fit best."