October 3, 2013

Moz provides analytics software to track all of a website’s inbound marketing efforts on one platform. Dedicated to helping people do better marketing, Moz creates easy-to-use tools, tutorials, and educational resources for learning inbound marketing—and fosters the web’s most vibrant online marketing community. With offices in Seattle, WA and Portland, OR, Moz supports over 27,000 customers and 300,000 community members worldwide. For nearly three years, they have been using Riak to store customer campaign search engine rankings data.

Originally, Moz was storing campaign search engine rankings data in MySQL servers. However, as their customer base grew, they were struggling to grow their relational system at the same rate. Moz’s policy is to select the best tool for the job. For each use case, they test a variety of databases and select the best option based on the results of the test. For customer campaign data, their top priorities were scalability and having a range of querying options. Their decision, eventually, was whittled down to Riak and Cassandra. For customer campaign search engine rankings, this data needed to be written immediately to the database and accessed quickly and easily. Additionally, MapReduce capabilities simplified retrieving this data, and compiling summary information for their users. With delays between writes and reads and a lack of MapReduce, Cassandra simply couldn’t keep up and Riak was ultimately selected.

According to Moz CTO, Anthony Skinner, “Riak is absolutely the best tool for the job. It was extremely straightforward to bring into production and every upgrade we’ve done has been seamless. Since we’re dealing with real-time campaign data, time is of the essence. We have been very impressed by how quickly Riak is able to redistribute data across nodes, especially when we need to add nodes to handle unexpected growth spikes.”

Moz currently has an 11 node Riak cluster. With 27,000 customers, each with many campaigns, they see a lot of data moving in and out of the system. Since the data is collected and provided to each customer, Moz archives a small subset of this data and has opted to keep the long-term storage below 5TB. The cluster itself has a current capacity of 8TB, with 700GB nodes, and, given that adding a node is relatively simple and painless, they haven’t needed to pre-provision much excess capacity.

Moz has a polyglot setup and uses a little bit of everything. Based on Riak’s straightforward nature, operational ease, and scalability, they will definitely be looking to Riak in the future as other use cases arise.