April 14, 2014
Modern day advertisers are faced with many new challenges to ensure they can provide highly available, low latency experiences to thousands of clients and partners, and millions of users. They are also tasked with serving large amounts of data all over the world and can experience significant traffic spikes. That is why advertisers are switching to Riak for their database solution. Riak’s redundant, fault-tolerant design ensures that advertising companies can serve data reliably and quickly. Riak is also built for operational simplicity at scale and helps advertisers quickly grow to meet peak loads.
Top Use Cases for Riak in Advertising
- Serving Ad Content: Riak’s rapid storage and content agnosticism makes it ideal for storing ad content and handling influxes of ad traffic.
- Session Storage: This type of data is naturally a good fit for Riak’s key/value model. This data can also be encoded in many different ways and can evolve without any administrative changes to the schema.
- Mobile Experiences: Riak is ideal for the low-latency, always-available small object storage needed to power mobile experiences across platforms.
- Global Data Locality: Riak Enterprise’s multi-datacenter capabilities allow advertisers to maintain a global data footprint while providing an always-on, low-latency experience, anywhere in the world.
Riak in Production
Riak is already in production at many top advertising and marketing organizations. Here’s a look at a few that have switched to Riak.
Tapjoy is a mobile advertising and monetization platform that is available on over one billion devices across the world. They selected Riak due to its high availability, low-latency, and multi-datacenter replication. They store 48TB of data in Riak and operate hundreds of thousands of reads/writes per second. Learn more about why Tapjoy selected Riak from the case study.
OpenX is an ad technology platform that serves trillions of ads. They use Riak for user and trafficking data behind their data services API. OpenX also uses Riak’s multi-datacenter replication across several data centers. Watch Anthony Molinaro (Infrastructure Architect at OpenX) talk about how they use Riak for their serve-time data needs.
Velti is a mobile marketing and advertising technology provider. They use Riak for their interactive mobile platform, including letting people interact with their TV by voting, giving feedback, participating in contests, etc. Velti runs 18 nodes across two data centers, which provides them with scale, durability, and availability. Their case study goes into more detail about the process of moving to Riak.
JBA is a digital consultancy that specializes in developing customer understanding and behavioral targeting. They use Riak as a core part of their behavioral analysis and remarketing tool. They store over 10 million objects in Riak and can easily scale up to account for holiday sales cycles or new product releases as needed. Learn more about why they selected Riak from the beginning from their case study.
Moz provides analytics software to track all of a website’s inbound marketing efforts on one platform. They support over 27,000 customers and 300,000 community members worldwide. Moz uses Riak to store customer campaign search engine rankings data. Learn more about how Riak outperformed Cassandra at Moz in the case study.
Data Modeling in Riak
Riak has a “schemaless” design. Objects are comprised of key/value pairs, which are stored in flat namespaces called buckets. Here are some common approaches to structuring advertising data with Riak’s key/value design:
|Advertisement||Campaign ID||Ad Content|
|User Data||Login, Email, UUID||User Attributes (often stored as a JSON document)|
|Image or Video Content||Content Name, ID or Integer||.JPG, .PNG, .GIF or other image format; .MOV, .MPG, .MP4 or other video file format|
|Session Information||User or Session ID||Session Data|
To learn more about how advertisers can use Riak for their data needs, check out the complete overview, “Advertisers on Riak: A Technical Introduction.” To get started with Riak, Contact Us or download it now.
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 21, 2013
Tapjoy is a mobile advertising and monetization platform that allows end users to select personalized advertisements that they can engage with in exchange for rewards. Tapjoy is available on over one billion devices to users all over the world. Riak has been the cornerstone of their data management strategy for the past year.
Tapjoy’s global growth required the company to consider scalability. Their original infrastructure was built on SimpleDB; however, with billions of requests coming in on an average day, they started to experience performance issues due to latency, as well as limits on the size and location of data being stored. With their growth straining their data store, they wanted to find a new solution that would guarantee performance and uptime, even with peak traffic.
“Tapjoy can’t have downtime ever, planned or unplanned,” stated Wes Jossey, Systems Engineer at Tapjoy. “If Tapjoy goes down, end users can’t interact with our platform and they leave, which is unacceptable to us and to our partners.” Due to Tapjoy’s high requirements for availability, scalability, and data redundancy, there were really only a few players in the space to choose from.
The Tapjoy team found that DynamoDB didn’t have all of the features they needed (especially Secondary Indexes, at that time); HBase wasn’t the right fit for their use case; and Cassandra was deemed too operationally intensive for their small team, based on information provided by third parties who had been using Cassandra in production for years. With Riak, the Tapjoy team estimates that they have been able to keep costs down, decrease engineering complexity, and reduce operational effort due to its ease of use and general stability.
With Riak, Tapjoy is able to meet its high availability mandate, and achieve its stringent low-latency requirements with requests as quick as 750 microseconds (due to the real-time aspects of their platform). Tapjoy stores 48TB of data in Riak and operates hundreds of thousands of reads and writes per second against their clusters.
Their current clusters are replicated between multiple data-centers, to allow for failover in the event of unexpected downtime in one of their main facilities. Tapjoy opted to become Riak Enterprise customers not only to facilitate this replication requirement, but also because of the excellent customer support the Basho team is able to provide. “We rarely have issues with Riak, so I don’t get paged,” said Jossey. “Riak is a critical piece of our business, and it’s a huge relief that it just works.”
Tapjoy leverages many open source tools and cloud-based technologies to achieve the team’s “Get stuff done” philosophy. Their stack includes:
- Ruby on Rails, Java, Objective-C
- Amazon Web Services
- Chef, IronFan, Sensu, RabbitMQ
- Riak, MySQL, Couchbase, PostgreSQL, Zookeeper
- Hadoop, HBase, Vertica
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.
July 3, 2013
Basho CTO, Justin Sheehy, recently participated in a “Not Only SQL Summit,” alongside executives from some of the top NoSQL vendors. This summit was moderated by Ted Neward of Neward & Associates LLC and discussed the evolution of NoSQL systems as well as some associated best practices. It also included insights from customers currently using these NoSQL solutions.
In addition to Justin Sheehy, panelists included:
- Anthony Molinaro, Infrastructure Architect at OpenX, discussing how they use Riak
- Patrick McFadin, Principal Solution Architect at DataStax
- Michael Kjellman, Software Engineer at Barracuda Networks, discussing how they use Cassandra
- Justin Weiler, CTO at FatCloud
- Attinder Khalsa, Executive Software Architect at Wilshire Axon, discussing how they use FatDB
Throughout this summit, OpenX, Barracuda Networks, and Wilshire Axon discussed not only why they chose to move away from relational systems but also why they chose the NoSQL vendor that they did. They also talk about their experiences dealing with eventual consistency and schemaless data. You can view the full summit below:
June 12, 2013
Riak can be the perfect solution for advertising platforms because its redundant, fault-tolerant design ensures that advertisers can serve their data reliably and quickly. Riak is also built for operational simplicity at scale, making it easy for advertisers to quickly grow to meet peak loads.
We have put together a number of resources for advertisers who are evaluating Riak. Below are some of the highlights:
- The “Advertising on Riak” whitepaper provides an overview on how Riak can be used by advertising services and platforms.
- OpenX, an ad platform that serves over four trillion ads each year, has a video about why they selected Riak and how they use it to store user and trafficking data.
- Velti, a mobile marketing and advertising technology provider, uses Riak to provide high availability and scalability for their interactive subscriber service. Their case study goes into more detail about the process of moving to Riak.
- The Basho Docs site discusses common ways to model advertising data within Riak’s key/value structure.
- This blog post looks at some advantages and popular use cases of Riak in advertising.
For a complete list of resources, visit our Resources Page.
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
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.