NewsBits is Compose's roundup of the past week's database and developer news:
- Scylla 1.7 is released with counter support
- Github goes all-in on GraphQL
- Zookeeper substitute zetcd goes beta
- Building a Non-Volatile Memory DBMS
- Samba's big security alert
- Doing status pages whiles Serverless
Here's the bits:
Count on Scylla 1.7
The developers at ScyllaDB have released Scylla 1.7, a minor update to the Cassandra-compatible database. The headline feature is counters, columns dedicated to incrementing and decrementing, a now regularly used feature of Cassandra. By using counters to keep track of various statistics - a number of rows matching a condition say - you can avoid having to do full scans of the database to count things. Big performance win in some situations.
It's all implemented but currently experimental as a feature. There's also updates to the CQL (Cassandra Query Language) implementation, support for Debian, and a new sharding algorithm for better performance on bug clusters.
Github's GraphQL Goes Bigtime
At the GitHub Satellite event, GitHub announced that their GraphQL API was now officially in production. The CEO mentioned they'd been already basing their own new features on it. That includes new features with REST APIs - those REST APIs were going through GraphQL at the backend. Where customers have been using ten, twenty or more REST calls to build up the required results, GraphQL allows them to do it in one call.
GraphQL is steadily on the rise as the new way to build data-rich APIs and GitHub going to production with it is a major endorsement of the technology. You can find out more about the GitHub GraphQL API in its documentation which include a set of guides which also introduce GraphQL to client application developers.
Zetcd - A Zookeeper alternative
Zookeeper is a popular Apache project for keeping distributed systems in line by managing distributed consensus. Etcd is a database used for managing distributed consensus. Now, the developers at CoreOS have leveraged the Etcd v3 API to create a Zookeeper compatible backend, emulating Zookeepers data model and backing it with etcd's database.
The result of that work is an official beta of zetcd, a proxy that sits in front of an etcd cluster and does all the translation work. So far, it's been able to drop in and work with Mesos, Kafka and Drill.
Building Non-Volatile Memory DBMS
There's a whole new category of DBMS coming, the non-volatile memory DBMS where the line between RAM and storage is blurred to the point of potential epicness. NVM storage, as it is known, has its own challenges for databases though. A SIGMOD 2017 tutorial How to build a non-volatile memory DBMS takes a look into that subject with a paper and presentation that looks at the current state of the art.
It's not just a matter of storing data in memory with NVM; many elements of a DBMS need to become NVM aware to optimally harnesses the power. The potential for 1000x speedups in database technology are well worth exploring.
If you haven't already heard; if you run Samba 3.5 or later, you need to get upgrading or patching. According to Samba's security alert, there's a pretty big vulnerability afoot that leaves servers open to malicious clients uploading and executing shared libraries.
There's new versions of Samba 4.6.4, 4.5.10 and 4.4.14, a workaround (add
nt pipe support = no to the
[global] section of smb.conf) and patches. More background on Threatpost; don't forget to check your NAS systems and make sure your Linux boxes are updating.
Here's an interesting application of Serverless technology - status pages. The LambStatus project creates a useful Status page for reporting how your service is running. It uses code that is run by AWS Lambda to admin and display the pages, complete with incident reports, metrics and maintenance schedules.
This is a good example of Serverless ideas in action. When your main system is down and the status page is under load, a serverless status page scales up automatically and naturally. When things are quiet and traffic is low, the serverless status page uses minimal resources.
If you have any feedback about this or any other Compose article, drop the Compose Articles team a line at firstname.lastname@example.org. We're happy to hear from you.