Illustration Image
Company: Constant Contact
Industry: Marketing and Advertising
Functional Use Case: Email tracking/Analytics, Time Series

Tracking Millions of Messages Per Minute with Cassandra

Constant Contact serves small businesses with a powerful and agile set of data-driven services that help them stand up against larger competitors using Cassandra.
Constant Contact provides online marketing tools, including email marketing, social media marketing, event marketing, local deals, digital storefronts, and online surveys to help small businesses generate new customers, repeat business, and referrals. With over a half-million consumer base- Constant Contact consistently ranks as one of the top email senders worldwide.

The Challenge

Constant Contact has been in business for more than 12 years and specializes in servicing small organizations, with 70% of their customers having ten or fewer employees. Constant Contact strategically manages IT expenditures to deliver a very low-cost service to their customer base- without sacrificing the quality or reliability of service.

Their primary challenge was scaling legacy database systems to support extreme volumes of email and social data captured by their solution. Previously relying on an IBM DB2 relational database, the maximum duration to store historical detail data was limited to 90 days. Constant Contact’s technical team needed to maintain at least two years’ worth of data to support new social media products and provide customers with access to data for analysis in a cost-effective manner. Constraints of legacy systems forced the organization to evaluate modern technologies.

The Solution

The need for scale, speed and support for multiple data centers brought the technical team at Constant Contact to Apache Cassandra. “To do what we need to do today without Cassandra would be cost-prohibitive and significantly harder to manage operationally,” said David Connors, Vice President of Operations.

In describing their criteria and search for an RDBMS replacement, Connors said, “Speed, scalability, and multi-datacenter support were primary criteria when choosing Cassandra over other NoSQL providers. Additionally, the ease of development was a major plus. In comparison, other options quickly fell out of the running.”

Mark Schena, manager of systems automation at Constant Contact, points out that another key reason for choosing Cassandra was operational simplicity in managing a very complex, distributed database system. “It hasn’t been a really intensive system to operate. From a management perspective, we do not spend a lot of time in the system. As a result, I would describe our experience with Cassandra to be effortless.”

When choosing Datastax, vibrancy in the open-source Cassandra community was another motivating factor per Jim Ancona, systems architect at Constant Contact.

The Results

Constant Contact manages six 72-node clusters that span two data centers seamlessly, with plans to add another production database cluster. Cassandra solves the most critical necessities of Constant Contact: content storage and activity tracking. The content storage application holds all user-generated content for email campaigns and other marketing products, with the data being HTML in nature. The tracking application deals with time-series data. It manages all customer interactions and actions, including clicks, opens, sends, and other types of event data.

Although Cassandra has been the primary data store, the team introduces analytic nodes into their configuration simply done with DataStax Enterprise. Connors says they are looking to scale their systems that currently handle several million database transactions per minute to handling ten times that amount.

Stack Includes: Apache Cassandra

Want to share your use case?

Planet Cassandra is the home page for the Cassandra Community, where everyone in the community can share their use cases.

Show off what you've done & help others learn following your example & contribution.

Become part of our
growing community!
Welcome to Planet Cassandra, a community for Apache Cassandra®! We're a passionate and dedicated group of users, developers, and enthusiasts who are working together to make Cassandra the best it can be. Whether you're just getting started with Cassandra or you're an experienced user, there's a place for you in our community.
A dinosaur
Planet Cassandra is a service for the Apache Cassandra® user community to share with each other. From tutorials and guides, to discussions and updates, we're here to help you get the most out of Cassandra. Connect with us and become part of our growing community today.
© 2009-2023 The Apache Software Foundation under the terms of the Apache License 2.0. Apache, the Apache feather logo, Apache Cassandra, Cassandra, and the Cassandra logo, are either registered trademarks or trademarks of The Apache Software Foundation.

Get Involved with Planet Cassandra!

We believe that the power of the Planet Cassandra community lies in the contributions of its members. Do you have content, articles, videos, or use cases you want to share with the world?