TrustRadius: an HG Insights company

Riak

Score10 out of 10

11 Reviews and Ratings

What is Riak?

Riak is a NoSQL database from Basho Technologies in Bellevue, Washington.

Top Performing Features

  • Performance

    How fast the database performs under data load

    Category average: 9.2

  • Availability

    Availability is the probability that the NoSQL database will be available to preform its function when called upon.

    Category average: 8.9

  • Concurrency

    Concurrency is the ability for multiple processes to access or change shared data simultaneously. The greater the number of concurrent user processes that can execute without blocking each other, the greater the concurrency of the database system.

    Category average: 9

Areas for Improvement

  • Data model flexibility

    NoSQL databases do not rely on rely on tables, columns, rows, or schemas to organize and retrieve data, but use use more flexible data models to accommodate the large volume and variety of data being generated by modern applications.

    Category average: 9

  • Deployment model flexibility

    Can be deployed on-premise or in the cloud.

    Category average: 8.9

  • Security

    Security features include authentication against external security mechanisms liker LDAP, Windows Active Directory, and authorization or privilege management. Some NoSQL databases also support encryption.

    Category average: 8.9

Riak still alive and kicking!

Use Cases and Deployment Scope

Used as a data store in multiple scenarios. Everything from individual pair values such as datetime against currency exchange value through to large scale storage for videos and images. This was implemented in multiple clusters and tried on hardware varying from Raspberry Pi through to full rack mount servers. We also contributed towards the open source codebase.

Pros

  • Key-Value storage along with CRDTs
  • Fault tolerance
  • 100% uptime
  • Massively scalable
  • Consistent response speeds
  • Multi datacentre replication
  • Geographic replication/redundancy
  • Is free to use
  • Lots of client libraries

Cons

  • Missing a free text search function
  • More security work
  • Multi-tenant reporting
  • More types of index optimised for different structures
  • Automating repairs especially after unclean shutdowns
  • WebDAV/Samba shares for Riak CS
  • Implementing the SQL queries from Riak TS in Riak KV
  • Settable replication bandwidth caps
  • Safemode start up after failure
  • More client integrations

Other Software Used

Microsoft 365, Slack, Zendesk Suite

Return on Investment

  • Great ROI, has helped us generate significant revenue.
  • Low support costs as it hardly ever has any problems once correctly set up.
  • The only issue we had in so far was one development cluster overheating and periodically shutting down when its cooling system failed but that's a hardware issue, not a software one.

Alternatives Considered

MongoDB, Amazon S3 (Simple Storage Service) and Apache Cassandra

Riak is highly available, highly scalable, and has a fast search index.

Pros

  • Highly available: If nodes go offline for any reason, the system still operates.
  • Highly scalable: There is a minimum of 5 nodes, which can handle a lot by themselves. When scaling is required, it can be done easily, with minimal to no downtime on large scales.
  • Very fast searching: Riak has SOLR indexing built-into the core product, which makes querying for data very fast.

Cons

  • When the index definition changes, reindexing takes an extremely long time.
  • Support (both paid and community based) is very very lacking.
  • It is expensive to run.

Return on Investment

  • Riak has had a positive impact in the fact that it is still a very fast data store and can scale very well over time.
  • Riak has had a negative impact as it is one of the most expensive pieces of our architecture.
  • Riak's SOLR engine failed us at a critical moment which seriously hurt the company. Our use case is very different than the norm, so I don't expect this to affect most people.

Alternatives Considered

MongoDB and Redis

Other Software Used

Elasticsearch, Redis, Node

Great product and fast, beware of deletes!

Pros

  • Riak is great at handling large volumes of requests. We've seen Riak perform well under large volume while keeping response times quite low.
  • Riak is also fast providing consistent sub 10ms reads in both the datacenter and cloud.
  • Flexible allowing storage of numerous data types. We heavily leverage this to store various JSON documents in a single bucket.
  • We really like the RESTful interface that is provided. Makes the learning curve almost invisible and provides a quick speed to market in using Riak.

Cons

  • Deletes!!! We've seen on numerous occasions where Riak has "resurrected" deleted data. We've worked with Basho numerous times and tried multiple changes to the way we interact with Riak to prevent the problem but it still remains. The deletes seem to reappear weeks, even months, after the delete was issued. We've had to work around this issue by providing a "deleted" flag for all data objects stored in Riak. Thus, we do no delete but simply flip the flag. Excess baggage we would really like to not have to worry about.
  • Search. Currently there's no way to tell what data you have in Riak without already knowing a particular bucket/key. There is a way to list the keys for a given bucket but due to performance implications, this is not a viable method to lookup data. Especially when you have a large amount of keys in the bucket.

Return on Investment

  • It provided a solution for use to securely write data to the cloud. This has been instrumental in allowing us to move more applications to the cloud. Writes are performed behind firewalls and then replicated to the cloud for application consumption. By moving more applications to the cloud, we free up internal resources and can serve information in a much more scalable and reliable way.

Other Software Used

Oracle VM VirtualBox

A No Hassle Cloud Scale DB

Pros

  • If you're considering a NoSQL solution, one of Riak's strengths is that it is built to scale with very low management overhead. Compare Riak to something like HBase (requires a full Hadoop cluster, along with YARN, and Zookeeper), and you'll find it's much easier to set up and maintain.
  • Schemaless design in Riak makes it really easy to apply whatever design you like. Since you're not locked into seeing things just the SQL way, you've got more freedom with the type of data you store and the way you store it.
  • Riak is highly reliable. It's built on a platform that's meant to be incredibly resistant to failure. If you run in Riak in a cluster or cloud based environment, you can trust that it will be very dependable.

Cons

  • At the time I was using Riak, data was stored as blobs so you couldn't query the data directly on the server. This has since been remedied with the addition of full-text search support.

Return on Investment

  • Riak's simple API and simple management model made it a no brainer when it came to adopting it as a technology for the team.

Other Software Used

PostgreSQL, CouchDB, Redis

My Riak Review

Pros

  • Reliability -- we rarely have to do anything to maintain our Riak instance. It is just online and available for whatever we throw at it.
  • The Riak Python client is an excellent tool and handles parallel writes/reads very well
  • There is a large and very receptive community or Riak users and developers who seem to be able to help with most technical questions that have arisen.

Cons

  • It would be nice if there was a better way to configure Riak for multiple nodes with less manual configuration. Really, it's not a big deal, but I am being asked to write a "con" so this is what I thought of.

Return on Investment

  • Riak has been a key part of our company's build process for our client's search backend. It is valuable for is in that it provides a reliable way to view the current search index.

Other Software Used

Redis, Elasticsearch, Jenkins, MySQL