Riak Reviews

10 Ratings
<a href='https://www.trustradius.com/static/about-trustradius-scoring' target='_blank' rel='nofollow noopener noreferrer'>trScore algorithm: Learn more.</a>
Score 8.0 out of 101

Do you work for this company?

Overall Rating

Reviewer's Company Size

Last Updated

By Topic

Industry

Department

Experience

Job Type

Role

Reviews (1-5 of 5)

Adam Stern profile photo
Score 8 out of 10
Vetted Review
Verified User
Review Source
Riak is used as the main database/K-V Store for the company's product, the Dittach Platform. It is used to store information on all the objects/documents we manage in our environment. We selected Riak because it is highly available, highly scalable, and has Apache SOLR built into the data store for fast searching and indexing.
  • 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.
  • 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.
Riak is very good if you need a resilient data store that can handle large amounts of documents very fast. If you have 1,000,000 documents and need to execute complex queries, it is great.
Riak's SOLR engine is fast, however if you have extremely high amount of queries in a very limited time range, it can fail in a bad way.
Read Adam Stern's full review
Gerald Chenvert profile photo
Score 7 out of 10
Vetted Review
Verified User
Review Source
We use Riak as a datacenter/cloud replicating noSQL database. It is being used by various teams in our organization to write data which is then replicated to the cloud for cloud based service lookups. Riak allows us to provide data to the cloud in a secure manner via the "hub and spoke" replication model. Riak has proved instrumental in allowing us to move applications from a datacenter, to the cloud.
  • 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.
  • 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.

Riak is well suited as a key value store. It does exactly what it says it does. If you have well known buckets/keys, Riak is a great solution for a ton of different use cases. The lack of ability to search is somewhat problematic for other use cases requiring this ability.

Also, while the ability to store a variable array of data into a single bucket/key is extremely useful, if you have a use case requiring parts of that value to be updated independently, Riak does not support transactions so you open yourself up to contention issues if the data is being updated regularly in small portions. One solution to this is to use multiple bucket/key parts to store the data, which will remove the contention issue, but then you have to increase your Riak footprint which results in more buckets and can sometimes make things more difficult than needed. This has been a nagging issue we've had to deal with on multiple occasions.

Read Gerald Chenvert's full review
Jared Holmberg profile photo
Score 9 out of 10
Vetted Review
Verified User
Review Source
I used Riak's ability to link objects in the database as a way to build up a hierarchical tree of documents representing student administrative and testing data as part of a project to integrate across dozens of systems in a large technology and education company. Riak was used as the basis for the data model used in the operational data store.
  • 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.
  • 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.
When I'm considering doing analysis on a large data set using machine learning algorithms, admittedly, Riak is not my first choice. I'd probably look into the idea of using something like Spark to run a distributed algorithm on my data. That means I'd have to copy data out of Riak into HDFS to run it. If you had good integration with Spark, that would be a welcome addition. That would save a lot of time in moving data between the Riak cluster and the HDFS cluster.
Read Jared Holmberg's full review
Jeff Peck profile photo
December 11, 2015

My Riak Review

Score 9 out of 10
Vetted Review
Verified User
Review Source
We are using Riak as a backend to our weekly build cycle that processes data for millions of industrial parts each week. The system that we actually feed to is not always 100% reliable, but we simultaneous feed metadata about each item to Riak to keep as a reliable picture of what our front-end *should* look like. This is also useful for purging old data. We built this system several years ago and have been using it consistently and reliably.
  • 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.
  • 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.
Riak is ideal for any situation that requires a reliable backend datastore.

However, for relatively small key-value lookups, I would recommend an in-memory data-store such as Redis.
Read Jeff Peck's full review
No photo available
Score 10 out of 10
Vetted Review
Verified User
Review Source
It is being used as a backend for a web application used for storage of generated daily merchant statements.
  • Consistency model is highly distributed, so uptime of our documents is always available.
  • Simple to use RESTful interface, which was easy to access from our Java application.
  • Data model using catalogs and indexes was simple, making it easy to store and retrieve our statements.
  • It does not have any native startup scripts in Linux.
  • Since it's built on Erlang, its a bit difficult to administer.
Riak is well suited for storing documents using a RESTful URL, such as files in byte format. I would not recommend using it for structured data with many relations.
Read this authenticated review

Feature Scorecard Summary

Performance (1)
9
Availability (1)
10
Concurrency (1)
10
Security (1)
9
Scalability (1)
10
Data model flexibility (1)
9
Deployment model flexibility (1)
9

About Riak

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

Riak Technical Details

Operating Systems: Unspecified
Mobile Application:No