Bringing Rack-Aware Topology to Volt Active Data
One of the key tasks during initialization of a Volt Active Data cluster is determining cluster topology. The topology includes placement of the partition masters and replicas on physical Volt Active Data nodes. Once determined, the topology does not change unless node failure or elastic scaling happen. For some years, Volt Active Data used a [...]
Getting around the Transparent Huge Pages trap in Linux
A couple of weeks ago, an interesting issue came up in the field. The symptom was that the resident set size (RSS) of the Volt Active Data process would keep growing when the database was idle. The symptom only manifested itself on Red Hat Enterprise Linux (RHEL) 6.6 in KVM. There was no client workload, […]
NoSQL vs. NewSQL: Choosing the Right Tool
Trying to choose a database to solve a problem (or a whole set of them)? Here’s a quick rundown of the advantages – and disadvantages – of NoSQL versus NewSQL. Choosing the right tool for the job at hand is 80 percent of getting to a solution; the other 20 percent is really understanding the […]
FoundationDB’s Lesson: A Fast Key-Value Store is Not Enough
The sale and subsequent closure of FoundationDB cut short something of a grand experiment. FoundationDB, conceived as a Key-Value store, had decided to add flexibility in the form of programming and query-model “Layers” on top of its core KV store. First up was SQL, software that ran on top of core FoundationDB and provided SQL […]
How Docker Simplifies Distributed Systems Development at Volt Active Data
Working on distributed systems is fun, but not easy! As a software engineer at Volt Active Data, a big chunk of my time is spent testing software on a cluster of machines as part of new feature development and also for customer issue reproduction. Any software engineer who does this on a daily basis knows […]
Simplifying the (complex) Lambda Architecture
The Lambda Architecture defines a robust framework for ingesting streams of fast data while providing efficient real-time and historical analytics. In Lambda, immutable data flows in one direction: into the system. The architecture’s main goal is to execute OLAP-type processing faster – in essence, reduce columnar analytics from every couple of seconds to 100ms or […]