December 26, 2013
This year, we added a wide variety of resources to help you better understand Riak and Riak CS for different use cases. These resources include whitepapers, webinars and videos, sample apps, and outside articles and reports. Here’s a look at some of what was added in 2013.
With multiple releases over the past year, all of the primary product whitepapers have been updated. Check out new versions of:
We also added a number of vertical-specific whitepapers to help companies in various industries better evaluate Riak and Riak CS.
Intro to Riak Webinar
In addition to hosting multiple introduction webinars throughout the year, we also created a standalone “Intro to Riak” webinar that can be watched and shared easily. To watch this webinar, simply fill out the webinar request form.
To showcase the power of indexing in Riak, we created a Zombie Sample App that’s run on Riak. This app has one million “Zombielepsy” victims loaded into Riak and lets the user locate them using zip code as the index value. It supports both Term-Based Inverted Indexes and Secondary Indexes. In addition to better understanding indexing in Riak, users can:
- Create a Zombie Sighting Report System so the concentration of live zombies in an area can quickly be determined based on the count and last report date.
- Add a crowd-sourced Inanimate Zombie Reporting System so that members of the non-zombie population can report inanimate zombies.
- Add a correlation feature, utilizing Graph CRDTs, so we can find our way back to Patient Zero.
More details about this app can be found here.
Articles and Reports
Outside of what has been created by Basho, we think that outside sources can also be a valuable tool when evaluating Riak or Riak CS. Our updated News Page helps to showcase much of this, but we thought we’d call out a few helpful articles from the past year.
Information Week – “Big Data Reshapes Weather Channel Predictions”
IDC – “IDC MarketScape: Worldwide Object-Based Storage 2013 Vendor Assessment”
The Register – “What Do We Want? Strong Consistency! When Do We…Oh It’s In Riak v2”
Programmable Web – “Seagate Releases Open Source API to Eliminate Data Storage Complexity”
The Register – “Distributed Systems Boffins Flock to RICON West”
Computer Weekly – “Computer Weekly European User Awards for Storage: Winners”
Gartner – “IT Market Clock for Database Management Systems, 2013”
Information Week – “Basho Embraces OpenStack with Riak Cloud Storage”
Flyclops Blog – “Taking the Riak Plunge”
Forrester Research – “To Get National Healthcare Right Requires Adaptive Intelligence”
451 Research – “451 Research Survey Highlights Growing Adoption of NoSQL Databases”
GigaOm – “Storage Player Basho Open Sources Riak CS”
November 13, 2013
This series of blog posts will discuss how Riak differs from traditional relational databases. For more information about any of the points discussed, download our technical overview, “From Relational to Riak.”
One of the biggest differences between Riak and relational systems is our focus on availability. Riak is designed to be deployed to, and runs best on, multiple servers. It can continue to function normally in the presence of hardware and network failures. Relational databases, conversely, are simplest to set up on a single server.
Most relational databases offer a master/slave architecture for availability, in which only the master server is available for data updates. If the master fails, the slave is (hopefully) able to step in and take over.
However, even with this simple model, coping with failure (or even properly defining it) is non-trivial. What happens if the master and slave server cannot talk to each other? How do you recover from a split brain scenario, where both servers think they’re the master and accept updates? What happens if the slave is slow to respond to updates sent from the master database? Can clients read from a slave? If so, does the master need to verify that the slave has received all updates before it commits them locally and responds to the client that requested the updates?
Conversely, Riak is explicitly designed to expect server and network failure. Riak is a masterless system, meaning any server can respond to read or write requests. If one fails, others will continue to service client requests. Once this server becomes available again, the cluster will feed it any updates that it missed through a process we call hinted handoff.
Because Riak’s system allows for reads and writes when multiple servers are offline or otherwise unreachable, data may not always be consistent across the environment (usually only for a few milliseconds). However, through self-healing mechanisms like read repair and Active Anti-Entropy, all updates will propagate to all servers making data eventually consistent.
For many use cases, high availability is more important than strict consistency. Data unavailability can negatively impact revenue, damage user trust, lead to poor user experience, and cause lost critical data. Industries like gaming, mobile, retail, and advertising require always-on availability. Visit our Users Page to see how companies in various industries use Riak.
September 16, 2013
At Gilt Groupe, each day at 12pm is peak site traffic time and their main user store receives 100,000 requests per minute. To handle these traffic spikes, they need a durable database that will stay up no matter what. They decided to look into using Riak for this main user store but, before they could bring it into production, they needed to performance test it.
With the help of two Basho engineers, Seth Thomas and Steve Vinoski, they were able to create a Riak test system in a week. They stress tested Riak and Riak passed with high marks. Riak also continued to perform well during a number of staged failure scenarios.
To ensure that Riak was actually as solid as the testing seemed to prove, they even simulated some extreme read and write loads. Zeusbench executed an extreme number of HTTP requests against the test service and reported metrics on performance. They also wrote a program that executed 1,500 insertions into Riak per second. Even with both these running, read/write performance in Riak never suffered.
Gilt Groupe was also able to kill multiple nodes in Riak while maintaining the production load. Riak continued to shine.
For more information about how Gilt Groupe tested Riak, check out their blog. Additionally, if you’re in New York tomorrow (September 17th), register for the Riak Meetup at Gilt Groupe’s office. Jim Englert (Gilt Groupe Lead Software Engineer) will be speaking about his experiences stress testing Riak and Basho’s Tom Santero will talk about what’s in store for the future of Riak.
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.”
March 25, 2013
We have a few new pages on our site to help you start building retail, advertising, mobile, or gaming apps and services on Riak. On each of these pages, you will find industry use cases for Riak, relevant case studies from companies already using it in production, and information on Riak’s key/value model and querying features. Here’s a quick overview:
Riak lets retailers provide always-on, highly scalable eCommerce and mobile services. Retail use cases for Riak include:
- Shopping carts
- Product catalogs
- Mobile applications/sites
Advertisers need to serve data reliably and quickly. Common ways advertisers leverage Riak include:
- Serving ad content
- Session storage
- Mobile experiences
Riak provides the scalable, small object storage required by mobile applications and platforms. Riak can be used for many different mobile needs, including:
- User and session data storage
- Text and multimedia storage
- Social authentication
Gaming platforms and applications benefit from Riak’s scale-out, low-latency design, and flexible storage capabilities. Some common use cases include:
- Player data
- Session data
- Social information
- Gaming assets
January 31, 2013
This is the second in a series of blog posts covering Riak for retail and eCommerce platforms. To learn more, join our “Retail on Riak” webcast on Friday, February 8th or download the “Riak for Retail” whitepaper.
In our last post, we looked at three Riak users in the eCommerce/retail space. In this post, we will look at some common use cases for Riak and how to start building them with Riak’s key/value model and querying features.
- Shopping Carts: Riak’s focus on availability makes it attractive to retailers offering shopping carts and other “buy now” functionality. If the shopping cart is unavailable, loses product additions, or responds slowly to users, it has a direct impact on revenue and user trust.
- Product Catalogs: Retailers need to store anywhere from thousands to tens of thousands of inventory items and associated information – such as photos, descriptions, prices, and category information. Riak’s flexible, fast storage makes it a good fit for this type of data.
- User Information: As mobile, web, and multi-channel shopping become more social and personalized, retailers have to manage increasing amounts of user information. Riak scales efficiently to meet increased data and traffic needs and ensures user data is always available for online shopping experiences.
- Session Data: Riak provides a highly reliable platform for session storage. User/session IDs are usually stored in cookies or otherwise known at lookup time, a good fit for Riak’s key/value mode.
In Riak, objects are comprised of key/value pairs, which are stored in flat namespaces called “buckets.” Riak is content-type agnostic, and stores all objects on disk as binaries, giving retailers lots of flexibility to store anything they want. Here are some common approaches to modeling the data and services discussed above in Riak:
Riak provides several features for querying data:
Riak Search: Riak Search is a distributed, full-text search engine. It provides support for various MIME types & analyzers, and robust querying.
Possible Use Cases: Searching product information or product descriptions.
Secondary Indexing: Secondary Indexing (2i) gives developers the ability, at write time, to tag an object stored in Riak with one or more values, queryable by exact matches or ranges of an index.
Possible Use Cases: Tagging products with categories, special promotion identifiers, date ranges, price or other metadata.
Possible Use Cases: Filtering product information by tag, counting items, and extracting links to related products.
Check out our docs for more information on building applications and services with Riak.
January 29, 2013
This is the first in a series of blog posts covering the benefits Riak offers to developers and operators of retail and eCommerce platforms. To learn more, join our “Retail on Riak” webcast on Friday, February 8th.
As retailers grow and have to store more and more data, traditional relational databases aren’t always the best option. Retailers want to scale easily, without the operational burden of manual sharding. Meanwhile, business requirements demand their data is always available for reads and writes. Riak is a highly available, low latency distributed database that is ideal for retailers who need to serve product data quickly and maintain “always on” shopping experiences. Riak is based on architectural principles from Amazon. Riak is designed for high availability and scale so retailers can always serve customers, even under failure conditions, and rapidly grow to meet peak loads.
Retailers of all sizes have chosen Riak to power parts of their business, including:
- Best Buy: Best Buy is North America’s top specialty retailer of consumer electronics, personal computers, entertainment software, and appliances. Riak has been an integral part in the transformation push to re-platform Best Buy’s eCommerce platform. For more info, check out Best Buy’s talk from our 2012 developer conference, RICON.
- ideeli: ideeli is one of the fastest growing retailers with over 5 million members and more than 1,000 brand partners. They use Riak to serve HTML documents and user-specific products. ideeli chose Riak to power their event-based shopping experience due to Riak’s ability to serve users information at low latency and provide ease of use and scale to ideeli’s operations team. Check out the complete case study for more details.
- Copious: Copious is a social commerce marketplace that makes it easy for people to buy and sell the things they love. They currently store all registered accounts in Riak as well as the tokens that make it possible for users to authenticate with Copious via their Facebook or Twitter accounts. They chose to use Riak for their social login functionality because of its operational simplicity, which allows them to easily scale up without sharding and provides the high availability required for a smooth user experience. For more details, check out the complete Copious story on our blog.
For more information about the benefits of Riak for retailers and the retailers already using it, register for our “Retail on Riak” webcast on February 8th!
January 28, 2013
Copious is a social commerce marketplace that makes it easy for people to buy and sell the things they love. Copious uses social data from Facebook and Twitter to customize the shopping and selling experience for each individual user around their interests, taste, and style. This connects buyers and sellers to each other in a unique way that also presents exciting technical challenges.
In the summer of 2012, Copious decided to switch to Riak from MongoDB for their social login functionality. They currently store all registered accounts in Riak as well as the tokens that make it possible for users to authenticate with Copious via their Facebook or Twitter accounts. Copious now stores hundreds of thousands of keys in Riak.
Copious found that Riak’s key/value data model was a natural fit for their authentication scheme and that it was easy to set up and run on Amazon Web Services. They run an HTTP service in front of Riak that presents data in the appropriate form and handles events between the front-end application and the backend data storage.
“Operating in a cloud environment, our infrastructure must be resilient to failure. Sometimes machines or even entire availability zones just disappear, and Riak’s fault-tolerant design means we remain available despite these failures. Riak is one component we never worry about, and requires much less operational work than other datastores,” said Robert Zuber, co-founder of Copious.
Copious is one of the many companies now using a polyglot approach to their platform – using Riak alongside MySQL, Redis, SOLR, and other technologies depending on the problem they need to solve. They chose to use Riak for their social login functionality because of its operational simplicity, which allows them to easily scale up without sharding and provides the high availability required for a smooth user experience. Based on their success with Riak, Zuber has said that they are looking to move more data to Riak in the future.
You can sign up now on Copious to earn $10 off your first $20+ purchase, plus the added bonus of knowing that Riak is in the background helping the site do its magic. If you’re in San Francisco, make sure to attend our Riak meetup on Wednesday, February 13, where Copious will be presenting how they use Riak alongside other datastores.
To learn more about how Riak can benefit your eCommerce or retail platform, join our webcast, “Riak on Retail” on February 8th!
January 22, 2013
Best Buy is North America’s top specialty retailer of consumer electronics, personal computers, entertainment software, and appliances. Riak has been an integral part in the transformation push to re-platform Best Buy’s eCommerce platform. Riak’s architecture has helped Best Buy build and operate its new platform with Riak playing a key role.
At our developer conference, Ricon, we were lucky to have Joel Crabb, Director of Web Architecture at BestBuy.com, talk about how Riak fits into their pattern of innovation and moving from a traditional relational architecture.
To learn more about how retailers can use Riak for their eCommerce needs, check out the whitepaper, “Retail on Riak: A Technical Introduction.” For more information on moving from a relational database to Riak, sign up for our webcast this Thursday, covering advantages, tradeoffs and development considerations.