Compose's Little Bits 37 - etcd, Elasticsearch, RethinkDB, BigQuery, Kudu, Rust, Philote, UI and Bugs


etcd 3.0 is here and it's big, Elasticsearch 5 gets its fourth alpha, RethinkDB gets benchmarked, Github fed to BigQuery, a Redis websockets server, Kudu's the new kid on the Apache Hadoop block, Rust checks its developers, Input masks of deception and do you really know who came up with the term "bug"?


etcd 3.0: The latest release of etcd, version 3.0, has been released. It's been a while maturing and that's because it is a whole new API and a lot of re-engineering. The JSON endpoints are now bridges to an underlying gRPC layer using protobufs. TTLs are replaced by more efficient leases and watches are now multiplexed on a single connection. And there's lots more with added MVCC and "mini-transactions" closing gaps in the etcd's consistency. We'll be having a look at all that in a future Compose article.

Elasticsearch 5 Alpha 4: Still in development, Elasticsearch have rolled out their new alpha. A new Java HTTP/REST client, Rollover and Shrink APIs for time series data and a way to wait for updates are added to the database itself - more in the Elasticsearch announcement. Kibana gets CSV import, cluster health tracking and a new management front end. Looking interesting, though still some way away.

RethinkDB Benchmarked: We often hear the question, "How fast is RethinkDB?". Well, now the YCSB benchmark has been ported to work with RethinkDB and we have some results. The answer seems to be "pretty good and linear scaling".

Github in BigQuery: The Google folks have got Github's data set into BigQuery and announced that they are letting users query the 2.8 million open source Github repositories and all 1.5 terabytes of sub 1MB non-binary files. Github says that it hopes researchers will be able to dig deeper into the open source ecosystem.

Kudu: Hardly a day goes by without another Apache data storage/analytics platform appearing in the incubator. Kudu is one of them, an addition to the Hadoop ecosystem, which is a column-based, fast updating/inserting storage layer for speeding up Apache Spark and Impala. And for a quick run through of what it is, try this Apache Kudu in Five Minutes.


Rust Surveyed: The Rust developers have surveyed their users to see how they feel about the Rust language and its development. A growing community, a more reliable tool chain, less disruption from updates and positive scores for the Cargo packaging system are all good news but the survey also looks at the challenges facing the emergent language.

Philote for Redis: An interesting and possibly very handy project, Philote is a Websocket to PubSub gateway for Redis in Go. It adds authentication at the websockets layer and the plan is, in future, to aggregate the websocket requests into fewer connections. There's a chat app available to demonstrate a practical application.

Input Masks: Food for thought in this article which looks at the use of input masks - that ghost text people use in input fields - and how it doesn't really do what people expect, like disappearing when one character has been typed.

Bug Etymology: An IEEE article from 2013 gives credit to the creation of the term bug to Thomas Edison and mentions the term "Bug trap" as a way of isolating particular technical glitches. A fascinating read which also goes back to the older origins of the term, like the Welsh bwg.

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.