June 11, 2013
Mobile platforms and applications need to provide low-latency user experiences that can scale quickly and support highly concurrent user access. That is why so many mobile applications have selected Riak to handle their data.
To see if Riak is a fit for your mobile use case, we have put together a number of resources that showcase how mobile companies are using Riak to solve a variety of challenges. Below are some highlights:
- The “Mobile on Riak” whitepaper provides a technical introduction of Riak, specifically for mobile needs.
- Voxer has both a case study and a video that look at how they use Riak to support their massive, sudden growth.
- Bump, one of the most popular mobile apps, has a case study that looks at why they chose Riak to store their user data, and a video that goes into more details about their data model.
- Comcast uses Riak as the primary datastore for their “Highly-Available Object Storage System,” which is used by their mobile applications and websites. More details can be found in their case study and from their talk at RICON 2012.
- OmniTI uses Riak to power the mobile rewards provider, Viggle.
- On our blog, there are posts on the advantages of Riak for mobile and how to build mobile applications with Riak.
For a complete list of resources, visit our Resources Page.
April 25, 2013
Qeep is a global social network, with more than 19 million registered users sending nearly five million messages each day. Qeep allows you to play games, chat with friends, send pictures, and more. They use Riak to store all user chat messages.
Qeep was founded in 2006. As they started to grow, they realized their single-instance relational database was not going to work for them anymore. Sharding was becoming a significant operational burden and high latency was preventing quick access to the users’ messages. Qeep needed a new solution that could better handle their significant growth.
They started evaluating a number of different NoSQL solutions. With over one billion keys to store and no complex querying requirements, a key/value store would provide straightforward access to user data. Ultimately, Qeep selected Riak due to its high availability, ease of scale, and predictable operational cost. Once chosen, they quickly migrated over 1.8 billion entries of legacy data from their previous relational database installation over to Riak.
Currently, Qeep uses Riak to store all user chat messages. These messages are stored as JSON objects and are accessed using the open source Riak Java Client, offering high performance access for fetching this data. Qeep uses additional structs to model aggregation of data like inbox, outbox and chats between two users. Qeep has made some changes to the Java client to meet their unique caching needs, which can be reviewed on Github.
Qeep has a 12-node cluster with 48GB of RAM per node, connected via a 1GB network. Qeep uses Riak’s LevelDB backend, which is ideal for deployments with a very large number of keys.
“We love the simplicity of administration and scaling that Riak offers,” said Ingo Rockel, Engineer at Blue Lion Mobile, “We have seen huge performance gains since switching to Riak, which has been the biggest plus for us, and has been the basis for planning future feature releases.”
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
March 5, 2013
Mobile platforms need to provide always available, low-latency experiences that can scale to millions of users and support highly concurrent access. Riak’s redundant and fault-tolerant design ensures mobile data can be served quickly and reliably, and Riak is run in production by many popular mobile applications. For a full overview, check out the whitepaper “Mobile on Riak: A Technical Introduction.” Below are a few key mobile use cases and basic approaches to modeling them in Riak:
User Data: Storing user accounts, profile information, and events is a common use case for Riak. Mobile apps often store this data in JSON documents, using a UUID or other identifier as the key. Data can be queried through Riak features such as secondary indexes, MapReduce, and full-text search.
Session Data: Since session IDs are commonly stored in cookies, or otherwise known at lookup time, they are a natural fit for Riak’s key/value model and Riak can serve these requests at predictably low-latency. Session data can also be encoded in many different ways and evolve without any administrative changes to schema.
Text & Multimedia Storage: Since Riak is content agnostic, mobile platforms can easily store a variety of different types of data, including audio, text, photos, video, etc. to power mobile experiences.
Social Authentication: Many mobile applications have users sign in via their Facebook or Twitter accounts. Riak’s key/value scheme makes it easy to store both registered accounts and the tokens that make it possible for users to authenticate with their social accounts.
Global Data Locality: Riak Enterprise’s multi-datacenter capabilities mean mobile data can be stored in physical proximity to users and served at low-latency no matter where they happen to be.
Here is a chart with possible ways these applications and services can be modeled using Riak’s key/value design. Of course, your application should be structured in a way appropriate to its access and query patterns, among other factors – this is just to get you started. For more information on designing applications with Riak, check out our documentation.
To learn more about how mobile platforms can use Riak for their data needs, check out the complete overview, “Mobile on Riak: A Technical Introduction.” For more details about Riak and the latest 1.3 release, sign up for our webcast on March 7th.
February 26, 2013
Mobile platforms and applications pose unique infrastructure challenges for today’s companies. These applications require low-latency, always-available small object storage that can scale to millions or more users, and support highly concurrent access and traffic spikes.
Riak provides a number of benefits for these platforms, including:
- Low-Latency Data Storage: Riak is designed to serve predictable, low-latency requests to provide a fast, available experience to all users.
- Straightforward Data Model: Riak uses a simple key-value data model, which is ideal for storing and serving mobile content, user information, events, and session data. Riak is content agnostic, so there are no restrictions on content type.
- Accommodates Peak Loads Gracefully: To handle increasing user data and accommodate peak loads during events, Riak makes it easy to add additional capacity and scale out quickly. Riak automatically rebalances data when new nodes are added, while its consistent hashing methodology prevents hot spots in the database.
- Multi-Datacenter Replication: Riak Enterprise’s multi-datacenter replication allows mobile platforms to serve low-latency content to users all over world by maintaining a global data footprint.
- For a full overview, download our new whitepaper on building mobile services with Riak
Bump is a popular mobile app that makes it easy for users to share their contact information, photos, and other objects by simply “bumping” their smartphones. They use Riak to store user data and currently run 25 nodes of Riak storing about 3TB of data.
For more details about how Bump uses Riak and how they designed their application, check out Bump’s presentation at RICON2012, Basho’s 2012 developer conference. You can also read the complete case study for more information about why Bump chose Riak.
Voxer is a popular Walkie Talkie application for smartphones that allows users to send instant voice messages to one or more friends. They switched to Riak due to its fault-tolerance and ability to scale quickly and easily. They currently run more than 50 machines on Riak to support their huge growth and user base. For more details about how Voxer uses Riak, check out the complete case study and watch Matt Ranney’s talk at a Riak Meetup in San Francisco.
To learn more about how mobile platforms can use Riak for their data needs, check out the complete overview, “Mobile on Riak: A Technical Introduction.”
February 13, 2013
Bump, one of the most popular mobile apps of all time, makes it easy for users to share their contact information, photos and other objects by simply “bumping” their smartphones. Bump uses Riak to store user data including events, communications sent and received, handset information and tokens needed to authenticate using social networks.
Bump chose Riak for its operational ease-of-use, ability to scale writes, and availability under failure conditions.
“It’s a relief that we don’t need to spend time thinking about whether or not Riak is working,” said Will Moss, Server Engineer at Bump. “It does what it’s supposed to do; nodes can go down but Riak will still work. It’s great to be able to deal with node failures the next day instead of at 3am.”
Recently, Bump expanded their mobile app offerings and launched Flock, a photo-sharing app. For more information on how Flock uses Riak, including their data model, watch Bump’s presentation at RICON2012, Basho’s 2012 developer conference. Bump is now running 25 nodes on Riak and storing around 3TB of data.
You can also check out the complete case study.
February 12, 2013
OmniTI is a provider of web infrastructures and applications for companies that require scalable, high-performance, mission critical solutions. They specialize in providing complex, high-transaction, and large-volume data applications. One of their customers is Viggle, a mobile app that rewards people for checking into the television shows they are watching. Viggle has more than a million users, and its advertisers include Pepsi, Kraft, and Capital One.
OmniTI designed the server architecture for Viggle’s mobile app and also designed the internal APIs that connect Viggle’s multiple back-end services, creating a cohesive, fault-tolerant system. OmniTI chose Riak as an integral part of this system, providing high availability and low latency during peak times.
“For this architecture, near-zero downtime and sustaining high throughput with low latency are critically important,” said Theo Schlossnagle, CEO of OmniTI. “We needed Viggle’s key components to remain available and responsible under sudden floods of user traffic, which made Riak the perfect fit. Riak has not disappointed us and has performed exactly as needed for this application.”
For more information on how Viggle has used OmniTI to design and support their system, check out their full announcement.
December 3, 2012
In 2009, mobile marketing and advertising technology provider Velti had a good (but challenging) problem on their hands. Their technology, which allows people to interact with their TV by voting, giving feedback, participating in contests, etc., had taken off. It had been adopted by nearly all of the TV broadcasters in the UK and three of the UK’s five mobile operators. As more customers began using their technology, Velti saw quick growth in (inherently spikey) traffic. Their 2003-era .NET, SQLServer platform was becoming a concern.
Because the team at Velti had been working with Erlang (what Riak is written in), in 2010 they brought in Erlang Solutions to help them architect their next generation platform. Riak was chosen for the database, and an early version of Multi-Data Center replication in Riak Enterprise was used to build two geographically separated sites to minimize potential catastrophic outages.
Velti’s new mGageTM platform is now running on 18 servers across two data centers (nine nodes in each data center), with each server running both Erlang applications as well as Riak. We’re pleased to pass along reports that the platform is redundant, queue behavior has significantly improved (especially for large queue populations), and that after Velti moved to Riak 1.2, they saw noticeable disk space utilization thanks to improvements in merge management.
Markus Kern, VP Technology at Velti summarizes, “We operate a 24/7 service for over 140 customers. We cannot afford a single minute of downtime. Riak gives us the ability to meet and exceed our requirements for scale, data, durability, and availability.” Woot!
For more details on Velti’s experience, see our case study Highly Available Mobile Platform With Riak.
June 27, 2012
The team at Voxer has long relied on Riak as their primary data store for various production services. Over the last year or so, they have put Riak through its paces and have served as one of our more exciting customers and use cases: Riak was in place when they shot to the top of the App Store at the end of last year. We also love them because they open-sourced their Node.js client for Riak about a month back.
This talk was recorded last week at the Riak Meetup in San Francisco. In it, Matt Ranney, CTO, and Ryan Sokol, Director of Engineering, go in depth on why they selected Riak over a few other databases, how they built their services on it, the issues they ran into in production (and where they think Riak should improve) and, ultimately, why they feel Riak is the only technology capable of supporting their massive growth over the past twelve months. It’s an all-around great talk full of honest feedback and experience from one of our largest production users.
A few things to note:
* Their slides are here for those of you who like PDFs.
* Matt references this blog post about TCP Incast about halfway through the talk.
* If you want to work with Voxer on systems like this, they are hiring (and, in addition to having a great team, their new SF office is downright amazing).