Riak is taking its S3 cloud storage software even higher
We all know it as a NoSQL database. But not so many know Riak as a cloud server. Basho, the company behind Riak's database, has brought out a shiny new version of its cloud storage solution, Riak CS 1.5.
Basho’s cloud project, which open-sourced last year, is just one of a few cloud services out there – so what exactly is it that makes it so special? JAXenter talked to Basho’s Director of Global Marketing, Jeremy Hill about the highlights of their Amazon S3 clone.
What’s new Riak CS 1.5
Part of Basho’s focus in its new cloud service is on building on its Amazon S3 compatiblity, which includes features like multi-object delete, put object copy and cache control headers.
“Riak CS 1.5 has an expanded Amazon S3 compatibility which makes it easy for customers who have experience with S3 public cloud to deploy and leverage Riak for private cloud and hybrid cloud use cases,” Hill tells us. “It also provides a technical preview which shows customers when clusters are approaching 1 petabyte. Our approach is to deploy and support large multi-cluster deployments.”
To improve its upload process, Riak breaks any file uploaded to its storage API into smaller (1MB) blocks across the underlying Riak cluster. Each of these chunks is then replicated three times to make sure it never gets lost.
Riak as a database
Riak CS is built on top of company’s flagship product, Riak, a decentralised key/value store NoSQL database.
Of course, Riak also isn’t the only one fighting to get ahead in the buzz of NoSQL. And for the most part, hype is directed towards rivals like MongoDB and Datastax’s key-value store Cassandra. But the truth is, comparing Riak to other NoSQL databases is kind of unfair, because it’s so different. Some commentators might argue that while Riak can’t compete with Mongo’s availability, Mongo can’t match Riak’s consistency. But Riak claims their database is actually "almost impossible to kill" and that high availability is one of its key Aspects.
Hill explained what it is about Basho’s database that makes it special, when compared to other NoSQL services. In essence, Riak is “a highly available, high performance platform that scales horizontally with support for both key value store and object storage.
“Customers like Temetra, the most widely used meter management system for water in Ireland, have said that it handles equipment failure so seamlessly, the only way they can tell if a failure has occurred is by checking the log files.”
The reason for this lies in the nature of Riak’s distributed system, Hill explains. When a node fails (for instance because of a disk or network error), a neighbouring node will automatically jump in with its own replica. Then when the node comes back online, Riak will automatically restore data from the failed node.
“Riak is a masterless, distributed database platform which was designed with the knowledge that equipment failures can and do happen and therefore builds in redundancy at every layer.”
It’s not only Irish water metering systems that have taken a noted interest in Riak. Finnish mobile games designer Rovio have also made prominent use of Riak’s database to make sense of the deluge of information pouring from their Angry Bird app users. Basho also claims that a third of Fortune 50 enterprises use their distributed database and cloud storage software.
Scaling up (and back down again)
Beyond the use of NoSQL, what is it about Riak that makes it scale?
"Riak was built from the ground up as a distributed system," says Hill. "As requirements grow, it can scale easily by simply adding additional nodes. Workload and storage are automatically distributed amongst all the nodes in the cluster – as a result performance and storage capacity scale in a linear way."
But the reverse is also true, Hill explains. “If your requirements are elastic, then you can vary the number of nodes in use.” And that means that as the load falls, so too do the costs in a cloud environment.
Last year, Basho unveiled a technical preview of Riak 2.0, which is scheduled to feature goodies like data types for simpler application developer, as well as the option of strong consistency for buckets. It looks like we can expect to hear plenty more about their database and cloud solutions in the near future.