Welcome to NewsBits where you'll find the database, cloud, and developer news from around the net for the week ending March 9th, 2018:
- Accelerated Cassandra by Instagram.
- Vim-db brings databases into the editor.
- Updates for RabbitMQ adds Erlang tuning.
- IBM open sources own etcd3 driver.
- VeritasDB is all about database integrity.
- LTS updates for NodeJS include V8 refresh.
- In language popularity, Kotlin is a rapid riser.
- LLVM compiler toolchain gets to 6.0.0.
- Xray is Github's own Atom-smashing project.
- Front and center is the new mode for VS Code.
- And finally, a very special clock.
Cassandra: Over at Instagram, they are heavy users of Apache Cassandra but they, like many, hit the problems of Java-based applications, latency and garbage collection. Where others like ScyllaDB went to build a Cassandra-compatible database in C++, Instagram's solution was to replace the storage engine with RocksDB. This was a big challenge, there's no pluggable storage engine support in Cassandra.
Instagram got to work and the result is Rocksandra which they have now open sourced along with a benchmark suite. That benchmark suite is what shows a 10x performance improvement over Cassandra. According to Instagram's engineering blog, they are also working on a pluggable storage API for upstream Cassandra.
Vim-db: Use Vim? Use DBs? Then you'll probably really like vim-db which is a new plug-in from Tim Pope. It adds the
:db command to vim which can be followed by a connection string, and then everything else is a sent to the database as a command and the results are displayed in a preview window. It calls up the command line tools for the respective databases - MongoDB, PostgreSQL, Redis, MySQL or SQLite - in the background which means Vim-db is also easily adapted to other databases. It can also kick off an interactive terminal session and has ways to store connection strings you use a lot. Ideal if you rarely leave your editor or sit in a single session on a connection.
RabbitMQ 3.7.4: The RabbitMQ developers continue sharpening up their latest release of RabbitMQ 3.7.4. This is a bug fix and usability enhancement release with new options to tune the Erlang engine that powers it. Full details in the release notes.
Etcd: IBM has open sourced a Java driver for etcd3, etcd-java. it was created when the official Java driver for etcd3, jetcd, was problematic for some use cases. etcd-java focuses on working with the key/value store, so there's no support for the cluster administration and other management parts of the API. In other etcd news, updates for more etcd versions were released, including etcd 3.3.2. It includes fixes for overflows with long TTL values and a note - "Again, etcd Lease is meant for short-periodic keepalives or sessions, in the range of seconds or minutes. Not for hours or days!"
VeritasDB: In a new paper on VeritasDB(pdf) the authors discuss a different approach to ensuring the integrity of databases in the cloud. Specifically, a proxy key/value store which acts as an intermediary between unsecured clients and unsecured source databases. It's a different approach to an intriguing, almost catastrophic, threat model where the adversary takes control of all surrounding systems.
Languages: Ideal for your discussion of which language is more popular - Redmonk's January Language rankings - It uses a simpler methodology that other ranking systems. This round of results sees Go stalling, Kotlin climbing rapidly, and Scala dropping away. Read the full article for more analysis.
LLVM - LLVM is the compiler toolchain at the heart of many compilers now. LLVM's 6.0.0 release includes reptolines support, a mitigation for one of the Spectre exploits. There are many improvements for the MIPS and x86 code generation too. One thing LLVM enables is quicker development of new and novel languages and toolchains. This release notes three projects building on LLVM: LDC (an LLVM-based D Compiler), JFS (a JIT-enabled constraint solver) and Zig, a language designed to replace C with something clearer and more robust.
X-Ray: Github's Atom is a great editor which, if nothing else, kickstarted work on better editors again. But now that people rely on it, it is not a good place for radical experiments. Enter Xray, Github's new editor which is designed to be a testing ground for those radical experiments. That includes using Rust inside an Electron UI shell to get performance up, rendering with WebGL and presenting with React. They aspire to RAIL performance levels - 8ms scrolling, 50ms coarse actions and an open application window in 150ms. This is going to be one to watch.
Code: Visual Studio Code's February update has arrived, with new notifications, built in terminal splitting, bidirectional scrolling in the Markdown preview (hooray!), better large file support and a new centered editor layout for when you want all the real estate for your code.
And finally, check out this Nixie clock which used neon lamps... for the clock's logic. It was driven by the 50Hz cycle of mains which has hit the news recently. The design had no transistors; it was all worked by neon lights and light-sensitive resistors. Unfortunately, due to a lack of components and stability, it is no longer with us but for a shining moment, it told the time.
NewsBits. News in bits, every Friday at Compose.
Read more articles about Compose databases - use our Curated Collections Guide for articles on each database type. 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.