June 13, 2013
Riak is a highly available, low-latency database for retailers that need to provide always-on eCommerce and mobile channel services. Riak offers a number of key technical benefits for retailers including a highly available experience for shoppers, the ability to scale to peak loads during major holidays with low operational costs, and global data locality for a low-latency experience for shoppers all over the world.
For retailers that want to learn about the advantages of Riak, we have put together some resources that showcase how other retailers are using Riak. Below are some of the highlights:
- The “Retail on Riak” whitepaper looks at how Riak can be used for common retail needs, such as powering shopping carts and product catalogs.
- Riak’s architecture has helped Best Buy build and operate its new platform, with Riak playing a key role. To learn more about why Riak was selected, check out this video from RICON 2012.
- ideeli, a flash shopping site, uses Riak to provide a reliable and available persistent cache. More information can be found in their case study.
- Copious is a social commerce marketplace that uses Riak to handle user authentication via Facebook or Twitter accounts. For more details on their polyglot data store, check out their case study and video from their Co-Founder.
- Shopzilla has both a case study and video that highlights how they use Riak to power their keyword and scrapbook data services.
- On our blog, you can find slides from the Retail on Riak webcast, the benefits Riak offers retailers, examples of Riak in production, and how to start building retail applications in Riak.
For a complete list of resources, visit our Resources Page.
May 28, 2013
Shopzilla allows customers to easily find, compare, and buy anything on the web. They reach over 40 million customers each month, connecting them to 100 million products from tens of thousands of retailers. Riak powers both their Keyword and Scrapbook Data Services.
Previously, Shopzilla was using large installations of RDBMS as their primary data platform. This worked well for some use cases – however, it had unnecessary features and was expensive for some services, especially read-heavy use cases with large datasets. For these use cases, they wanted an open source solution that offered deployment on commodity hardware and support for high read and write throughput. With downtime having a direct impact on revenue, availability was a critical factor. Riak was evaluated alongside MongoDB, Redis, and HBase. Ultimately Riak not only fit all of their criteria, but also offered ease of management and operations, allowing their development team to focus on other areas of the business.
Shopzilla uses Riak to store data for its Keyword and Scrapbook Services. The Keyword Service serves metadata about primary keywords and requires real-time access. It stores over 1 billion keywords and can process tens of millions of new keywords at a time. They migrated this service over to a six-node Riak cluster that uses Varnish for caching. Riak is accessed via protocol buffers for high performance and uses the LevelDB backend, best suited to implementations with a very large number of keys. Under moderate load, they see 95% of traffic requests come in under 10 milliseconds.
The Scrapbook Service allows Shopzilla to aggregate product information from different web sources to add supplemental details on their product pages. This means they potentially need to store data equivalent to the scale of their product inventory. Since this product information is accessed via Product ID, it was a perfect fit for Riak’s key/value data model. To provide familiar ad-hoc SQL querying capabilities, they worked with their content team to aggregate and stage this data in an Oracle schema before bringing it into Riak. This allowed them to design a schema based on their needs that would not affect the speed in which Riak serves this data. Most of their online requests are served in well under 5 milliseconds.
Riak has been in production at Shopzilla for over a year now. According to Will Gage, Principal Software Architect at Shopzilla, “I haven’t had to worry about Riak since implementation because we haven’t had any significant problems with it. We’re confident we made the right choice with Riak. It works as it’s supposed to and its stability is great. We’ve watched it work through real-life network partitions under load and recover quickly with no intervention. In short, Riak lets us focus on things other than the database.”
April 24, 2013
Will Gage of Shopzilla presented last week on their production Riak usage at the Santa Monica Java Users’ Group. Gage, a member of the Consumer Site Engineering team, shared details on how they built various user-facing services on Riak, why it was the right tool for the job, and when you might want to use it in production. Will’s talk starts at the 49 minute mark in the video embedded below, and it’s well worth your time. In addition to offering details on data modeling for their specific use cases, he also talks about service latencies for their production applications and how the Riak community played an important role in their decision.
Mark Phillips, Basho’s Director of Technical Evangelism, also presented. His talk starts at approximately the 1:20:00 point and is entitled Riak and the Power of Distributed Systems. An excellent complement to Will’s talk, this covers Riak’s architecture at a high level, how to access it as a developer, and then ends with a few use case discussions.
If you’re interested in more talks on Riak in production and the future of Riak, make sure to grab a ticket for RICON East, happening May 13-14 in New York City. This will be two days of talks, parties, and hacking dedicated to Riak, developers, and the future of distributed systems in production.