NewsBits: MySQL's Query Cache going for good


NewsBits is Compose's roundup of the past week's database and developer news:

Here are the bits:

MySQL expiring the Query Cache

The MySQL Server team over at Oracle have confirmed they are retiring support for the Query Cache in MySQL 8. Introduced way back in MySQL 4.0.1, the Query Cache is designed to retain results of queries to reduce response times for common queries, but it hasn't been pulling its weight with high throughputs - so much so that it's been turned off by default since MySQL 5.6. MySQL 8.0, when it arrives in GA, should see a complete purging of all the Query Cache code from MySQL with users directed to ProxySQL if they want cached queries.

There's still lots to do in terms of performance for MySQL 8 though as this post by Mark Callaghan notes. He's been digging in on low-concurrency performance regressions on MySQL for some years. MySQL benchmarking is often done with many concurrent cores where it performs well, but reduce those cores and look at performance over time and there's a drop to 60-70% of 5.6's performance in 5.7/8.x. We'll be keeping an eye on his blog to see if he spots any improvement in the situation.

HDFS Data Exposed

What would you say if you knew 5120TB - five petabytes - of data was exposed on the Internet? That's the number that the Shodan project have come up with in their analysis, not of open MongoDB or Elasticsearch servers, but of HDFS Name Nodes. They've found 207 clusters showing signs of ransomware attacks. This is already substantial in a population of four and a half thousand HDFS servers. This is yet another reminder that "no authentication" is not a viable position when your database is connected to the internet.

Node 8.0 arrives

After being pushed back a month, Node.js 8.0 has arrived. The delay was to get the V8 5.8 engine in; a big change that lays the path for Turbofan and Ignition compiler pipeline in 5.9. The plan is to upgrade to V8 5.9 and 6.0 over the lifetime of Node.js 8.0. Beyond that worthy delay though, there are lots of other new things. A Node.js API (N-API) will make it easier to create and port native add-ons, while async_hooks will let developers monitor the Node event-loop. There's a WHATWG standardized URL parser, improved support for Promises including a promisify() API for converting callback API calls, better console handling, the start of static error codes and much more.

Meteor 1.5

Talking Node.js, the Node.js based Meteor just got updated to Meteor 1.5. The big changes here are new ways of loading JavaScript in Meteor applications which should boost download speeds and responsiveness for Meteor applications. It's quite a complex change so Meteor users should read up on it before diving in. The developers' next step? Meteor 1.5 is based on Node 4.x which no longer has long term support so 1.6 will see the Node upgraded to 6.x in what's expected to be a short release cycle.

Java 9 probably delayed

So, when it came to the ballot, Java 9 didn't get anywhere the votes it needed to keep it on track for it's July release data. At the heart of the dispute is Jigsaw, aka JSR376, the new platform module system which sets out to decompose the Java environment. Its spec has had a rocky journey through the process and although many members of the executive committee thought it was going the right way they needed more time to see where things were going to land. And so in a proposal on the jdk9-dev list, the plan is to slip the release of JDK 9 to late September; if there are no objections by June the 6th, that'll be the plan put into action.

Perl 5.26.0

You can't keep a classic language down and Perl 5 is a classic; Perl 5.26.0 has just landed, the first major release since last year's 5.24. What's in it? Checking out the pod release notes, you'll find things like Unicode 9.0 support, indentable Here-documents, improved collation and better hashing performance on 64-bit builds. There's also a number of security improvements, like no longer including "." in the @INC paths - if you write Perl scripts or modules, do read the Pod notes.

Git dad

Finally, an exercise in fat finger recovery in the form of the git dad command by way of @GonzoHacker. This is where the git's aliasing is used to reward the fast failing typist with a finely crafted dad joke... and then run the intended command.

Dj Walker-Morgan
Dj Walker-Morgan was Compose's resident Content Curator, and has been both a developer and writer since Apples came in II flavors and Commodores had Pets. Love this article? Head over to Dj Walker-Morgan’s author page to keep reading.

Conquer the Data Layer

Spend your time developing apps, not managing databases.