Free Riak database acts like depressed teenager to assure data reliability
Version 1.3 constantly interrogates itself to make sure data is ok
Basho's NoSQL Riak database has been given an upgrade that makes it question its own integrity at all times – a tedious trait in people, but a handy one for assuring data preservation in massively distributed information stores.
The "active anti-entropy" feature in Riak 1.3, which was released on Thursday, means the open source database will constantly interrogate key-value data stored in multiple locations to repair divergent, missing, or corrupted replicas.
Previously, Riak checked up on the health of data during read requests. Administrators could also issue a repair command via the Riak Console, which would fix all data in a specific partition. But that depended on knowing that data in a certain partition was outdated – "not super-viable for large deployments," Basho director of product management Shanley Kane told The Register via email.
Active Anti-Entropy, by contrast, runs in the background.
"Having things running in the background also detects problems sooner, which not only repairs problems sooner but also allows repairs to happen incrementally over time versus, say, only verifying data once a week and repairing lots of data in bulk," Kane said.
By running in the background, anti-entropy can be particularly useful for maintaining cold data – that is, data that is not likely to be read for long periods of time, Kane said.
Anti-entropy works by determining the difference between bits of data via a hash tree exchange. This means the amount of information exchanged during Active Anti-Entropy interrogation is proportional to the differences between two replicas.
The hash trees are stored as persistent entities in LevelDB instances outside the standard Riak key-value data. Trees are expired and rebuilt once a week to protect against the hash diverging from the underlying data, and trees are updated whenever a write is sent to the Riak-stored data.
Along with the entropy feature, IPv6 support has been expanded to the protocol buffer interfaces and some parts of Riak's data transfer component. Also, the Riak Control management software has been given a polish to give developers that 'new iterative release feel'. The update to the database is available via Basho's Github page .
Swanky multi-data center replication for enterprises with cash
Riak Enterprise, a paid-for version of the Riak database that Basho develops for large businesses, has received an update as well, in the form of "Advanced Multi-Datacenter Replication Capabilities."
The technology makes it easier to replicate information between multiple data centers without suffering a huge latency hit.
This is one of the trendier features to implement in a database at the moment, and follows TransLattice  adopting a similar technology for their cloud-based tech.
Riak 1.3 updates the paid-for Riak Enterprise product's "Advanced Multi-Datacenter Replication Capabilities."
This upgrade give administrators the option of streaming data from one cluster to another over multiple TCP connections – the number of which tops out at around one per physical node – where previously you could only use one TCP connection per cluster, which could create performance bottlenecks.
"The new replication improvements are already used in production by customers and yielding significant performance improvements," Riak said. "For now, the new replication technology is available in advanced mode: it’s optional to turn on."
However, the technology does not yet support SSL, NAT, or full-sync scheduling, so organizations with thorough security policies may have to do a bit of extra work to use the feature.
"Our expectation is that most enterprises will already have trusted transport layer security solutions in place, but adding SSL to the advanced mode is one of our top priorities," Kane said, and indicated SSL support should come along in May.
Riak Enterprise pricing starts at $6,000 per node, and discounts are available as the number of nodes increases. ®